Title: Hi-PBD: Hierarchical Platform-Based Design Method
1International Conference on System-on-a-Chip
Hi-PBD Hierarchical Platform-Based Design
Method
----research implementation
Speaker Zhihui Xiong
VLSI Lab. National University of Defense
Technology
Changsha, China
Jihua Chen , Zhihui Xiong, Sikun Li
2Outline
- mainstream VLSI design methodologies
- existing co-design environments
- YH-PBDE Implementation of Hi-PBD method
3- mainstream VLSI design methodologies
- Timing-Driven Design TDD, deep sub-micro ASIC
design
- Block-Based Design BBD, supports IP reuse
- Platform-Based Design PBD, supports system
reuse, including reuse of IPs, models, tools,
libraries and design flows
4- existing co-design environments
- VULCAN by R. K. Gupta, 1993, Stanford
University.
- COSYMA by R. Ernst, 1996, Tech. Univ. of
Braunschweig
- since then, others including Ptolemy, Polis,
PeaCE,
- SCE by D. D. Gajski, 2003, TIMA Lab. France
- Cadence VCC
- CoWare N2C
- Synopsys CoCentric Studio
5- no real separation of design concerns
- no separation of function from structure
- no separation of computation from communication
- little support for Platform-Based Design
methodology
- mainly support IP level reuse, not system level
reuse
- only support some phases of SoC design, and
little support for the overall phases
6Outline
- more words on Virtual Components Level
- YH-PBDE Implementation of Hi-PBD method
7first of all, lets see a true story
One day, Bill Gates discovered a big bag of
dollars. However, it is too high to get it
directly.
8first of all, let see a true story (cont.)
After some consideration, he decided to use a
ladder.
9first of all, let see a true story (cont.)
Then, he climbed towards the dollars.
10first of all, let see a true story (cont.)
Finally, he got the bag of dollars, and became
the richest man in the world.
11now, a similar thing happens with SoC design
since too many things to be done
- hardware interface synthesis
- embedded software generation
12now, a similar thing happens with SoC design
- hardware interface synthesis
- embedded software generation
13- to achieve system level reusability
14- overall structure (cont.)
system modeling level (SML)
- describes function and performance of SoC at
algorithm level
- system modeling based on CTG model
- CTG Constrained Taskflow Graph
- Hierarchical FSM coarse grained CDFG
performance constraint
15- overall structure (cont.)
Virtual Components Level (VCL)
- abstracts the RTL SoC system architecture
- serves as a connecting link between the system
modeling level and real components level
- avoids direct synthesis from system model to
the final SoC target
- virtual hardware components (VHwIPs)
- virtual software components (VSwIPs)
- virtual communicator components (VCommuIPs)
16- overall structure (cont.)
Real Components Level (RCL)
- HW part hardware accelerator modules (such as
co-processor, DSP, ASIC), Input/Output controller
devices
- SW part RTOS, device driver, application
processes
- fast prototyping based on FPGA board, for RTL
simulation and performance analysis
17- overall structure (cont.)
2 design mappings ---- mapping L0-L1
- the mapping from System Modeling Level to
Virtual Components Level, we call it Design
Planning
- some tasks are partitioned to hardware
- other tasks are partitioned to software
18- overall structure (cont.)
2 design mappings ---- mapping L1-L2
- mapping from Virtual Components Level to Real
Components Level, we call it Virtual-Real
Synthesis
- virtual hardware is synthesized to real (RTL)
hardware
- virtual software is synthesized to embedded
process
- virtual communicator is synthesized to
- On-Chip Bus
19- more words on Virtual Components Level
virtual component model
- construct virtual design
- for partitioning
- for synthesis
- for software generation
- for co-simulation
- for verification evaluation
20- more words on Virtual Components Level (cont.)
modeling hardware at VCL
- modeling of these two modules
21- more words on Virtual Components Level (cont.)
modeling software at VCL
- wrap software process using SystemC module
- process (task) template in uC/OS II
- variables and external APIs are mapped to ports
- normal statements are mapped to behaviors
- RTOS services are mapped to SystemC core
22- more words on Virtual Components Level (cont.)
modeling communication at VCL
- message transmitting flow
step1 consumer 2 requires data from producer 0
step2 communicator transmits the message to
producer 0
step3 producer 0 receives data requirement
step4 producer 0 sends data to consumer 2
step5 communicator transmits the message to
consumer 2
step 6 consumer 2 receives the data
23- supports system level reuse well
- enables reuse of design templates on each design
level
- enable reuse of mapping process mapping results
- achieves separation of design concerns
- separation of function from structure
- separation of computation from communication
24Outline
- YH-PBDE Implementation of Hi-PBD method
- performance power estimation
25- YH-PBDE Implementation of Hi-PBD method
- modeling/simulation mapping tools
- do modeling and simulation at the three design
levels
- do mapping between design levels
26- YH-PBDE Implementation of Hi-PBD method
- performance power estimation
- apply different estimation methods for different
levels
- estimation at System Modeling Level
- based on combination of SimpleScalar and
Sim-Wattch
- and made some improvements
- estimation at Virtual Components Level
- establish performance character for each virtual
component
- establish power character for each virtual
component
- while simulating on SystemC core, calculate
performance and power
- estimation at Real Components Level
- performance are estimated via FPGA development
suites
- Power(system) Power(Sw) Power(Hw)
27- YH-PBDE Implementation of Hi-PBD method
system modeling, task attribute editor
28- YH-PBDE Implementation of Hi-PBD method
system modeling, taskFSM editor
29- YH-PBDE Implementation of Hi-PBD method
virtual components editor
30- YH-PBDE Implementation of Hi-PBD method
real components editor
31- YH-PBDE Implementation of Hi-PBD method
partitioning interface
32Outline
- YH-PBDE Implementation of Hi-PBD method
33- Hi-PBD method improves high level design
efficiency
- Introduction of Virtual Components Level
makes it more easy to do SoC high level design
- The implemented environment supports Hi-PBD well
- to do more research on Virtual-Real Synthesis
- to do more work on embedded software generation
- to do more work on power-aware Hi-PBD method
34Thank you