Professional Documents
Culture Documents
ESL Design
ESL Design
2008. 10
(joonhwan.yi@kw.ac.kr) joonhwan.yi@kw.ac.kr)
ESL design
Background Electronic system level (ESL) design ESL design tasks
ESL design
Background
10,000 10,000,000 1,000 1,000,000 100 100,000 10 10,000 1 1,000 0.1 100
xx x xx x x x
100,000 100,000,000
1,000 1,000,000 58%/Yr. compounded Complexity growth rate 100 100,000 10 10,000 21%/Yr. compound Productivity growth rate 1 1,000 0.1 100 0.01 10
0.01 10 0.001 1
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
Example: Mobile convergence
Voice + broadcasting + entertainment + camera + security + etc.
On-chip communications/computations consume less power than off-chip ones
2009
10,000 10,000,000
Architecture Matters
Complex design means more functionality, more data movement, more computation on SoCs
The performance of each IP as well as SoC architecture matters
IP HW-SW interaction =
Architecture design based on scientific analysis is necessary
SoC
Level of abstractions Electronic system level RTL Gate level Transistor level
Languages C/C++/SystemC
: 2005 ITRS
ESL
Register accurate level Bus-functional level Both (with or without cycle accuracy) are possible Signal Transaction Function calls C/C++/SystemC
Algorithm level
Behavior level
Cycle accurate
No timing
Signal (bit-level)
Function calls
C/C++/SystemC
abstraction layer
1: bus-functional transaction level model w/ cycle-accuracy () 2: bus-functional transaction level model w/o cycle-accuracy (SW )
Memory
On-chip communication
Software
Memory controller
CPU CPU
SoC
USIM SDIO USB
Software
PCMCIA Modem
Host
Host
Host
Host
Basestation
ESL Design
Efficient hardware-software co-design in early design stage
/ hardware-software co-simulation
RTL
Late ( ~ )
FGPA
Very late ( ~ )
Architecture exploration
ESL
Behavioral synthesis
RTL
Logic/physical synthesis
Gate-level
Logic/physical synthesis
Layout
Layout
Infeasible region
Simulation speed
Architecture exploration @ ESL
Abstraction
Behavioral synthesis
RTL model
Flexibility
Logic/physical synthesis
Gate-level model
Layout
Trade-offs between accuracy, analysis time, modeling efforts, and design flexibility between abstraction levels
ESL Design
Requirements HW IPs SW IPs
IP
(algorithm / SW)
IPs
+
ESL 1
HW-SW partitioning
Architecture exploration
ESL 2
Architecture
Initial architecture
Architecture design
Architecture design
ESL 3
Implementation
HW-SW coverification
Implementation
Verification
Verification
Problem?
No
Success
Architecture Exploration
P Performance Legend Initial architecture
Intersection of the curve within a circle represents the set of optimum architecture solutions searchable at the abstraction level
Cost
HardwareHardware-Software Co-Design Co
Sequential development: hardware software
Old flow
Architecture
Hardware
Software
New fl N flow
10
HardwareHardware-Software Partitioning
Definition
A process that makes decisions whether a required functionality of a system is more advantageously implemented in hardware or in software Fundamental phase of hardware-software co-design p g
ESL design
No
Yes
ESL design
Is it optimum? Yes
No
Software
11
Performance Analysis
ESL design tool data
Function call trace F i ll Cache hit rate Function execution time Variable value
Information (Data )
Function call overhead F i ll h d Cache size optimization Software execution time Software bug
SW
HW
System
HW & SW data
RTL Generation
Behavioral synthesis
Automatic ESL to RTL mapping
Architecture design
ESL design
Architecture exploration
ESL design
Behavioral synthesis (RTL generation)
Initial software
Hardware design
Software design
Short time for RTL generation Short time for HW-SW co-verification
12
Power Analysis
Why ESL power analysis?
Realistic scenario for power analysis Short analysis time for power analysis Base for system (HW & SW) power optimization
ESL RTL
Analysis speed
Unrealistic scenario
Gate-level Transistor-level
Analysis
13