Professional Documents
Culture Documents
Soc Methodology Training
Soc Methodology Training
Approach
SoC Design Methodology : A Practical Approach
2
SoC Design Methodology : A Practical Approach
Outline
Session 1 (9:00 – 10:30)
Introduction
Design Methodologies
Design Planning and RTL
Session 2 (11:00 – 12:30)
Functional Verification
Design For Test (DFT)
Synthesis
Session 3 (13:30 – 15:00)
Floorplanning and Timing Analysis
Design Closure
Manufacturing Tests
Session 4 (15:30 – 17:00)
Advanced Topics
3
SoC Design Methodology : A Practical Approach
4
SoC Design Methodology : A Practical Approach
Die area
Number of SoC reduction in
packages reduced
$16 - $24
integrated
from 5 1.
solution
2003
Memory Area: ~8 sq. in. IMPROVEMENTS
Power: ~1.5 Watts
Internet Cost: <$25 Area: 4x
SOC
Power: 4x
SLIC
Cost: 4x
8
SoC Design Methodology : A Practical Approach
Why SoCs?
Advanced technologies enabling more
integration on a chip Reduced Product
Cost.
Physical size of products shrinking
Minimize number of parts on a board.
Consumer electronics requiring low cost
products More integration.
Minimize number of silicon vendors for a
product Reduced Business Cost.
Improved Reliability.
9
SoC Design Methodology : A Practical Approach
Typical Methodologies
Waterfall Model*
Spiral Model*
Construct by Correction*
HW/SW Co-design
10
SoC Design Methodology : A Practical Approach
Waterfall Model
Specification
11
SoC Design Methodology : A Practical Approach
Physical Design
Synthesis & Timing
Library selection
Constraints and
Package selection exceptions definition
Floorplan Block-level Synthesis
Clock expansion Top-level Synthesis
Placement Scan Insertion / ATPG
Routing Static Timing Analysis
Signal Integrity
IR Drop Analysis
12
SoC Design Methodology : A Practical Approach
Construct by Correction
Used for development of UltraSPARC.
Single team took design from Architectural definition
through Place and Route.
Engineers had to learn required tools.
Team understood impact of architectural decisions on
Area, Power, and Performance of final design.
Planned multiple passes from architecture to layout to
learn more about design.
Multiple iterations allowed the team to learn from their
mistakes and correct them in next iteration.
UltraSPARC development project was one of the most
successful in Sun Microsystems history.
15
SoC Design Methodology : A Practical Approach
HW/SW Co-Design
Spec
Design Constraints System Architecture Design
HW/SW Partitioning & tradeoffs
cosimulatio level
K
HW Requirements
SIMULATION / VERIFICATION
SW Requirements
IP Repository
C
n
HW Architecture HW SW SW Architecture
Custom Reusable Processor/ Application Reusable Custom
Logic modules modules SW
Functional /
DSP cores
A
Behavioral
specific
Memories
RTL Coding Subsystem Peripherals
module
in C / Subsystem C/Assembly
Functional simulation Integration Controllers Assembly Integration Coding
B
Bridges Drivers
Chip-level Integration SW Integration
cosimulation
Synthesis
SW
D
Functional Verification
FVEC (RTL-Gates) Compile code for
Subsystem-level
DFT STA (Wire load) target processor
Chip-level
ATPG Floorplanning Verification
E
HW-SW cosimulation
Gate-level / Spice /
Place & GRoute
FVEC (Gates-Gates)
Tech Libraries Profiling and
E
Tester
Regression
Regression PG
HW/SW Integration & Test
PRODUCT
Summary
SoC design enables potential cost reduction and early
Time-to-Market (TTM) goals.
Design reuse and automation essential ingredients.
Different methodologies followed in the industry:
Waterfall Model
Spiral Design Model
Construction By Correction
HW/SW Co-Design
Robust Design Methodology needed for success of
SoCs.
18
SoC Design Methodology : A Practical Approach
Design Planning
What is ...
Define chip implementation characteristics.
Early Physical Prototyping
Design Partitioning
When …
Initial steps prior to start of design implementation.
19
SoC Design Methodology : A Practical Approach
Design Start
Design Specification
Library selection
Target technology node
Frequency and Power limits
Layout density entitlement
IP Selection
Hard vs. Soft
Internal vs. external
Embedded RAMs/ROMs
PLLs & Analog blocks
Custom Cells (if needed)
Chip-level Power estimation
20
SoC Design Methodology : A Practical Approach
21
SoC Design Methodology : A Practical Approach
22
SoC Design Methodology : A Practical Approach
BALANCED
ram rom ram
ram
gates
ram
ram
gates
gates
ram
ram
CORE
PACKAGE
LIMITED
LIMITED
23
SoC Design Methodology : A Practical Approach
25
SoC Design Methodology : A Practical Approach
Design Management
Configuration management
Paramount for Multi-site development
Design and Scope changes
Feature Creep
Process Requirement Changes
Test and Reliability Requirement Changes.
External deliverables, e.g., IPs, custom cell.
Handoffs and milestones
Design Milestones, e.g., RTL freeze, Initial synthesis, tapeout.
Design team (or customer) handoffs.
Optimize engineering and compute resources.
26
SoC Design Methodology : A Practical Approach
Hard IP
Need to support the following models:
Functional Floorplanning
Timing Physical Design
Synthesis Software tools for
DFT processor core
Scan hookup requirements
Clock insertion delay numbers and skew
requirements
Power requirements
Integration/Test documentation
27
SoC Design Methodology : A Practical Approach
Soft IP
Synthesizable RTL
Functional Verification
Coverage metrics
models to speed-up verification
Synthesis / Timing Analysis
Timing exceptions and constraints
Clock and Reset requirements
Critical paths should be documented
DFT scripts
Physical design
Memory placement guidelines
Special clock handling requirements
Software tools for processor cores
Implementation and integration documentation
28
SoC Design Methodology : A Practical Approach
29
SoC Design Methodology : A Practical Approach
Planning Implementation
30
SoC Design Methodology : A Practical Approach
Activities
“Coarse” logic placement
• Define SoC Peripherals pin-multiplexing
• Identify logical hierarchy candidates that can be “merged”
for physical implementation
Macro placement
Physical hierarchy or subchip planning
• Size, Shape, Location, Metal choices, Feed-through
Power grid planning
Subchip Pin assignment and optimization
Preliminary Timing and Routability assessment
31
SoC Design Methodology : A Practical Approach
32
SoC Design Methodology : A Practical Approach
L2
SubChip3 SubChip3
L1
RAM RAM RAM RAM
RAM RAM
RAM RAM
ROM ROM
RAM RAM
CORE RAM CORE RAM
RAM RAM
33
SoC Design Methodology : A Practical Approach
SubChip4 SubChip3
0.8M logic gates
1.1M logic gates
RAM RAM5M gates of
logic + RAM
1.6M logic gates processor Core
RAM
SubChip2
0.5M logic gates
ROM + Memories
RAM
0.4M logic gates CORE RAM
@ 250 MHz SubChip1 0.6M logic gates
RAM
@ 125 MHz
34
SoC Design Methodology : A Practical Approach
Summary
Design Planning is the most critical phase of
SoC design methodology.
Encompasses
Technology selection
IP (hard vs. soft) selection
IO selection
Package selection
Design Prototyping and Partitioning
Functional and Timing Verification planning
Testability planning
35
SoC Design Methodology : A Practical Approach
RTL Design
What is …
RTL design is to create behavioral implementation
using hardware description languages (HDL).
When …
Design requirements and specification complete.
Verilog HDL
module my_mod
(a,b,clk,rst,y);
input a,b,clk,rst;
output y;
always @(posedge clk)
begin
if (rst) y <= #1 1’b0;
else y <= #1 a & b;
end
36
SoC Design Methodology : A Practical Approach
What is RTL?
Verilog HDL
Register Transfer Logic module my_mod (a,b,clk,rst,y);
input a,b,clk,rst;
(RTL) output y;
always @(posedge clk)
Method of describing begin
if (rst) y <= #1 1’b0;
hardware behavior in else y <= #1 a & b;
end
software using Hardware
Description Languages (HDL) VHDL
Entity my_mod is (
Higher abstraction level a : in std_logic;
b : in std_logic;
than gate-level schematics clk : in std_logic;
rst : in std_logic;
y : out std_logic
Faster simulation );
37
SoC Design Methodology : A Practical Approach
38
SoC Design Methodology : A Practical Approach
39
SoC Design Methodology : A Practical Approach
Functional Verification
What is …
Functional Verification of implemented HDL
against specification.
When …
Design RTL is ready.
Verilog HDL
module my_mod
(a,b,clk,rst,y);
input a,b,clk,rst;
output y;
always @(posedge clk)
begin
if (rst) y <= #1 1’b0;
else y <= #1 a & b;
end
41
SoC Design Methodology : A Practical Approach
42
SoC Design Methodology : A Practical Approach
43
SoC Design Methodology : A Practical Approach
Abstraction Models
Transaction Level Model (TLM)
Temporal Ordering (C, C++, SystemC, Vera, etc.)
Instruction Set Simulator (ISS) accurate
Functional and cycle count accurate (C, C++, SystemC, etc.)
Bus Functional Model (BFMs)
Bus Cycle Accurate (C, C++, SystemC, Behavioral HDL)
Internally Cycle Accurate
Maintain internal states that change on clock edge.
Functional and cycle count accurate (C, C++, SystemC,
Behavioral HDL)
Register Transfer Logic (RTL)
Gate-level
46
SoC Design Methodology : A Practical Approach
Verification Metrics
Code Coverage
Statement coverage ensures all executable statements have
been executed at least once. It gives count of how many
times each executable statement has been executed.
Branch coverage verifies that each and every branch in
conditional statements (if-then-else and case) is executed.
For conditional statements, Conditional coverage checks all
sub conditions have been triggered.
For each signal in sensitivity list, Trigger coverage provides
count of number of times the process was activated by that
signal.
Toggle coverage provides count of 0 1 and 1 0
transitions.
FSM coverage provides statistics of sequence of states.
47
SoC Design Methodology : A Practical Approach
Functional Coverage
Refers to how well the functionality of a device has
been tested.
At module-level, the functional coverage ideally
should be 100%.
Statistics of how many times a feature in the design
has been exercised during verification.
The monitored features need to be defined.
48
SoC Design Methodology : A Practical Approach
V V Proc Peripheral V V
e Externale Bus Bus IP Module
IP e External e
r I/O r Proc
Cycles Bridge Cycles r I/O r
Module
i Gen i Model
Gen Gen i Gen i
f. f. Cvg Cvg f. f.
Cvg
49
SoC Design Methodology : A Practical Approach
Verification Metrics
Bug rate convergence
Provides information about maturity of verification
suite.
Module C Verification
90
80
Closed
70
Fixed
60
New
Number
50
Rejected
40
30 All
20 Open
10 Resolved
0
2
28 02
29 02
26 02
02
25 02
02
5/ 002
6/ 002
7/ 002
2
23 02
20 02
02
2/ 200
00
4/ 00
00
00
0
0
0
0
20
20
20
20
/2
/2
/2
/2
/2
/2
/2
/2
/2
/2
/2
/2
/
1/
9/
6/
4/
14
14
18
15
12
11
28
8/
2/
3/
7/
8/
9/
3/
4/
5/
6/
8/
9/
Date
50
SoC Design Methodology : A Practical Approach
FIFO
DSP Block2
Transactor
Micro Controller
Subsystem
InOut1
Subsystem
In1
Block4
Block1
Control
Memory
Out2
FIFO
Block6 Block5
SoC
Interfac
Interfac
e BFM
e BFM
DSP
DSPSubsystem
Subsystem
(Cycle Accurate Model)
FIF
DSP
O
Block2
Transactor
Micro Controller
Subsystem
InOut
Subsystem
In1
Block4
Block1
1
Control
Memory
Out2
FIFO
Block6 Block5
SoC
CPU Subsystem
Peripheral1
Peripheral1 0 0 Transactor
CPU
Bridge
Peripheral2 1 1 Peripheral2
sys bus
ROM Transactor
RAM Peripheral3
cpu bus
SoC
Clock Reset
Memory
Model
55
SoC Design Methodology : A Practical Approach
cpu bus
CPU
sys bus
Clock /
Appl Code/ Prog. Proc ROM Reset
RAM
Dev. Driver ISS
EMIF IF
Bridge
Memory
56
SoC Design Methodology : A Practical Approach
cpu bus
sys bus
BFM
Clock /
Reset
ISS
P CoSim Manager P ROM
RAM EMIF
Device Driver
Memory
Application Code Model
Memory mapping
Controllability/Observability across partitions
Distributed network processing
Optimize memory transactions via back door
Speed-up Verification run time.
57
SoC Design Methodology : A Practical Approach
System Emulation
Enables designs to be verified at 10x -100x faster than
RTL simulators. Typically, a scaled down frequency
version of chip Frequency is used for verification.
Functional verification only.
Allows capability of testing real system test case at much
faster compared to RTL/Gate-level simulations.
Enables EARLY software development.
Quickturn (QT)
Designs need to be compiled and mapped to Quickturn
hardware.
Expensive solution and Limited availability of QT box.
FPGA based emulation
Need to partition the design and map embedded memories to
FPGA memories for implementation.
Limited debug visibility.
58
SoC Design Methodology : A Practical Approach
Gate-Level Simulations
Rarely used to exhaustively test SoC.
Much slower than RTL simulations.
A subset of regression suite can be used for this.
Two types:
Unit Delay Timing
• Can be done as soon as first synthesis netlist is available.
• Useful to verify chip-level initialization and there are no un-
initialized flops.
Full Timing
• Much slower than unit delay.
• Useful to validate asynchronous logic.
59
SoC Design Methodology : A Practical Approach
Summary
60
SoC Design Methodology : A Practical Approach
What is …
Structured techniques for manufacturing test.
When …
Design Planning and Design Implementation
Verilog HDL
module clk_mod (funcclk,testclk,
test_mode,clk);
input funcclk, testclk, test_mode;
output clk;
always @(test_mode)
begin
if (test_mode) clk = testclk;
else clk = funcclk;
end
61
SoC Design Methodology : A Practical Approach
Why DFT?
62
SoC Design Methodology : A Practical Approach
70
60 Functional Patterns UltraSPARC.
50
40
ATPG took 5 mins
30
20 on 100% fault
10 sample on the same
0
0 50000 100000 150000 200000 machine.
Tester Cycle Number
How to Test?
Automatic Test Equipment (ATE) used to catch
manufacturing defects.
Use structured Design For Test (DFT) techniques.
Improves Overall Device Quality.
Reduces ATE test time Lower Cost.
Use automated tools for pattern generation
Scan stuck-at for open/shorts in interconnect defect coverage
Scan IDDQ for IDDQ defect, reliability
Delay fault.
I/O stuck-at for DC parametrics test
Memory BIST
Special cells such as PLLs handled separately.
64
SoC Design Methodology : A Practical Approach
Testability: Definition
. Fault
Input Cone
. of A A Y Output .
.. Input Cone
Cone of Z .
B .
. of B
.
Combinational Circuit
65
SoC Design Methodology : A Practical Approach
s-a-0
?
0 A 0X 1/0
1
0
?
1
B X
0
1
1 0
Y
?
1 C 0
Z 1
0 1 Good
Good/Faulty
1
66
SoC Design Methodology : A Practical Approach
Huffman Model
Scan Chain
67
SoC Design Methodology : A Practical Approach
X
1
0 X
0 X
1 X
1
SCAN_IN
D D D D
X
1
0 SD Q X
1
0 SD Q X
0
1 SD Q X
1
0 SD Q X
0
1
SCAN SCAN SCAN SCAN
SCAN_OUT
CLK CLK CLK CLK
0
X
CLK
X
0
1
SCAN_EN
CLK
SCAN_EN
68
SoC Design Methodology : A Practical Approach
69
SoC Design Methodology : A Practical Approach
D D D SO1 D D SO2
SI1 SD Q SD Q SD Q SI2 SD Q SD Q
SE SE SE SE SE
CLKA CLKB
Scan
70
SoC Design Methodology : A Practical Approach
CLKA CLKB
Scan
Skew
CLKA
CLKB
CLKA CLKB
0 0
TestClk
1 1
CLKA CLKB
Scan
72
SoC Design Methodology : A Practical Approach
73
SoC Design Methodology : A Practical Approach
74
SoC Design Methodology : A Practical Approach
75
SoC Design Methodology : A Practical Approach
76
SoC Design Methodology : A Practical Approach
77
SoC Design Methodology : A Practical Approach
78
SoC Design Methodology : A Practical Approach
Memory Test
Current SoC designs contain several
embedded memories.
Direct tester access to all memory signals
impossible.
Built-in Self-Test (BIST)
using special BIST logic inserted by vendor tools.
using existing CPU to test memories.
79
SoC Design Methodology : A Practical Approach
ADDR ADDR
CNTL Q
CNTL
CLK
MBIST_MODE
80
SoC Design Methodology : A Practical Approach
Summary
Planning for DFT in the initial stages of the
design essential.
Structured test is a must Enables diagnosis.
LogicBist - a future solution to reduce test time
and eliminate use of ATE.
81
SoC Design Methodology : A Practical Approach
Synthesis
What is …
Convert design RTL description to gates in a Target
Cell Library.
When …
RTL available.
Verilog HDL
module clk_mod (funcclk,testclk,
test_mode,clk);
input funcclk, testclk, test_mode;
output clk;
always @(test_mode)
begin
if (test_mode) clk = testclk;
else clk = funcclk;
end
82
SoC Design Methodology : A Practical Approach
Design Synthesis
Design Constraints
and Exceptions
RTL
module my_mod (a,b,clk,rst,y);
input a,b,clk,rst; Synthesis
output y;
always @(posedge clk) Tool
begin
if (rst) y <= #1 1’b0;
else y <= #1 a & b;
end
gate-level netlist
Cell Library +
ands xors memories
bufs constraints
flip-flops
invs subchips
83
SoC Design Methodology : A Practical Approach
A
Y A Y A
G1 G2 A
B Y Y
D Q G3
B B G1
Flop
CLK1 A
QZ Y
B G4
Flop1 D Q
clk
Flop
CLK2
QZ
Flop2
Path delay = Cell delays + Interconnect delays.
Cell delay is delay from input output of a logic gate.
Depends on input transition time and output load on a gate.
Also called as Gate or Propagation delay.
Interconnect delay is delay from output of the driving cell to the
input of the load cell.
Caused by parasitic capacitance and net resistance.
Also called as Net delay.
Synthesis tools optimize combinational logic to minimize Path
delay to keep it less than a period of a clock.
84
SoC Design Methodology : A Practical Approach
Synthesis Terminology
tc
Clock period
tu Flop1 Clk
tc (ns)
tb
Duty cycle ta
t1
ta/tc (%) / tb/tc (%)
t2 - t1 Flop2 Clk
Important when both
clock edges are used.
Clock uncertainty t2
tu (ps)
Q
Models clock jitter
D
TDxxx Cloud2
CLK1
Affects timing budget
clkin A
B Flop1
QZ
D Q
CTS3
QZ
86
SoC Design Methodology : A Practical Approach
CTS: Example
D Q
D Q
D Q
D Q Flop
Flop
Flop QZ
Flop QZ
QZ
QZ
D Q
D Q
D QFlop
Flop D Q D Q
Flop QZ D Q D Q
QZ D QFlop D QFlop
CLK1 QZ D QFlop
Flop QZ
Flop QZ
D QFlop
Flop QZ
Flop QZ
QZ QZ
QZ QZ
Clock Buffer
CLK2
D Q
D Q
D QFlop
D QFlop
Flop QZ
D Q Flop QZ
D Q QZ
D Q
Flop
D Q QZ
Flop
D QFlop
QZ
Flop QZ
Flop QZ
QZ
QZ
87
SoC Design Methodology : A Practical Approach
...
...
...
...
10 0.02 0.03 0.024 1.4
88
SoC Design Methodology : A Practical Approach
output delay
input delay false path
IN OUT
Q D Q COMBINATIONAL D Q D
External LOGIC External
Flop Flop Sequential
Sequential
CLK CLK
element QZ QZ output element
D Q
multicycle path= 3
CLK_A Flop
QZ
Slow
Combo
Flop3 Q
Logic D
Flop
Enable CLK1
D Q QZ
Flop Flop5
QZ
Flop4
89
SoC Design Methodology : A Practical Approach
90
SoC Design Methodology : A Practical Approach
91
SoC Design Methodology : A Practical Approach
Summary
Synthesis is a step to translate a design from
high-level description (HDL) to gate-level
netlist.
Essential to specify all constraints and
exceptions correctly.
For large SoCs, need to use right WLMs.
Use proper synthesis methodology to
minimize run time and memory usage.
Comprehend clock jitter and interconnect
parasitics.
92
SoC Design Methodology : A Practical Approach
93
SoC Design Methodology : A Practical Approach
94
SoC Design Methodology : A Practical Approach
What is …
Floorplan is physical view of a chip.
Timing analysis checks timing specification of the
chip.
When …
Synthesized gate-level netlist is available.
Verilog HDL
module clk_mod (funcclk,testclk,
test_mode,clk);
input funcclk, testclk, test_mode;
output clk;
always @(test_mode)
begin
if (test_mode) clk = testclk;
else clk = funcclk;
end
Floorplanning
Generate a physical description of a chip.
RAM gate-level
RAM netlist Define Core Dimensions
RAM RAM
RAM design
RAMconstraints
SubChip2 Place IOs
RAM RAM
RAM RAM Place Macros/Modules
ROM Add Power Core Ring
Design database
DSP Add Power Contours
SubChip1
Floorplan: Examples
RAM
SubChip2 SubChip2
RAM
RAM
RAM SubChip3
BAD
RAM
RAM
RAM
RAM
RAM
BAD SubChip7
SubChip5
Floorplan Floorplan
SubChip4
R0M
DSP SubChip1 SubChip1 SubChip6
RAM
RAM RAM
SubChip2
SubChip2
RAM RAM
RAM RAM
SubChip3 SubChip4
RAM RAM SubChip6
RAM RAM
SubChip5
ROM
SubChip1
RAM RAM
Place core cells
RAM RAM
SubChip2
RAM RAM Global Route Nets
RAM RAM
Parasitic Extraction
Estimate Resistance and Capacitance values
for each net segment.
R1 R2 YY R3
A Y AA
C1 C2 C3 C4
Extraction Accuracy
Run Time Increase
+100%
Detail Route Global Route
Field Solver
RC Error (%)
10%
-10%
-100%
1 10 50 100
Delay (ps)
Accuracy Increase
Physical Synthesis
Extension of existing synthesis techniques to enable
simultaneous optimization of HDL, timing, and
physical placement of the synthesized logic.
Timing based on global routes instead of using WLMs.
Reduces iterations between synthesis and backend
flow.
Leads to faster timing closure.
Physical synthesis flow can be:
Gates Placed Gates
RTL Placed Gates
Gates GDSII
RTL GDSII
setup
CLK hold
setup/hold window
Flop
CLK2
QZ
0.1 / 0.2 A
A
Y Y A A
B G1 G2 Y Y
D Q G3
B B G5
2.0 Flop
CLK1 A
QZ Y
B G4
0.8 Flop1 D Q
CLK
Flop
setup =
CLK2 0.2
QZ
Flop2
0.9 0.9
Flop
CLK2
QZ
0.05 / 0.1 A
A
Y Y A A
B G1 G2 Y Y
D Q G3
B B G5
1.0 Flop
CLK1 A
QZ Y
B G4 0.5 / 0.6
0.3 Flop1 D Q
CLK
Flop
hold =
CLK2 0.3
QZ
Flop2
0.6 0.6
Summary
Floorplan is physical view of a chip.
Essential to have a good floorplan to minimize
die size and meet timing.
Cell placement and global route can flag
congestion that may require floorplan changes.
Timing analysis based on GRoute SDF (placed
cells and global route) much more accurate
compared to WLM based.
Fix only coarse violations using pre-layout SDF.
Design Closure
What is ...
Timing closure and Signal Integrity/Reliability
checks.
When …
After floorplanning with scan inserted netlist.
Verilog HDL
module clk_mod
(funcclk,testclk,
test_mode,clk);
input funcclk, testclk,
test_mode;
output clk;
always @(test_mode)
begin
if (test_mode) clk =
testclk;
else clk = funcclk;
end
RAM RAM
SubChip2 high fanout nets.
RAM RAM
Pre-route special nets.
RAM RAM
DSP
Relieve routing
SubChip1 congestion
Fix design rule
violations.
RC Error (%)
Filed Solver
10%
-10%
-100%
1 10 50 100
Delay (ps)
Accuracy Increase
D Q N1 G2 D Q
G1
Flop Flop
CLK1 CLK2
QZ QZ
CLK Flop1 Flop2
V2
VDD V3
VDD
VDD
VDD
VDD
i(t)
i(t) DA
D1 D2 D3
Cell1
Cell2 Cell1 Cell3
Cell3 Cell1
Cell2 Cell1
D4 D6
D5
DB
V2 V3 V4 V5
OCV Analysis
Cannot assume constant PTV across die Essential
to comprehend impact of these variations in timing
analysis.
STA tools support OCV analysis mode
Compute min and max delays for cells and nets by multiplying
annotated delay with min and max timing de-rate value,
respectively.
Apply min and max delays to different paths simultaneously.
For setup check, annotate worst case SDF. Use max delay for
launch path and min delay for capture path.
For hold check, annotate best case SDF. Use min delay for
launch path and max delay for capture path.
A
0.19 / 0.2 / 0.22 Y A Y A A
B G1 G2 Y Y
D Q G3
B B G5
1.9 / 0.2 / 2.2 Flop
CLK1 A
QZ Y
0.76 / 0.8 / 0.88 B G4
CLK Flop1 D Q
Flop
setup =
CLK2 0.2ns
QZ
Flop2
0.85 / 0.9 / 0.99 0.85 / 0.9 / 0.99
A
0.045 / 0.05 / 0.055 Y A Y A A
B G1 G2 Y Y
D Q G3
B B G5
0.9 / 1.0 / 1.1 Flop
CLK1 A
QZ Y
0.27 / 0.3 / 0.33 B G4
CLK Flop1 0.45 / 0.5 / 0.55 D Q
Flop
hold =
CLK2 0.3ns
QZ
Flop2
0.54 / 0.6 / 0.66 0.54 / 0.6 / 0.66
Why Crosstalk?
Wire aspect ratio changes for DSM
technologies.
Cc Cc
Cs Cs
≥ 0.5 μm ≤ 0.13 μm
Crosstalk Effect
Victim
Victim
Victim
without
with noise
noise
Aggressor/Victim net
Vdd
Opposite switching in same direction
direction leads to reduced signal delay
Vdd/2 switching through the victim net.
Aggressor/Victim net
switching in opposite
direction leads to increased
t
signal delay through the
Same direction switching victim net.
AJ/AS/JR Jan. 6, 2005 VLSI Design 2005 129
SoC Design Methodology : A Practical Approach
Victim
Aggressor 2
Victim
VictimNet
NetDelay
Delaywithout Crosstalk
with Crosstalk
Victim
Aggressor 1
Aggressor 2
Summary
Manufacturing Tests
What is ...
Screen manufacturing defects.
When …
After silicon is fabricated.
Verilog HDL
module clk_mod
(funcclk,testclk,
test_mode,clk);
input funcclk, testclk,
test_mode;
output clk;
always @(test_mode)
begin
if (test_mode) clk =
testclk;
else clk = funcclk;
end
Manufacturing Tests
Structural tests are typically generated using
some EDA tools and represent majority of the
test time.
Functional tests are targeted tests developed
by SoC functional verification team. Typically,
these tests target areas not tested by
structural tests.
Minimize number of required tester cycles for
both structural and functional tests without
compromising quality of tests.
Functional Tests
Both Core logic and I/O running at-speed.
During LED Test core logic runs at-speed and I/O
run at lower frequency. Also referred as
Load/Execute/Unload test.
Scan-based Techniques
Logic Built-In Self Test (Logic BIST)
DFT
Timing Analysis and Closure
Substrate Noise Analysis
Power Management
Package co-design
SD SD SD
Q COMBO Q COMBO Q
D D D
LOGIC LOGIC
SE SE SE
QZ QZ QZ
CLK
Flop N-1 Flop N Flop N+1
SCAN_EN
20 ns 40 ns
CLK
SCAN_EN
PARALLEL
SERIAL SHIFT SERIAL SHIFT
CAPTURE
SCAN_EN
4 ns
20 ns
Launch CLK
from SCAN_EN
Shift SERIAL SHIFT SERIAL SHIFT
from SCAN_EN
Capture SERIAL SHIFT SERIAL SHIFT
Logic BIST
Existed since early/mid-80’s.
Standard scan techniques combined with Structural
techniques to generate patterns and output signature
on-chip.
Based on properties of Linear Feedback Shift Register
(LFSR)
Extra logic on chip.
Enables system/field test.
Can be used for at-speed testing.
Compatible with low cost ATE.
What is LFSR?
Shift register with outputs of some flops combined in XOR
configuration and feedback as inputs to flops.
O1 O2 O3
I1 I2 I3
0 0 1 Initial
D Q D Q D Q
1 0 0
0 1 0
QZ QZ QZ
Flop 1 1 0 1
CLK
Flop 2 Flop 3
1 1 0
1 1 1
0 1 1
O1 O2 O3
PRPG LFSR
MISR LFSR
Scan
Chains
DUT
BIST Controller
PRPG LFSR
Phase Shifter
MISR LFSR
Scan
Chains
DUT
BIST Controller
PRPG LFSR
Phase Shifter
Mux Structure
Scan
Chains
DUT
BIST Controller
Summary
At-speed testing can be done using scan.
Logic BIST can be used to enable system/field
testing.
Variants of traditional Logic BIST becoming popular
approaches.
Two Kinds:
Inter Die
Intra Die
“Manufacturing aware Physical Design,” Puneet Gupta and Andrew B. Kahng, Proc IEEE/AM Intl Conference on
Computer Aided Design, November 2003
P5
P0
Global Statistical
N
D = D0 + ∑ di • ∆ pi
N i= 1
D = D0 + ∑
N
di • ∆ pi
D = D0 + ∑ di • ∆ pi
i= 1
i=1
N
D = D0 + ∑ di • ∆ pi
i= 1
Propagate functions
Timing analysis is done first, then plugs the
process distributions to get timing distributions.
Different distributions can be evaluated in one-shot.
AJ/AS/JR Jan. 6, 2005 VLSI Design 2005 169
SoC Design Methodology : A Practical Approach
∑
N
D = D0 + di • ∆ Gi
i= 1
D = D0 + ∑i= 1 di • ∆ Gi
N
Distribution of statistical part is also
D = D0 + ∑ d i • ∆ Gi
i= 1 a function of process variation
Summary
Useful clock skew can be used
To achieve higher clock rate
To have a robust design
Reduce timing closure iterations
Minimize switching power.
Statistical variations (both inter-die and intra-die) of
process parameters need to be comprehended in a
DSM SoC design.
Two approaches for timing analysis:
Explicit computation
Statistical analysis.
AJ/AS/JR Jan. 6, 2005 VLSI Design 2005
SoC Design Methodology : A Practical Approach
Definition
Substrate Noise Analysis flow
Noise minimization methods
Digital Block
D3
Key Challenges
Substrate noise generated by digital
components can degrade sensitive analog
circuit performance To simulate this
performance degradation, the total amount of
generated noise must be known.
Simulating large digital circuits for noise
analysis is prohibitive in terms of run-times
and memory needs Need to model
substrate noise source from digital blocks.
Block-level Block-level
Switching SPICE Substrate
Activity Noise Model
Block-level
Block-level Noise at
Block-level
Substrate
Block-level
Substrate
Substrate
Noise Model
SPICE Analog
NoiseSubstrate
NoiseModel
Model substrate
Noise Model
Chip Package
Model
40.00
35.00
Substarte Voltage (mV)
30.00
25.00
wo_guardrings
20.00
w_guardrings
15.00
10.00
5.00
0.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00
Frequency (GHz)
Power Management
Definitions
Dynamic/Active power
Static/Leakage power
Power management techniques
Dynamic
Static
4
40-50% is leakage
3 power
Power (W)
0
250 180 130 90 65
Leakage Power
Feature Size (nm)
Active Power
LS
V3 (0.8V)
150 MHz
LS
CORE V2 (1.5V)
300 MHz
Package Co-design
Motivation
Selection of Package-Die combination
Package Design and Routability
Package Signal Integrity and Modeling
Future Directions
Bibliography
Books
1. “Reuse Methodology Manual for System-On-A-Chip Designs,” Micheal Keating, Pierre Bricaud, by Kluwer
Academic Publishers, ISBN: 0792381750.“
2. Hardware/Software Co-design,” Giovanni De Micheli, Mariagiovanni Sami, Published by Kluwer Academic
Publishers, ISBN: 0792338839.
3. “Principles of Functional Verification,” Andreas Meyer, Published by Butterworth-Heinemann Newnes.
4. “Logic Synthesis,” Srinivas Devdas, Abhijit Ghosh, Kurt Keutzer, Published by McGraw Hill Professional, ISBN:
0070165009.
5. “Digital Systems Testing and Testable Design,” M. Abramovici, M.A. Breuer and A.D. Friedman, IEEE Press,
New York.
6. “Design-For-Test For Digital IC's and Embedded Core Systems,” Alfred Crouch, Sep 1999, ISBN: 0130848271.
7. “Timing Verification of Application-Specific Integrated Circuits (ASICs),” Farzad Nekoogar, Published by
Prentice Hall PTR, ISBN 0137943482.
8. “Algorithms for VLSI Physical Design Automation,” N. Sherwani, Published by Kluwer Academic Publishers.
9. “VLSI Physical Design Automation – Theory and practice,” S. Sait and H. Youssef, Published by McGraw Hill.
10. “Signal Integrity – Simplified,” Eric Bogatin, Publisher : Prentice Hall PTR, September 2003, ISBN : 0-13-
066946-6.
11. “Modern VLSI Design: System-on-Chip Design,” Wayne Wolf. Published by Prentice Hall PTR, January 2003,
ISBN: 0130619701.
Papers
1. “Nano-CMOS Circuit and Physical Design,” Ban Wong, Anurag Mittal, Yu Cao, Greg Starr, ISBN:0-471-46610-
7.
2. “Impact of Die-to-Die and within Die Parameter Fluctuations on the Maximum Clock Frequency Distribution for
Gigascale Integration,” Keith A. Bowman, Steven G. Duvall and James D. Meindl, in IEEE Journal of Solid-
State Circuits, vol. 37, Feb 2002.
3. “Manufacturing aware Physical Design,” Puneet Gupta and Andrew B. Kahng, Proc IEEE/AM Intl Conference
on Computer Aided Design, November 2003.
4. “Characterization of the Threshold Voltage Variation: a Test Chip and the Results,” Mariusz Niewczas, IDCMTS
1997.
Bibliography (contd…)
Papers (contd…)
1. “Impact of Spatial Intrachip Gate Length Variability on the Performance of High-Speed Digital Circuits,” Michael
Orshansky, Linda Milor, Pinhong Chen,Kurt Keutzer and Chenming Hu, IEEE TRANSACTIONS ON
COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, vol. 21, no. 5, MAY 2002.
2. “Statistical Metrology: Tools for Understanding Variation,” Duane Boning and James Chung in Future Fab
International, December 1996.
3. “Explicit Computation of Performance as a Function of Process Parameters,” L. Scheffer in 2002, ACM/IEEE
Tau workshop on Timing Issues in the Specification and Synthesis of Digital Systems.
4. “First-Order Parameterized Block-Based Statistical Timing Analysis,” K. Kalafala, C Visweswariah, K Ravindran
in 2002, ACM/IEEE Tau workshop on Timing Issues in the Specification and Synthesis of Digital Systems.
5. “Fast Statistical Timing Analysis by Probabilistic Event Propagation,” J.-J Liou, K.-T.Cheng, S. Kundu and A.
Krstic, Proc. 38th Design Automation Conference, June 2001.
6. "Leakage Current in Low Standby Power and High Performance Devices: Trends and Challenges,” G.C-
F.Yeap, Proceedings of 2002 International Symposium on Physical Design.
7. "Leakage-Tolerant Design Techniques for High Performance Processors,” V. De, Proceedings of 2002
International Symposium on Physical Design.
8. "Power reduction by simultaneous voltage scaling and gate sizing,” Chen C., and Sarrafzadeh M, Proceedings
of ASPDAC '00.
9. "Incremental Delay Change due to Crosstalk Noise,” Lauren Hui CHen and Malgorzata Marek-Sadowska,
Proceedings of 2002 International Symposium on Physical Design.
10. "Uncertainty-Aware Circuit Optimization,” Xiaoliang Bai, Chandu Visweswariah, Philip N. Strenski, David J.
Hathaway, Proceedings of 39th Design Automation Conference, 2002.
11. "Dynamic and Leakage Power Reduction in MTCMOS Circuits Using an Automated Efficient Gate Clustering
Technique,” Mohab H. Anis, Shawki M. Areibi, Mohamed K. Mahmoud, Mohamed Elmasry, Proceedings of 39th
Design Automation Conference, 2002.
Bibliography (contd…)
Conference Proceedings
1. IEEE International SOC Conference.
2. Design Automation Conference.
3. International Test Conference.
4. International Conference on VLSI Design.
5. International Conference on Computer Aided Design.
6. Design, Automation, and Test in Europe Conference.
7. IEEE Custom Integrated Circuits Conference.