Documente Academic
Documente Profesional
Documente Cultură
- SOC Encounter
Cell-Based Design Flow
Tape out
Verilog
VHDL
DRC LVS
Gate level
netlist GDSII
Amoeba Placement
Timing Analysis
Pre-CTS Optimization
Power Planning
Power Analysis
Timing Analysis
Post-CTS Optimization
Power Route
Output GDS, Netlist,Spef,DEF
SI Driven Route
Timing/SI Analysis
IO, P/G Placement
Corner1 I1 VDD O1 Corner2
I2 O2
IOVDD IOVSS
I3 O3
Hight
Width
Floorplan
I1 VDD O1
I2 O2
M2
IOVDD IOVSS
M1 M3
I3 O3
I4 VSS O4
Amoeba Placement
Power Planning
Clock Tree Synthesis
D D D D
Q Q Q Q
D D D D
Q Q Q Q
D D
Q Q
D D
Q Q
D D D D
Q Q Q Q
D D
Q Q
D D D D
Q Q Q Q
CLK CLK
D D D D
Q Q Q Q
Power Analysis
Power Route
Add IO Filler
Routing
SDC constraint
-- Create Clock
create_clock [-name clock_name]
[-period period_value]
[-waveform edge_list]
[-add]
[sources]
20
I_CLK
10
CHIP
set_clock_latency [-source]
[-early | -late]
[-min | -max]
latency
pin_or_clock_list
PO
Static Timing Analysis
AT=2
2
1
9 Path-based:
2+2+3 = 7
2+3+1+3 = 9
(OK)
(OK)
3 RAT=10 2+3+3+2 = 10 (OK)
3
1 2 5+1+1+3 = 10 (OK)
AT=5 3 5+1+3+2 = 11 (Fail)
1 5+1+2 = 8 (OK)
AT=2 AT=7
AT=2 RAT=5 RAT=7 Block-based:
2
1 Critical path is determined
3 RAT=10 as collection of gates with
AT=6 3
1 RAT=5 2 the same, negative slack:
AT=5 3 In our case, we see one
AT=11
AT=5
1 AT=9 RAT=10 critical path with slack = -1
RAT=4 RAT=8
Static Timing Analysis
Cell Delay
Cell Delay Dcell(I2) = f(Dtransition(I1), Ceq)
clk1
TDFF1+Tpath
Tarrival
clk2 Tsetup
Tslack
Trequire
Static Timing Analysis
Setup time
PI to Reg
¾ Tarrival = TPI(delay)+ TPATH
¾ Trequire = Tclk1- TDFF1(setup)
¾ Tslack = Trequire- Tarrival
Static Timing Analysis
Setup time
Reg to PO
¾ Tarrival = Tclk1+ TDFF1(clk->Q)+TPATH
¾ Trequire = Tcycle- TPO(output delay)
¾ Tslack = Trequire- Tarrival
Static Timing Analysis
Setup time
PI to PO
¾ Tarrival = TPI(delay)+ TPATH
¾ Trequire = Tcycle- TPO(output delay)
¾ Tslack = Trequire- Tarrival
Clk_source
TPI+Tpath
Tarrival
TPO(output delay)
Tslack
Trequire
clk1
TDFF1+Tpath
clk2
Thold
Tslack
Trequire
Tarrival
Static Timing Analysis
hold time
PI to Reg
¾ Tarrival = TPI(delay)+ TPATH
¾ Trequire = Tclk+ TDFF(hold)
¾ Tslack = Tarrival-Trequire
Reg to PO
¾ Tarrival = Tclk+ TDFF(clk->Q)+TPATH
¾ Trequire = - TPO(output delay)
¾ Tslack = Tarrival-Trequire
PI to PO
¾ Tarrival = TPI(delay)+ TPATH
¾ Trequire = - TPO(output delay)
¾ Tslack = Tarrival-Trequire
Timing exception: False path
Version: 1
MicronPerUserUnit: value
Pin: pinName side |corner
Pad: padInstanceName side|corner [cellName]
Offset: length
Skip: length
Spacing: length
Keepclear: side offset1 offset2
IO constraint cont.
Version: 1
PAD_HALT
PAD_CLK
Pad: CORNER0 NW PCORNERDGZ
Pad: PAD_CLK N
Pad: PAD_HALT N
PAD_IOVDD1
PAD_IOVSS1
Pad: PAD_IOVSS1 S PVSS2DGZ
menus
design views
tool widgets
switch bar
Calculate
Zoom Hierarchy Fence Attribute Xwindow
Design Import Fit Previous Down/Up Density Editor dump/undump
FloorplanView
¾ displays the hierarchical module and block
guides,connection flight lines and floorplan objects
Amoeba View
¾ display the outline of modules after placement
Placement View
¾ display the detailed placements of cells, blocks.
Display Control
Select Bar
Common Used Bindkeys
I2 O2
IOVDD IOVSS
I3 O3
Tape out
Verilog
VHDL
DRC LVS
Gate level
netlist GDSII
Buffer Name/Footprint:
¾ specifies the buffer cell family to be inserted or swapped.
¾ required to run IPO and TD placement. Footprint Example:
Delay Name/Footprint: For Cells:
BUFXL
¾ required to run a fix hold time violation BUFX1
Inverter Name/Footprint: BUFX2
BUFX3
¾ required to run IPO and TD placement. BUFX4
Get footprint of library cells by: BUFX8
BUFX12
¾ TimingÆReportÆCell Footprint BUFX16
BUFX20
Footprint : buf
Import Design -- Power
9
9
9
9
9
Global Net Connection
9
Specify Floorplan 9
9
FloorplanÆSpecify Floorplan …
9 9
9 9
9
9
78
Specify Floorplan – Doube back rows
Double-back rows:
Row Spacing > 0
Row Spacing = 0
Core Limit, I/O Limnt
Power Planning: Add Rings
9
9
9
Power Planning: Wire Group
Block C Block C
9
Power Planning: Add Stripes
9
9
9
9
9
9
Power Planning:
Add Stripes
9
9
9
crossover
via array
Placement
PlaceÆPlace…
Prototyping : Runs quickly, but components may not be placed at legal
location.
Timing Driven:
¾ Build timing graph before place.
¾ meeting setup timing constraints
with routability.
¾ Limited IPO by
upsizeing/downsizing instances. 9
Reorder Scan Connection 9
¾ nets connected to either the
scan-in or scan-out are ignored.
Check placement after placed
¾ placeÆCheck Placement
Floorplan Purposes
Soft Guide
Guide
Region Soft Guide Guide
Fence
Region Fence
Guide , Region, Fence
Placement constraint
Create guide for timing issue
A critical path should not through
two different modules
The more region, the more
complicated floorplanning
Add Tiehi/Tielo cell
Clock problem
¾ Heavy clock net loading
¾ Long clock insertion delay
¾ Clock skew
¾ Skew across clocks
¾ Clock to signal coupling effect
¾ Clock is power hungry
¾ Electromigration on clock net
Clock is one of the most important treasure in a chip, do
not take it as other use.
Clock Tree Topology
Synthesize Clock Tree
9
9
9
CTS
CTS traces the clock starting from a root pin, and stops at:
¾ A clock pin
¾ A D-input pin
¾ An instance without a timing arc
¾ A user-specified leaf pin or excluded pin
Write a CTS spec. template:
¾ specifyClockTree -template
CTS spec.
Reconvergence clock
Crossover clock
Clock Synthesis report
TimingÆOptimization…
IPO
¾ setup time
¾ hold time
¾ SI
¾ DRV (Design
Rule Violation)
Trial Route
V=25/20 H=16/18
The vertical (V) overflow is 25/20 (25 tracks are required , but only 20 tracks are available) .
The Horizontal (H) overflow is 16/18 (16 tracks are required , and18 tracks are available) .
Trial Route Congestion Marker cont.
No Async/Async:
¾ recovery, removal check
No Skew/Skew:
¾ check with/without clock
skew constraint
Slack Browser
TimingÆDebug Timing
Power Analysis
TimingÆExtract RC…
PowerÆEdit Pad Location…
PowerÆEdit Net Toggle Probability…
9
9
9
9
SRoute
ADD IO FILLER
Add IO filler cont.
RouteÆNanoRoute/Attributes
Antenna Effect
metal2 Plasma
metal2 Plasma
via2 + + + + + ++ + + + metal1 + + +
via1
via1 metal1
poly
gate oxide
Add Core Filler
PlaceÆFillerÆAdd Filler…
PR boundary
Bonding matel
Inner Bonding
Outer Bonding
Add bonding pads (stagger IO pads only)
DesignÆSaveÆGDS…
DesignÆSave->Netlist…
DesignÆSave->DEF
Export GDS for DRC,LVS,LPE,and tape out.
Export Netlist for LVS and simulation.
Export DEF for reordered scan chain.
Stream Out map
METAL1 ALL 16 0
NAME METAL1/NET 16 0
NAME METAL1/SPNET 40 0
NAME METAL1/PIN 40 0
NAME METAL1/LEFPIN 16 0
VIA12 ALL 17 0
METAL2 ALL 18 0
…
…