SlideShare une entreprise Scribd logo
1  sur  29
Presentation on-
Behavioral Synthesis &
System C
Presented by-
Mukit Ahmed Chowdhury (14-97963-2)
 Behavioral synthesis
 SystemC
 What is behavioral synthesis?
 Why behavioral synthesis?
 Synthesis procedure
 Data flow optimization
 Scheduling
 Clustering
 Allocation and binding
 Control logic generation
 limitations
 A synthesis process where behavior of a
hardware is described.
 Gates etc are not defined or controlled by
the designer.
 Not specific for a certain type of technology.
 Easier to use, but control over the design is
less.
 Complicated constraints
 timing constraints
 bus protocols
 pipelining
 physical constraints
 registers and ALUs are expensive
 communications (muxes, wiring) are expensive
 packaging hierarchy
 Heterogeneity
 separation of data and control logic
 wide range of RTL primitives
(ALU, ROM, MUX)
 Parse behavioral description into data flow graph
 equivalent to compiler intermediate code
 Optimize data flow graph
 compiler-like operations
 Schedule operations
 assign operations to clock cycles (in synchronous system)
 Cluster operations
 group connected components together
 Allocate RTL resources
 place values in registers
 place operations in ALUs
 data transfers on wires and MUXs
 Generate control logic
 microcode, PLA, random logic
 fit to clock cycles
 Transform data flow
 minimize cost (operations)
 minimize delay (path length)
 Compiler-like transformations
 loop unrolling
 code motion
 strength reduction
 Assign operations to clock cycles
 balance speed vs. cost
D
B C
AA
1
2
3
D
B
C
A
A
3
4
5
1
2
• 3 clock cycles
• 2 ALUs
• 5 clock cycles
• 1 ALU
 Cluster operations based on connectivity
 connected components
 Uses
 guide later package partitioning
 guide binding to RTL modules
 guide chip place and route
 Map data flow to RTL components
 allocate operator and register components
 bind operations and values to them
 minimize total cost of components
 Cost models
 cost for different operators
 cost for register bits
 determined by RTL implementation experience
 Approach
 NP-hard search problem
 related to graph covering
 cover data flow graph with RTL modules
 minimax - EMUCS
 maximum munching - like code generation
 tricky trade-offs
 e.g. adder and subtractor vs. one ALU
 State Machine
 transformed along with data flow
 specify clock cycles, signal values
 inputs from conditionals
 outputs for muxes, ALUs, etc.
 Clocking
 gating clocks with control values
 Approach
 ROM microcode
 PLA state machines
 random logic state machines
 state assignment, optimization left for RTL synthesis
 Easier to use
 No need to think about what are the
components to be used, just describe the
desired behavior
 Limits designer to specify parts, component
types etc.
 For a tailored chip, consumers often have
certain specifications which might not be
met by behavioral synthesis.
 What is System C
 History
 Language features
 How System C works
 System C vs System Verilog
 Vendors supporting System C
 Conclusion
 C++ with HDL features.
 A set of classes and macros which can
provide event driven simulation interfaces.
 Can simulate concurrent processes described
in plain c++ syntax.
 Object oriented design partitioning and
template classes
 Can use all the data types offered in c++ and
some other ones supported by system c
library.
In simple words, system c is actually c++
language developed to be used as a HDL. It is
more likely to be a system level modeling
language.
 1999: ARM Ltd., COware, Synopsys and CynApps
teamed up to develop SystemC (CynApps later
became Forte Design Systems) to launch its first
draft version in 1999.
 27th September, 1999: open systemC initiative
announced.
 1st March,2000: systemC V0.91 released.
 28th March,2000: systemC V 1.0 released.
 12th December, 2005: IEEE approved the
IEEE1666-2005 standard for systemC.
 10th November, 2011: IEEE approved the
IEEE1666-2011 standard for systemC.
 Modules
Modules are the basic building blocks of a SystemC
design hierarchy. A SystemC model usually consists of
several modules which communicate via ports. The
modules can be thought of as a building block of
SystemC.
 Ports
Ports allow communication from inside a module to
the outside (usually to other modules) via channels.
 Exports
Exports incorporate channels and allow
communication from inside a module to the outside
(usually to other modules).
 Processes
Processes are the main computation elements. They
are concurrent.
 Channels
Channels are the communication elements of
SystemC. They can be either simple wires or
complex communication mechanisms
like FIFOs or bus channels.
 Elementary channels:
signal: the equivalent of a wire
buffer
fifo
mutex
semaphore
 Interfaces
Ports use interfaces to communicate with
channels.
 Events
Events allow synchronization between processes
and must be defined during initialization.
 Data types
SystemC introduces several data types which
support the modeling of hardware.
Extended standard types:
sc_int<n> n-bit signed integer
sc_uint<n> n-bit unsigned integer
sc_bigint<n> n-bit signed integer for n>64
sc_biguint<n> n-bit unsigned integer for n>64
 Logic types:
sc_bit 2-valued single bit
sc_logic 4-valued single bit
sc_bv<n> vector of length n of sc_bit
sc_lv<n> vector of length n of sc_logic
 Fixed point types:
sc_fixed<> template signed fixed point
sc_ufixed<> template unsigned fixed point
 Native c/c++ types
 Data types for system modeling
 2 value (0/1) logic and logic vector
 4 value (0,1, Z, X) logic and logic vector
 Signed and unsigned integer
 Fixed point types
SystemC System Verilog
•(C++) + Hardware modeling
(Concurrency, timing, signal,
port, etc)
•Popular in Research Areas
•Most Benchmark models are
also written in C
•Good for modeling and
designing of huge and complex
digital system
•Good features of higher
language like Polymorphism
•Learning effort: Easier (for
New)
•Extension of Verilog which is
familiar with Verilog engineer
•Popular in Industry
•Many hardware based libraries
• Synthesizable
•Learning effort: Middle (for
New)
•Not good for hardware
modeling as much as VHDL
•Not good for modeling and
designing huge size system
(Complexity of design is higher
than SystemC)
 Aldec
 Cadence Design Systems
 Confluent Design
 CoWare
 Forte Design Systems
 Mentor Graphics
 OVPsim: provided by Open Virtual Platforms initiative
with over 100 embedded processor core models used
in SystemC based virtual platforms
 NEC CyberWorkBench
 Synopsys
 Catapult C from Calypto supports SystemC, C++ and C
as input, and also generates SystemC for verification.
 Behavioral synthesis: considers behavior of
the system, easy, less control over design.
 systemC: HDL in c++, easy to learn, popularly
used in researches, allows features from high
level programming.
 1666-2005 — IEEE Standard System C Language Reference
Manual. 2006. doi:10.1109/IEEESTD.2006.99475. ISBN 0-7381-
4871-7.
 J. Bhasker, ”A SystemC Primer”, Second Edition, Star Galaxy
Publishing, 2004. ISBN 0-9650391-2-9
 Frank Ghenassia (Editor), ”Transaction-Level Modeling with
SystemC: TLM Concepts and Applications for Embedded
Systems”, Springer 2006, ISBN 0-387-26232-6
 www.forteds.com
 A presentation on-” Transaction level communication between
systemC and system verilog”, presented by- Rich Edeleman and
Mark Glasser, Verification technologists, Mentor Graphics.
QUESTIONS?
mukit_ahmed@outlook.com

Contenu connexe

Tendances

Synthesizing HDL using LeonardoSpectrum
Synthesizing HDL using LeonardoSpectrumSynthesizing HDL using LeonardoSpectrum
Synthesizing HDL using LeonardoSpectrumHossam Hassan
 
ALU arithmetic logic unit
ALU  arithmetic logic unitALU  arithmetic logic unit
ALU arithmetic logic unitKarthik Prof.
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture Maurizio Donna
 
Logic synthesis,flootplan&placement
Logic synthesis,flootplan&placementLogic synthesis,flootplan&placement
Logic synthesis,flootplan&placementshaik sharief
 
Glow introduction
Glow introductionGlow introduction
Glow introductionYi-Hsiu Hsu
 
VLSI Study experiments
VLSI Study experimentsVLSI Study experiments
VLSI Study experimentsGouthaman V
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1Béo Tú
 
4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design FlowMaurizio Donna
 
Single instruction multiple data
Single instruction multiple dataSingle instruction multiple data
Single instruction multiple dataSyed Zaid Irshad
 
Introduction to Computer Architecture & Organization
Introduction to Computer Architecture & OrganizationIntroduction to Computer Architecture & Organization
Introduction to Computer Architecture & Organizationbabuece
 
VLSI subsystem design processes and illustration
VLSI subsystem design processes and illustrationVLSI subsystem design processes and illustration
VLSI subsystem design processes and illustrationVishal kakade
 
3.FPGA for dummies: HDL languages
3.FPGA for dummies: HDL languages3.FPGA for dummies: HDL languages
3.FPGA for dummies: HDL languagesMaurizio Donna
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesigndestruck
 
VLSI subsystem design processes
VLSI  subsystem design processes VLSI  subsystem design processes
VLSI subsystem design processes Vishal kakade
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flowAnish Gupta
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languagesAkhila Rahul
 
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architectureCArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architectureAlessandro Bogliolo
 

Tendances (19)

Synthesizing HDL using LeonardoSpectrum
Synthesizing HDL using LeonardoSpectrumSynthesizing HDL using LeonardoSpectrum
Synthesizing HDL using LeonardoSpectrum
 
ALU arithmetic logic unit
ALU  arithmetic logic unitALU  arithmetic logic unit
ALU arithmetic logic unit
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture
 
Logic synthesis,flootplan&placement
Logic synthesis,flootplan&placementLogic synthesis,flootplan&placement
Logic synthesis,flootplan&placement
 
Verilog
VerilogVerilog
Verilog
 
Glow introduction
Glow introductionGlow introduction
Glow introduction
 
VLSI Study experiments
VLSI Study experimentsVLSI Study experiments
VLSI Study experiments
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1
 
4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow4.FPGA for dummies: Design Flow
4.FPGA for dummies: Design Flow
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 
Single instruction multiple data
Single instruction multiple dataSingle instruction multiple data
Single instruction multiple data
 
Introduction to Computer Architecture & Organization
Introduction to Computer Architecture & OrganizationIntroduction to Computer Architecture & Organization
Introduction to Computer Architecture & Organization
 
VLSI subsystem design processes and illustration
VLSI subsystem design processes and illustrationVLSI subsystem design processes and illustration
VLSI subsystem design processes and illustration
 
3.FPGA for dummies: HDL languages
3.FPGA for dummies: HDL languages3.FPGA for dummies: HDL languages
3.FPGA for dummies: HDL languages
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
 
VLSI subsystem design processes
VLSI  subsystem design processes VLSI  subsystem design processes
VLSI subsystem design processes
 
vlsi design flow
vlsi design flowvlsi design flow
vlsi design flow
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languages
 
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architectureCArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
 

Similaire à Presentation on Behavioral Synthesis & SystemC

System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J GreavesSatya Harish
 
Embedded System
Embedded SystemEmbedded System
Embedded Systemsurendar
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?Hannes Tschofenig
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of ProjectsDaniele Pinto
 
The embedded systems Model
The embedded systems ModelThe embedded systems Model
The embedded systems ModelAJAL A J
 
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...Design World
 
Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with SystemcMarc Engels
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 

Similaire à Presentation on Behavioral Synthesis & SystemC (20)

System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Digital_system_design_A (1).ppt
Digital_system_design_A (1).pptDigital_system_design_A (1).ppt
Digital_system_design_A (1).ppt
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Dsa00170624
Dsa00170624Dsa00170624
Dsa00170624
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of Projects
 
The embedded systems Model
The embedded systems ModelThe embedded systems Model
The embedded systems Model
 
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
 
Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with Systemc
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
UNIT 1.docx
UNIT 1.docxUNIT 1.docx
UNIT 1.docx
 

Dernier

System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 

Dernier (20)

System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 

Presentation on Behavioral Synthesis & SystemC

  • 1. Presentation on- Behavioral Synthesis & System C Presented by- Mukit Ahmed Chowdhury (14-97963-2)
  • 3.  What is behavioral synthesis?  Why behavioral synthesis?  Synthesis procedure  Data flow optimization  Scheduling  Clustering  Allocation and binding  Control logic generation  limitations
  • 4.  A synthesis process where behavior of a hardware is described.  Gates etc are not defined or controlled by the designer.  Not specific for a certain type of technology.  Easier to use, but control over the design is less.
  • 5.  Complicated constraints  timing constraints  bus protocols  pipelining  physical constraints  registers and ALUs are expensive  communications (muxes, wiring) are expensive  packaging hierarchy  Heterogeneity  separation of data and control logic  wide range of RTL primitives (ALU, ROM, MUX)
  • 6.  Parse behavioral description into data flow graph  equivalent to compiler intermediate code  Optimize data flow graph  compiler-like operations  Schedule operations  assign operations to clock cycles (in synchronous system)  Cluster operations  group connected components together  Allocate RTL resources  place values in registers  place operations in ALUs  data transfers on wires and MUXs  Generate control logic  microcode, PLA, random logic  fit to clock cycles
  • 7.  Transform data flow  minimize cost (operations)  minimize delay (path length)  Compiler-like transformations  loop unrolling  code motion  strength reduction
  • 8.  Assign operations to clock cycles  balance speed vs. cost D B C AA 1 2 3 D B C A A 3 4 5 1 2 • 3 clock cycles • 2 ALUs • 5 clock cycles • 1 ALU
  • 9.  Cluster operations based on connectivity  connected components  Uses  guide later package partitioning  guide binding to RTL modules  guide chip place and route
  • 10.  Map data flow to RTL components  allocate operator and register components  bind operations and values to them  minimize total cost of components  Cost models  cost for different operators  cost for register bits  determined by RTL implementation experience  Approach  NP-hard search problem  related to graph covering  cover data flow graph with RTL modules  minimax - EMUCS  maximum munching - like code generation  tricky trade-offs  e.g. adder and subtractor vs. one ALU
  • 11.  State Machine  transformed along with data flow  specify clock cycles, signal values  inputs from conditionals  outputs for muxes, ALUs, etc.  Clocking  gating clocks with control values  Approach  ROM microcode  PLA state machines  random logic state machines  state assignment, optimization left for RTL synthesis
  • 12.  Easier to use  No need to think about what are the components to be used, just describe the desired behavior  Limits designer to specify parts, component types etc.  For a tailored chip, consumers often have certain specifications which might not be met by behavioral synthesis.
  • 13.  What is System C  History  Language features  How System C works  System C vs System Verilog  Vendors supporting System C  Conclusion
  • 14.  C++ with HDL features.  A set of classes and macros which can provide event driven simulation interfaces.  Can simulate concurrent processes described in plain c++ syntax.  Object oriented design partitioning and template classes  Can use all the data types offered in c++ and some other ones supported by system c library.
  • 15. In simple words, system c is actually c++ language developed to be used as a HDL. It is more likely to be a system level modeling language.
  • 16.  1999: ARM Ltd., COware, Synopsys and CynApps teamed up to develop SystemC (CynApps later became Forte Design Systems) to launch its first draft version in 1999.  27th September, 1999: open systemC initiative announced.  1st March,2000: systemC V0.91 released.  28th March,2000: systemC V 1.0 released.  12th December, 2005: IEEE approved the IEEE1666-2005 standard for systemC.  10th November, 2011: IEEE approved the IEEE1666-2011 standard for systemC.
  • 17.  Modules Modules are the basic building blocks of a SystemC design hierarchy. A SystemC model usually consists of several modules which communicate via ports. The modules can be thought of as a building block of SystemC.  Ports Ports allow communication from inside a module to the outside (usually to other modules) via channels.  Exports Exports incorporate channels and allow communication from inside a module to the outside (usually to other modules).  Processes Processes are the main computation elements. They are concurrent.
  • 18.  Channels Channels are the communication elements of SystemC. They can be either simple wires or complex communication mechanisms like FIFOs or bus channels.  Elementary channels: signal: the equivalent of a wire buffer fifo mutex semaphore  Interfaces Ports use interfaces to communicate with channels.
  • 19.  Events Events allow synchronization between processes and must be defined during initialization.  Data types SystemC introduces several data types which support the modeling of hardware. Extended standard types: sc_int<n> n-bit signed integer sc_uint<n> n-bit unsigned integer sc_bigint<n> n-bit signed integer for n>64 sc_biguint<n> n-bit unsigned integer for n>64  Logic types: sc_bit 2-valued single bit sc_logic 4-valued single bit sc_bv<n> vector of length n of sc_bit sc_lv<n> vector of length n of sc_logic
  • 20.  Fixed point types: sc_fixed<> template signed fixed point sc_ufixed<> template unsigned fixed point
  • 21.  Native c/c++ types  Data types for system modeling  2 value (0/1) logic and logic vector  4 value (0,1, Z, X) logic and logic vector  Signed and unsigned integer  Fixed point types
  • 22.
  • 23.
  • 24.
  • 25. SystemC System Verilog •(C++) + Hardware modeling (Concurrency, timing, signal, port, etc) •Popular in Research Areas •Most Benchmark models are also written in C •Good for modeling and designing of huge and complex digital system •Good features of higher language like Polymorphism •Learning effort: Easier (for New) •Extension of Verilog which is familiar with Verilog engineer •Popular in Industry •Many hardware based libraries • Synthesizable •Learning effort: Middle (for New) •Not good for hardware modeling as much as VHDL •Not good for modeling and designing huge size system (Complexity of design is higher than SystemC)
  • 26.  Aldec  Cadence Design Systems  Confluent Design  CoWare  Forte Design Systems  Mentor Graphics  OVPsim: provided by Open Virtual Platforms initiative with over 100 embedded processor core models used in SystemC based virtual platforms  NEC CyberWorkBench  Synopsys  Catapult C from Calypto supports SystemC, C++ and C as input, and also generates SystemC for verification.
  • 27.  Behavioral synthesis: considers behavior of the system, easy, less control over design.  systemC: HDL in c++, easy to learn, popularly used in researches, allows features from high level programming.
  • 28.  1666-2005 — IEEE Standard System C Language Reference Manual. 2006. doi:10.1109/IEEESTD.2006.99475. ISBN 0-7381- 4871-7.  J. Bhasker, ”A SystemC Primer”, Second Edition, Star Galaxy Publishing, 2004. ISBN 0-9650391-2-9  Frank Ghenassia (Editor), ”Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems”, Springer 2006, ISBN 0-387-26232-6  www.forteds.com  A presentation on-” Transaction level communication between systemC and system verilog”, presented by- Rich Edeleman and Mark Glasser, Verification technologists, Mentor Graphics.