An introduction to CoCentricnunez/clases-micros-para-com/clases... · 2002-09-18 · An...

Post on 06-May-2020

0 views 0 download

Transcript of An introduction to CoCentricnunez/clases-micros-para-com/clases... · 2002-09-18 · An...

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!