Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

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

You might also like