Post on 06-May-2020
1A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
Pablo Santos / IUMA - ULPGC27 Jun 2002 CamelliaIST-2001-34410
Key Action IV.1.1
An introduction to CoCentric
Las Palmas de G. C. , SpainJun, 27th, 2002
2
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Agenda
• System-level SoC design
• What is SystemC?
• CoCentric System Studio– SystemC based designs verification
• CoCentric SystemC Compiler– SystemC based design implementation
2A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
3
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
System-level SoC design
• System-level language, tools and methodology needed.
Next: synthesis
SoC design
4
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Early co-design of SoC architecture
3A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
5
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SoC verification gaps
• Different languages are spoken– at different levels of abstraction– by HW/SW/system people
• Executable platform models become available too late in the design cycle
• Need to improve SW integration– more speed and easier SW
debugging needed
SystemC2.0
TLM
6
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
What is SystemC ?
• Modelling language for HW / SW systems
• Implemented as a C++ class library
• Delivered in two versions– SystemC 1.0 for hardware designs– SystemC 2.0 for complete SoC design
4A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
7
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SystemC 2.0: the solution to SoC verification gaps
• Single language, multiple levels of abstraction– Remove the language barrier
• Ease of modeling @ transaction level– Get to executable platform model ASAP
• Simulation speed @ transaction level– Enable early HW/SW integration and verification
8
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SystemC 2.0• Design at multiple levels of abstraction
5A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
9
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SystemC 2.0
• No need to convert the whole design in one single step into a RTL model.
• No need to glue together different simulators for co-simulation.
10
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
System level design landscapeSynopsys CoCentric tools
C/SystemC design and verification solution that spans from concept to implementation in HW and SW
6A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
11
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
CoCentric tools
• CoCentric System Studio– SystemC simulator– Verification & Analisis of algorithms, architectures, HW and SW– powerfull debugging– Support of different levels of abstraction
• CoCentric SystemC Compiler– Closes de gap from system design to gates– Provides HW synthesis from SystemC– QoR identical to using RTL starting point– Allows early and more complete HW/SW verification
12
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
CoCentric SoC Design Flow
7A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
13
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
CoCentric System Studio Architecture
14
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Smooth design & verification flow
8A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
15
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Steps in SoC design
• Design entry– data flow graphs / control flow graphs– blocks – SystemC code
• Simulation & Debugging– Block level (micro-debugging)– System level (macro-debugging)
• Implementation– HW & SW blocks
16
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
CoCentric System Studio main workspace
Interface
Header
Source
Schematic
Symbol
Hierarchy browser Log window
Main screen
9A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
17
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Design entry: example FSM
18
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Simulating with System Studio
• Automatic model detection (dataflow, FSM, SystemC)• Optimized simulation• Allows simulation of mixed architectural & algorithmic models• Works with leading simulation tools like:
– VCS, Sirocco– ModelSim– Verilog-XL– Matlab
• Interactive simulation control panel• Also simulation control by SCFs
10A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
19
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Simulation & Debugging
20
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Debugging of HW in the system context
11A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
21
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Debugging of SW in the system context
22
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Lets see an example
• Simple adder– Untimed functional modelling– Timed functional modelling– Transaction level modelling– Pin accurate modelling
12A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
23
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Adder example: untimed functional model
24
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Adder example: timed functional model
13A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
25
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Adder example: Transaction level model
26
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Adder example: pin level modelling
14A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
27
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Implementing individual blocks
• Once the algorithm has been designed and simulated we face implementation:– SW implementation
• simply continue down the design flow trough traditional softwarecompilers.
– HW implementation• just replace the block by its description in:
– Behavioral SystemC– RTL SystemC– Verilog gate-level
28
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Implementation
• CSS enables the fastest route to implementation of HW blocks rigth from the system level of abstraction.
• For unit rate algorithms specified using DFGs, FSMs and leaf level C-based models CSS automatically generates synthesizable SystemC code.
• CSS also generate scripts to aid synthesis using SystemCCompiler and Design Compiler.
• This code output will be the input for CoCentric SystemCCompiler to continue down the implementation process.
15A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
29
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
CoCentric SystemC Compiler
• SystemC Compiler does complete HW synthesis from SystemC
• Produce same QoR as traditional HDL synthesis does
• Fits into any implementation flow: FPGAs, ASICs, SoC
• It´s tightly integrated with Synopsys synthesis technologies in Design Compiler and Physical Compiler
30
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
How to use SystemC Compiler
• Our example: The Reed-Solomon decoder
16A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
31
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Behavioral SystemC
• Mathematical algorithm C++ SystemC
32
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
RTL SystemC
• Structural description of the block
17A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
33
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SystemC Design Flow
34
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
The synthesis script
Select library
Select RTL coding style
Set clock frequency
Select wire load model
Synthesize
Write .db and .v output
18A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
35
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Synthesis results
36
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
SystemC Compiler: summary
• Fast bridge from specification to implementation by using SystemC
• Links with FPGA design flows enable fast prototiping
• Same QoR as traditional HDL synthesis
19A Camellia Hand-OutIST-2001-34410 Key Action IV.1.1
37
CamelliaPablo Santos / IUMA - ULPGC27 Jun 2002
IST-2001-34410Key Action IV.1.1
Conclusions
• SystemC solves SoC verification gaps
• CoCentric System Studio provides fast and efficient SystemC-based designs verification
• CoCentric SystemC Compiler provides HW synthesis directly from BL/RTL SystemC code
• Both System Studio and SystemC Compiler provide a complete SoC design flow based on SystemC
Pablo Santos / IUMA - ULPGC27 Jun 2002 CamelliaIST-2001-34410
Key Action IV.1.1
Any question?
Thanks!