SOC Design Flow
Challenges of SoC Era
• Deign complexity
Institute of Electronics, National Chiao Tung University
– Validation & Verification
– Design space exploration
– Integration
– Timing & power
– Testing
– Packaging
• Time to market
• The cost
1
From Requirement to Deliverables
Hierarchy Hierarchy
Institute of Electronics, National Chiao Tung University
Refinemenet Validaton
Customer Product
Needs System Vaildation "Pattern" Deliver
System Function System Function
Architecture Architecture
Verification
Behavioral Behavioral
RTL Test
Patern
Logical Netlist Logical Device
Layout
Wafer
Abstract Mask Real
Fab
2
Five SoC Design Issues
• To manage the design complexity
Institute of Electronics, National Chiao Tung University
– Co-design
– IP modeling
– Timing closure
– Signal Integrity
– Interoperability
3
How to Conquer the Complexity
• Use a known real entity
Institute of Electronics, National Chiao Tung University
– A pre-designed component (reuse)
– A platform
• Partition
– Based on functionality
– Hardware and software
• Modeling
– At different level
– Consistent and accurate
4
SoC Design Flow
Specification
Institute of Electronics, National Chiao Tung University
High Level Algorithm Model
C/C++/COSSAP/VCC/MATLAB
System Level
Design
Hardware/Software Partition
N2C/VCC
Communication Refinement Hardware/Software Coverification
N2C/Port-C/VCC N2C/Seamless/"Q/Bridge"
RTOS Device Driver
Hardware
Software
Front End
Design
Design
WinCE/VxWorks Driveway
Back End Embedded
API
Software
Chip
5
Physical Design Flow
• In VDSM Specification
Institute of Electronics, National Chiao Tung University
– Interconnect dominates delay System Level
Design
– Timing closure
High Level
– Signal integrity Design
Front
• Traditional design flow End
Functional
Verification
– Two-step process
Synthesis
– Physical design is performed
independently after logic design P&R
• New design flow Timing
Simulation
– Capture real technology behaviors
early in the design flow Back
LVS/DRC
End
– Break the iteration between physical
RC
design and logic design Extraction
Chip
6
Making Sense of Interconnect
• At 0.35u, timing convergence started to become a problem.
• At 0.25u, it started to significantly impact the work of the
Institute of Electronics, National Chiao Tung University
designer.
• At 0.18u, if not accounted for, it actually causes designs to fail.
Percentage of Delay
Gate
Wire
1.0u 0.5u 0.25u 0.18u
Silicon Technology
Source: Avant! Source: Synopsys
7
Interconnect Power Consumption in DSM
• DSM effects in energy dissipation:
Institute of Electronics, National Chiao Tung University
cross-coupling capacitances
Source: Y. Zorian, S. Dey, and M. Rodgers, “Test of Future System-on-Chips,” Proceeding of the 2000 International Conference on Computer-Aided Design, 392-398 8
Signal Integrity and Timing Closure
• Root causes of both Signal Integrity and Timing Closure
Institute of Electronics, National Chiao Tung University
– Inadequate interconnect modeling techniques
– No effective design methodology
• Synthesis timing does not correlate with physical timing
– Factors
• Coupling capacitance increases
• Interconnect resistance increases
• Device noise margins decrease
• Higher frequencies result in on-chip inductive effects
– Problems
• Signal electromigration
• Antenna effects
• Crosstalk delay
• Crosstalk noise
9
Example - Crosstalk Delay
• Net-to-net coupling capacitance dominates as a
Institute of Electronics, National Chiao Tung University
percentage of total capacitance in VDSM.
• The coupling capacitance can be multiplied by the
Miller Effect
– Wire capacitance can be off by 2X if the adjacent wires
are switching in the opposite direction.
– The coupling capacitance can be much less than
expected if the wires are switching in the same
direction
• Both have to be considered during timing analysis
to fully account for setup and hold constraints.
10
New Physical Design Flow Needed
Specification
• Bring physical information into the
Institute of Electronics, National Chiao Tung University
System Level
logical design Design
• Overview of solutions High Level
Design
– Single pass methodology Front
Functional
End
– Synthesis-driven layout Verification
– Layout-driven synthesis Synthesis
– All-Integrated (optimization, analysis
and layout) layout P&R
Timing
Synthesis Simulaton
Back
LVS/DRC
Back End
Sign-off
Annotated
Package RC
Delay
Extraction
P&R Chip
11
HW/SW Cosimulation Through Emulation
• Emulation in “virtual silicon” 100M
CPS (Cycle/Second
Institute of Electronics, National Chiao Tung University
10M
ices
ls
– Complete functional simulation 1M Emulation
ode
erv
100K
IP M
nS
atio
10K
of the chip at close to real time
con
ific
1K
Sili
Acceleration
Ve r
100
Source: IKOS Systems Inc
– Run real software 10 Simulation
• Tools to enable simulation between EDAs and
emulators
– Cycle-based simulators
– Full-timing simulators
– Instruction set simulators
– E.g. Quickturn Q/Bridge
• Expensive, long learning curve and set-up time
12
Embedded Software Architecture for SoC Design
Error Memory
Institute of Electronics, National Chiao Tung University
MMI/GUI
Host Handling Allocation
Diagnostics
Application Message Task State
Manager controller Machine
Application Program Interface
Display Alarm Event
Services Services Manager
Stack Kernel
Protocol File Data Services
Library
Manager I/O
Device Drivers
Hardware
13
Software Development
• Porting software to a new processor and RTOS
Institute of Electronics, National Chiao Tung University
– Using a common RTOS abstraction layer
• The evolution of embedded system in the future
– An standard RTOS
Application Software Application Software
Optimized API New API Needed
RTOS New RTOS
Microprocessor New Microprocessor
Old New
14
Software Performance Estimation
• Have to take the following into account
Institute of Electronics, National Chiao Tung University
– Instruction set
– Bus loading
– Memory fetching
– Register allocation
• Example: Cadence VCC technology
– CPU characterized as Virtual Processor Model
– Using a Virtual Machine Instruction Set
– SW estimation using annotation into C-Code
– Good for early system scheduling, processor load estimation
• Two orders of magnitude faster than ISS
• Greater than 80% accuracy
15
Tester Partitioning
High bandwidth
Institute of Electronics, National Chiao Tung University
Source/ Source/
Logic Sink Logic
Sink Low bandwidth
Source/ Source/ Source/
Memory Sink Sink Memory
Sink
Source/ Source/
Sink PLL Sink PLL
External Tester Embedded Tester External Tester Embedded Tester
Source: Y. Zorian, S. Dey, and M. Rodgers, “Test of Future System-on-Chips,” Proceeding of the 2000 International Conference on Computer-Aided Design, 392-398 16
Self-Testing of Embedded Processor Cores
• Logic BIST
Institute of Electronics, National Chiao Tung University
– Based on the application of pseudo random test
patterns generated by on-chip test pattern generators
like LFSRs.
– Cannot always achieve very high fault coverage for
processor cores.
• Instruction-based self-test techniques
– Rely on generating and applying random instruction
sequences to processor cores.
– The approach determines the structural test needs of
processor components
– Advantage: programmability and flexibility
17
Platform-based Design
Block Authoring VC Chip Integration SW
Delivery Development
Executable Specification
Institute of Electronics, National Chiao Tung University
Functional
Design
Digital & Mixed Signal
Dynamic Virtual System System Dynamic System
Verification Analysis Analysis Verification Analysis
Architecture
Block Chip RTOS/
Design
Specification Specification/ Application
IP Selection Selection
Formal IP Handoff
Testbenches
Testbenches
Block
Integration
Design
Design Planning Integration
Static Planning Module
Verification Development
Static
Verification
Physical
Design
Implementation Chip
Implementation
Supporting Manufacturing
Physical
Verification SW
Physical Distribution
Link
Verification
Technology
SW
Cell IP Portfolio Authoring Guide Integration Development RTOS/
IP Portfolio
Libraries Platform Links Applications
" Source: “Surviving the SOC Revolution - A Guide to Platform-Based Design” by Henry Chang et al, Kluwer Academic Publishers, 1999 18
Design Entry
Gate level
Institute of Electronics, National Chiao Tung University
Truth table
1K~10K
FSM
Waveform Manage Size and Run-Time
RTL level 10K~100k
System level modeling 100K~100M
19
Hardware Platform-Based Design
It is a “meet-in-the-middle” approach.
Institute of Electronics, National Chiao Tung University
System Integrator Perspective Platform Provider Perspective
20
System-Level Design
• Goal
Institute of Electronics, National Chiao Tung University
– To define the platform that satisfies the system
functions with performance/cost tradeoff
• Platform design
– Bus structure
– IP and their function design
Customized instructions
Parallelism
Command parameters
Configurable parameters
IP parameters
– Control scheme
– Data communication (bandwidth)
21
Control Scheme Model
Interrupts
Institute of Electronics, National Chiao Tung University
Interrupt
Status Polling (timer)
Status
Command
Configuration
Data Receive Buffer
Data Transmit Buffer
22
Some Helps in System-Level Design
• Cadence VCC (Virtual Component Codesign,
Institute of Electronics, National Chiao Tung University
from Cadence Berkely Labs)
– Performance simulation
– Communication refinement technology
• Vast Systems Technology
– VPM (Virtual Processor Model)
– HW/SW codesign
• CoWare N2C (Napkin-to-chip)
– Interface synthesis
• SystemC
23
Cadence’s VCC
Institute of Electronics, National Chiao Tung University
Full System Specification
Block Level VCC Platform VCC Platform
Specification Function Architecture
IP Block System Integration
SPW VCC Functional
DSP Behavioral Specification System Integration
IP Block Authoring
SPW Floating Point VCC Performance Analysis and
Development
Development
Hardware
Software
Algorithm Analysis Platform Configuration
SPW Fixed Point VCC Communication Synthesis
Algorithm Analysis Communication Integration
VCC Hardware VCC Software
SPW HDS Block Implementation
Assembly Assembly
HW/SW Verifier - Verification Cockpit - NC-SIM
RTL Block Verification and HW-SW-Co-Verification
Synthesis / Place & Route etc.
24
25
An Opportunity To Do It Right !
Institute of Electronics, National Chiao Tung University
26
SystemC Heritage
Institute of Electronics, National Chiao Tung University
27
SystemC Roadmap
Institute of Electronics, National Chiao Tung University
The Intent of Different Level of Model
• Design exploration at higher level
Institute of Electronics, National Chiao Tung University
– Import of top-level constraint and block architecture
– Hierarchical, complete system refinement
– Less time for validating system requirement
– More design space of algorithm and system
architecture
• Simple and efficient verification and simulation
– Functional verification
– Timing simulation/verification
– Separate internal and external (interface) verification
– Analysis: power and timing
• Verification support
28
SystemC
• SystemC is a modeling platform
Institute of Electronics, National Chiao Tung University
– C++ extensions to add hardware modeling constructs
– a set C++ class library
– simulation kernel
– supports different levels of abstraction
Good Candidate for Task Level Mapping
29
30
Level of abstraction in SystemC
Institute of Electronics, National Chiao Tung University
31
SystemC Design Flow
Institute of Electronics, National Chiao Tung University
32
Source: SystemC Users Forum, DAC, June 2000
Example
Institute of Electronics, National Chiao Tung University
Implementing Virtual Prototypes
• Functionality partition
Institute of Electronics, National Chiao Tung University
• Module specification
• Communication refinement
Func_A()
{
MC
IQ_IDCT()
...... MC
{
IQ(); Func_B() ......
......{ IQ(); FIFO
} ......
IDCT();
IDCT();
......
IQ-
......
} IDCT IQ-
}
IDCT
33
Functionality Partition
• Separating communication and computation
Institute of Electronics, National Chiao Tung University
• Using hierarchy to group related functionality
• Choosing the granularity of the basic parts
34
Module Specification (1/2)
Process A
Institute of Electronics, National Chiao Tung University
entry()
{
......
Z = func_B(X,Y);
......
}
func_B(X,Y)
{
Z = X+Y;
retuen Z;
2 }
Process B Process C
X
entry() entry()
{ {
...... Y X.read();
X.write(); Y.read();
Y.write(); Z = X+Y;
Z.read(); Z Z.write();
...... }
}
3
1. Pull out functionality into new created process
2. Replace function call with inter-process communcation.
3. Instantiate new process and define channels to connect them.
35
Module Specification (2/2)
• Abstraction Levels
Institute of Electronics, National Chiao Tung University
– Untimed Functional Level
– Processes execute in zero time but in order
– Timed Functional Level
– Bus-Cycle Accurate Level
• Transaction on bus are modeled cycle accurate
• Cycle Accurate Level
– Behavior is clock cycle accurate
36
Communication Refinement
Key
Guarantee consistency of communication during refinement
Institute of Electronics, National Chiao Tung University
37
Software Performance Estimation
• Have to take the following into account
Institute of Electronics, National Chiao Tung University
– Instruction set
– Bus loading
– Memory fetching
– Register allocation
• Example: Cadence VCC technology
– CPU characterized as Virtual Processor Model
– Using a Virtual Machine Instruction Set
– SW estimation using annotation into C-Code
– Good for early system scheduling, processor load estimation
• Two orders of magnitude faster than ISS
• Greater than 80% accuracy
38
Discussion: Commonality and Differentia
• Differentiae
Institute of Electronics, National Chiao Tung University
– Processor core (e.g., customized inst. set)
– IP parameterized
– IP add/move
• Design methodology of platform
– System-level
– Platform-level design methodology
• Design flow
• Models
• Tools (EDA venders, 3rd party or home-made)
39
Summary
• Platform-based design
Institute of Electronics, National Chiao Tung University
– From board design to SoC design
– From executable spec., i.e., C/C++, to SystemC
• Modeling
– Performance evaluation
– Task mapping
– Communication refinement
40