vlsi crash course automatic place and route...
TRANSCRIPT
![Page 1: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/1.jpg)
NTU GIEE EECS
VLSI Crash Course
Automatic Place and Route (APR)
Energy-Efficient Circuit and System Lab
2018.07.17
![Page 2: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/2.jpg)
NTU GIEE EECS
About
Goal
How to run APR
What the tool (wants to) do in each step (brief)
Ref
CIC (C106) Cell-Based IC Physical Design and Verification
with SOC Encounter Training Manual, July-2016
Innovus
2
![Page 3: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/3.jpg)
Cell-Based IC Physical Design and Verification
- Encounter Digital Implementation
3
![Page 4: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/4.jpg)
Class Schedule
• Day1
• Design Flow Over View
• Prepare Data
• Getting Started
• Importing Design
• Specify Floorplan
• Power Planning
• Placement
• Day2
– Synthesize Clock Tree
– Timing Analysis
– Trial Route
• Power Analysis
• SRoute
• NanoRoute
• Fill Filler
• Output Data
• Day3
• DRC
• LVS
• extraction/nanosim
• Foundation flow
4
![Page 5: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/5.jpg)
NTU GIEE EECS
OVERVIEW
5
![Page 6: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/6.jpg)
Cell-Based Design Flow
Logic synthesis
Place&Route
Gate-Level netlist
Post layout
Gate-Level netlist
GDS layout
RTL code always @ (posedge clk)
if (in1==1)
a=c+d
else
a=c-d
Formal
Formal
LVS
RTL Simulation
Lint check
code coverage analysis
Gate level Simulation
Static Timing Analysis
Power Analysis
Gate level Simulation
Static Timing Analysis
Power Analysis
Extraction
DRC
transistor netlist
Tape out
Transistor-level Simulation
Transistor-level STA
Power Analysis
Implenentation Verification
6
![Page 7: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/7.jpg)
Cell Library
A1O 0.1ns
A2O 0.2ns
symble
function NAND
timing
layout
schematic
abstract
NOR
A1O 0.1ns
A2O 0.2ns
XOR INV ADD FF
A1O 0.1pw
A2O 0.2pw power A1O 0.1pw
A2O 0.2pw
7
![Page 8: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/8.jpg)
Innovus P&R flow
IO constraints
Output GDS,
Netlist
Netlist (verilog)
Timing constraints (sdc)
IO,P/G Placement
Specify floorplan
Power Planning
Power Analysis
Amoeba Placement
Timing Analysis
Pre-CTS Optimization
Clock Tree Synthesis
Timing Analysis
Post-CTS Optimization
SI Driven Route
Timing/SI Analysis
Post-Route Optimization
RC
dela
y d
ata
Op
timize
cap
ab
ility
detail
rou
gh
hig
h
low
8
![Page 9: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/9.jpg)
IO, P/G Placement
Corner1 I1
VDD O1
Corner2
I2 O2
IOVDD IOVSS
I3 O3
Corner3
I4
VSS
O4
Corner4
9
![Page 10: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/10.jpg)
Specify Floorplan
Hight
Width
10
![Page 11: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/11.jpg)
Floorplan
I1
VD
D
O1
I2 O2 M2
IOVD
D
IOVSS
I3 O3
I4 VSS O4
M1 M3
11
![Page 12: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/12.jpg)
Power Planning
VDD
VSS
12
![Page 13: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/13.jpg)
Power Route
13
![Page 14: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/14.jpg)
Add IO Filler
14
![Page 15: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/15.jpg)
Placement
15
![Page 16: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/16.jpg)
Clock Tree Synthesis
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D CLK
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
D
Q
D
Q CLK
16
![Page 17: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/17.jpg)
Routing
17
![Page 18: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/18.jpg)
NTU GIEE EECS
BEFORE APR
18
![Page 19: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/19.jpg)
Prepare Data • Library
– Physical Library (LEF)
– Timing Library (LIB)
– Capacitance Table
– Celtic Library
• User Data
– Gate-Level Netlist (verilog)
– SDC Constraints
– IO Constraints
– Scan Def
Noise model
19
![Page 20: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/20.jpg)
LEF Format Process Technology
Layers
POLY
Contact
Metal1
Via1
Metal2
Design Rule
Net width Net spacing Area Enclosure Wide metal Slot Antenna Current density
Parasitic
Resistance Capacitance
20
![Page 21: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/21.jpg)
LIB Format
• Operating condition – slow, fast, typical
• Pin type – input/output/inout
– function
– data/clock
– capacitance
• Path delay/transition
• Internal power
• Timing constraint – setup, hold, mpwh, mpwl, recovery,
removal …
CLK
D Q
QN
type: input
setup/hold time
internal power
CLKQ delay
CLKQN delay
type: clock
mpwh/mpwl
max transition
internal power
function: ff
footprint
area
leakage power
type: output
max_cap/max_fanout
internal power
output transition
type: output
max_cap/max_fanout
internal power
output transition
21
![Page 22: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/22.jpg)
Gate-level Netlist
• Designing a chip , IO pads should be added before the netlist is imported.
22 22
![Page 23: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/23.jpg)
Gate-level Netlist
• Remove “assign” statement before APR.
– The assign statement can be removed in Encounter
Encounter> setDoAssign -buffer buf_name on
• Make sure that there is no “ *cell*” net name in the netlist. – Use the synthesis commands (DC) below to remove “*cell*” cell name
dc_shell> define_name_rules name_rule –map {{\\*cell\\* cell”}}
dc_shell> change_names –hierarchy –rules name_rule
• Ensure the names of all instantiated cell types are unique unix> uniquifyNetlist –top TOP output_netlist input_netlist
A B
assign B=A ;
23
![Page 24: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/24.jpg)
S D C Constraint basic
create_clock
set_clock_latency
set_clock_uncertainty
latency
CK
latency unce rtainty
CK
input drive
input delay
output load
output delay
set_input_delay
set_output_delay
set_drive
set_load
current design
create
clock
24
![Page 25: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/25.jpg)
Basic Sdc File
create_clock [get_ports {CLK}] -name CLK -period 8 -waveform {0 4}
set_clock_latency 2 [get_clocks {CLK}]
set_clock_uncertainty 1 [get_clocks {CLK}]
set_input_delay 2 [remove_from_collection [all_inputs] [get_ports CLK]]
set_output_delay 2 –clock CLK [all_outputs]
set_drive 0.1 [all_inputs]
set_load -pin_load 20 [all_outputs]
25
![Page 26: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/26.jpg)
IO Constraint
(globals
version = 3
io_order =default
)
(iopad
(top
(inst name=“P_CLK”)
(inst name=“P_HALT”)
)
(right
(inst name =“P_VDD1” cell=“PVDD1DGZ”)
(inst name =“P_VSS1” cell=“PVSS1DGZ”)
)
(left
(inst name=“P_X1”)
(inst name=“P_X2”)
)
(bottom
(inst name=“P_IOVDD1” cell=“PVDD2DGZ”)
(inst name=“P_IOVSS1” cell=“PVSS2DGZ”)
)
(topright
(inst name=“CORNER0” cell=“PCORNER”)
)
(topright/topleft/bottomrignt/bottomleft
……...
)
)
bottom
top
right
left
P_CLK
P_X1
P_HALT
P_X2
P_IOVDD1
P_IOVSS1
P_VDD1
P_VSS1
CORNER0
CORNER3
CORNER2
CORNER1
topright toplef
bottomlef bottomright
26
![Page 27: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/27.jpg)
IO Constraint version2
S
N PAD_CLK
PAD_X1
PAD_HALT
PAD_X2
W
PAD_IOVDD1
PAD_IOVSS1
PAD_VDD1
PAD_VSS1
E
CORNER0
CORNER3 CORNER2
CORNER1
Version: 2
Pad: CORNER0
Pad: PAD_CLK
NW PCORNER
N
Pad: PAD_HALT N
Pad: CORNER1 NE PCORNER
Pad: PAD_X1 W
Pad: PAD_X2 W
Pad: CORNER2 SW
Pad: PAD_IOVDD1
Pad: PAD_IOVSS1
PCORNER
S PVDD2DGZ
S PVSS2DGZ
Pad: CORNER3 SE PCORNER
Pad: PAD_VDD1 E PVDD1DGZ
Pad: PAD_VSS1 E PVSS2DGZ
27
![Page 28: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/28.jpg)
Power Pad Issues
• SSO
– Simultaneously Switch Outputs
• DI
– Maximum number of copies of an I/O cell switching from high to low
simultaneously without making the voltage on the quiet output “0”
higher than a threshold value “Vil” when a single ground cell is
applied.
• DF
– Drive Factor, DF = 1/DI
• SDF
– Sum of Drive Factor
Ground
pad
Output
pad
Ground
bounce
1 DI < Vil
DF 1 < Vil
28
![Page 29: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/29.jpg)
Power Pad Issues cont.
• Parameter of DF
– Operating condition
– Package inductance
– Slew-rate control IO
– IO type with different drive strength
• In SSO case
– Required number of ground pads = SDF
– Required number of power pads = SDF/1.1
• Non SSO case (suggest)
– Required number of ground pads = SDF/1.5
– Required number of power pads = SDF/1.6
29
![Page 30: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/30.jpg)
Power Pad Issues Example
• If a design has 20 PDB02DGZ(2mA), 10
PDD16DGZ(16mA). then
• SDF = 20 x 0.02 + 10 x 0.3 = 3.4
• In SSO case,
– number of VSS pad = 3.4 4
– number of VDD pad = 3.4/1.1 = 3.09 4
IO Type 2mA 4mA 8mA 12mA 16mA 24mA
DF Value 0.02 0.03 0.09 0.18 0.3 0.56
Drive Factor
30
![Page 31: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/31.jpg)
Cadence On-Line Document : cdnshelp
/usr/cad/cadence/EDI/cur/tools/bin/cdnshelp
![Page 32: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/32.jpg)
NTU GIEE EECS
INTERFACE
32
![Page 33: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/33.jpg)
Getting Started
• Source the encounter environment: unix% source /usr/cad/cadence/CIC/edi.cshrc
unix% source /usr/cad/cadence/CIC/innovus.cshrc
• Invoke soc encounter : unix% encounter
unix% innovus
• Do not run in background mode. Because the terminal become the
interface of command input while running soc encounter.
• Log file:
– innovus.log*
– innovus.cmd*
33
![Page 34: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/34.jpg)
GUI
display control
design display area
auto query
cursor coordinates
tool widgets
name of
selected
object
menus design views
34
![Page 35: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/35.jpg)
Display Control
Display Select 35
![Page 36: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/36.jpg)
Common Used Bindkeys
Key Action
q Edit attribute
f Fits display
z Zoom in
Z Zoom out
Arrows pans design area in the
direction of the arrow
Escape Cancel
K Removes all rulers
Key Action
space Select Next
e popup Edit
T editTrim
0-9 toggle layer[0-9] visibility
h/H hierarchy up/down
x clear Drc
N next via
Looking for more bindkey:
OptionsSet Preference, Binding Key
36
![Page 37: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/37.jpg)
NTU GIEE EECS
APR FLOW
37
![Page 38: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/38.jpg)
Import Design
IO Assignment File: get a IO assignment template:
DesignSaveI/O File…
FileDesign Import…
Import LEF in the order:
technology first
geometry lef for cell/block
antenna lef for cell/block
powerplan placement CTS routing floorplan import
38
![Page 39: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/39.jpg)
MMMC Browser FileDesign Import
![Page 40: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/40.jpg)
Why MMMC Case1
module A
K module B CL
Operation Mode1: moduleA runs on 100MHz
moduleB not use
Operation Mode2: moduleA runs on 50MHz
moduleB runs on 50MHz
40
![Page 41: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/41.jpg)
Why MMMC Case2
• The design is required to meet 3 operating corner
– Corner1: 1.1V , 0°C
– Corner2: 0.9V , 100°C
– Corner3: 1.1V , 100°C
41
![Page 42: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/42.jpg)
Multi-Mode Multi Corner expand view
Library Sets 1
Active Analysis View set_analysis_view
-setup V1 V2 V4 V5 V7 V8
-hold V3 V6 V9
SDC 1
Delay Corner 1
Delay Corner 2 Library Sets 2
RC Corner 1
RC Corner 2
V1
Mode Corner
SDC 2
SDC 3
Delay Corner 3 Library Sets 3
RC Corner 3
Analysis View V2 V3 V4 V5 V6 V7 V8 V9
42
![Page 43: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/43.jpg)
Multi-Mode Multi Corner
Power Mode - each doamin@nominal
- one sdc
Constraint Mode - one sdc
Analysis View - one constraint mode
- one delay corner
Operating
Condition - PVT
Library Sets - group of librarys
-cdb librarys
Delay Corner - one(or two) libray set
- one RC corner
- one(or two) op cond.
RC Corner - Captable
- res/cap factor
- qx tech file
SDC - clock
- io timing
- case analysis
- false path
- multi-cycle path
……
Active Analysis View set_analysis_view
-setup views_for_setup_analysis
-hold views_for_hold_analysis
43
![Page 44: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/44.jpg)
MMMC Example
44
![Page 45: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/45.jpg)
MMMC Example
45
![Page 46: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/46.jpg)
Global Net Connection
Power Connections Gloval Nets …
powerplan placement CTS routing floorplan import
VDD
1'b1
VSS
tie high net
INV inv1(.I(1’b1), .O(o));
46
![Page 47: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/47.jpg)
Specify Floorplan
Hight
Width
FloorplanSpecify Floorplan …
powerplan placement CTS routing floorplan import
47
![Page 48: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/48.jpg)
Place Block
FloorplanAutomatic FllorplanPlan Design…
Automatic generate a quick, initial floorplan.
Move/Resize/Reshape floorplan object.
edit floorplan by functions in :
FloorplanEdit Floorplan
powerplan placement CTS routing floorplan import
48
![Page 49: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/49.jpg)
Block Placement
• Block place issue
– power issue
– noise issue
– route issue
powerplan placement CTS routing floorplan import
49
![Page 50: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/50.jpg)
Blockage
• Placement Blockage
– Hard
– Soft
• The initial placement should not use the area, but later phases, such as
optimization of CTS can use the blockage area.
– Partial
• The initial placement should not use more than maxDensity percentage
of the blockage area.
• Routing Blockage
– Blockage on given routing layers
powerplan placement CTS routing floorplan import
50
![Page 51: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/51.jpg)
Add Halo t o Block
FloorplanEdit FloorplanEdit Halos…
• Prevent the placement of blocks and standard cells in order to reduce
congestion around a block.
powerplan placement CTS routing floorplan import
hot spot
halo
hard route halo
metal2
power ring
51
![Page 52: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/52.jpg)
Placement
PlacePlace Standard Cells …
powerplan placement CTS routing import
CLK
D Q
CLK
D Q
CLK
D Q
CLK
D Q
CLK
Q
CLK
Q
clk
O
B
d2 D
d1 D
d3
floorplan
52
![Page 53: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/53.jpg)
Mode Setup -- Placement
OptionsSet ModeMode Setup…
powerplan placement CTS routing import floorplan
53
![Page 54: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/54.jpg)
Scan Chain
Z
11110000
11001100
outputs
hard to assign value hard to observe
B
10101010 C
A Reg
Reg
Reg
Inspcuatsn_in
0011s0c0a0n0_out
Reg
Scan Flip-Flop
Q
TI 1
0
TO
Reg DI
TE
CK
QN
Scan Enable
Tester Cycles
Clock
Measure PO’s
54
![Page 55: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/55.jpg)
Specify Scan Chain with scan def
SCANCHAINS 1 ;
- scan1
+ START SIN
+ FLOATING
DCT_tposemem_Bisted_RF_2P_ADV64x16_BistCtrl_i0/S44/State_reg[2] ( IN SI ) ( OUT QN )
DCT_tposemem_Bisted_RF_2P_ADV64x16_BistCtrl_i0/S44/State_reg[1] ( IN SI ) ( OUT Q )
DCT_tposemem_Bisted_RF_2P_ADV64x16_BistCtrl_i0/S44/State_reg[3] ( IN SI ) ( OUT Q )
DCT_tposemem_Bisted_RF_2P_ADV64x16_BistCtrl_i0/S44/State_reg[0] ( IN SI ) ( OUT QN )
…………
+ ORDERED
DCT/tposemem_Bisted_RF2SH64x16_BistCtrl_i0_ST_MAL_i0_S17_reg ( IN SI ) ( OUT QN )
DFT_shared_out_mux_3 ( IN B ) ( OUT Y )
+ STOP SOUT
;
END SCANCHAINS
END DESIGN
scan_def CK
SE
D Q
SI
CK SE
D Q
SI SIN
CK SE
D Q
SI
CK SE
D Q
SI
SOUT
ORDERED
FileLoadDEF…
powerplan placement CTS routing import floorplan
55
![Page 56: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/56.jpg)
Generate Scan Def
• Design Vision
– write_scan_def –o scan.def
• RTL compiler
– write_scandef > scan.def
56
![Page 57: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/57.jpg)
encounter > specifyScanChain scanChainName
–start {ftname | instPinName}
– stop {ftname | instPinName}
• specifyScanChain
– ftname
• The design input/output pin name
– instPinName
• The design instance input/output pin name
• Specifies a scan chain in a design. The actual tracing of the scan chain is
performed by the scanTrace or scanReorder command
• Enables scanTrace trace through multiple input logic gates in scan path
– setScanReorderMode -compLogic
Specify Scan Chainwith specifyScanChain command
powerplan placement CTS routing import floorplan
57
![Page 58: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/58.jpg)
Scan Chain Reorder
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D Q
D Q
D
Q
D
Q
D
Q
SCAN IN SCAN OUT D
Q SCAN IN SCAN OUT D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D
Q
D Q
D Q
D
Q
D
Q
D
Q
powerplan placement CTS routing import floorplan
58
![Page 59: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/59.jpg)
Add Tiehi/Tielo cell
Tiehi/Tielo cell connect tiehi/tielo net to supply voltage or
ground with resister
Tiehi/Tielo cell is added for ESD protection.
PlaceTie Hi/Lo CellAdd A tie high cell
VDD
1'b1
Y
VSS
VDD
1'b1
powerplan placement CTS routing import floorplan
59
![Page 60: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/60.jpg)
Power Planning: Add Rings
PowerPower PlanningAddRings
powerplan placement CTS routing floorplan import
60
![Page 61: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/61.jpg)
Power Planning: Add Rings
Use wire group to avoid slot DRC error VDD
VDD GND
GND
powerplan placement CTS routing floorplan import
metal slot
61
![Page 62: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/62.jpg)
Power Planning: Wire Group
VDD
VDD
GND
GND
VDD
VDD
GND
GND
Use wire group
no interleaving
number of bits = 2
Use wire group
interleaving
number of bits = 2
powerplan placement CTS routing floorplan import
62
![Page 63: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/63.jpg)
Max Density Rule
• Max density violation usually happened on power ring
• Max density rule : metal area coverage must < 70%
powerplan placement CTS routing floorplan import
2x x
2x x 2x x
2x
density = 2x
2x+x = 66%
63
![Page 64: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/64.jpg)
Power Planning: Block Ring
powerplan placement CTS routing floorplan import
VDD
VDD
GND
GND
64
![Page 65: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/65.jpg)
Power Planning: Add Stripes
VDD
VDD
GND
GND
powerplan placement CTS routing floorplan import
I
I1
I2
I3
IR drop
65
![Page 66: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/66.jpg)
Power Planning: Add Stripes powerplan placement CTS routing floorplan import
66
![Page 67: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/67.jpg)
Power Planning: Add Stripes
98
powerplan placement CTS routing floorplan import
VDD
VDD
VSS
VSS
blockage
67
![Page 68: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/68.jpg)
SRoute
• RouteSpecial Route
• Route Special Net (power/ground net)
– Block pins
– Pad pins
– Follow pins
– Floating Stripes
– Secondary Power Pins
powerplan placement CTS routing floorplan import
68
![Page 69: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/69.jpg)
PowerPlan Order hint: connect wider nets prior then narrow ones.
1. create power ring
2. connect pad pin
3. create block ring
4. connect block pin
5. create stripe
6. connect follow pin
powerplan placement CTS routing floorplan import
69
![Page 70: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/70.jpg)
Add IO Filler
• Connect IO pad power bus by inserting IO filler.
• Add from wider filler to narrower filler.
ADD IO FILLER
addIoFiller –cell <fillerCellName>
[ –prefix <prdfix> ]
[ -side { n|w|s|e } ]
[ -fillAnyGap ]
powerplan placement CTS routing floorplan import
70
![Page 71: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/71.jpg)
Add IO Filler cont.
• In order to avoid DRC error
– The sequence of placing fillers must be from
wider fillers to narrower ones.
– Only the smallest filler can use -fillAnyGap option.
• Use addIoFiller.cmd provided in CIC design kit – source addIoFiller.cmd
addIoFiller -cell PADFILLER20 -prefix IOFILLER
addIoFiller -cell PADFILLER10 -prefix IOFILLER
addIoFiller -cell PADFILLER5 -prefix IOFILLER
addIoFiller -cell PADFILLER1 -prefix IOFILLER
addIoFiller -cell PADFILLER05 -prefix IOFILLER
addIoFiller -cell PADFILLER0005 -prefix IOFILLER -fillAnyGap
fill any gap
A gap that unable to place any filler
powerplan placement CTS routing floorplan import
71
![Page 72: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/72.jpg)
Clock Problem
• Clock problem
– Heavy clock net loading
– Long clock insertion delay
– Clock skew
– Skew across clocks
– Clock to signal coupling effect
– Clock is power hungry
powerplan placement CTS routing floorplan import
72
![Page 73: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/73.jpg)
Clock Tree Topology
CLK
powerplan placement CTS routing floorplan import
73
![Page 74: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/74.jpg)
Clock Concurrent Optimization powerplan placement CTS routing floorplan import
74
![Page 75: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/75.jpg)
Create CCOpt Clock Tree Spec
Create a clock tree specification by analyzing the timing graph structure of all
active setup and hold analysis views
create_ccopt_clock_tree_spec
or written to a file for inspection and then loaded
create_ccopt_clock_tree_spec -file ccopt.spec
source ccopt.spec
A clock tree specification contains clock_tree, skew_group, and property settings.
75
![Page 76: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/76.jpg)
Optimization
Optimize Optimize Design…
• Optimization
– setup time
– hold time
– DRV (Design Rule
Violation)
powerplan placement CTS routing floorplan import
76
![Page 77: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/77.jpg)
NanoRoute
RouteNanoRouteRoute
powerplan placement CTS routing floorplan import
Optimize Via
Optimize Wire
77
![Page 78: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/78.jpg)
Verify Geometry
VerifyVerify Geometry
CTS routing import floorplan powerplan placement
78
![Page 79: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/79.jpg)
Verify Connectivity
VerifyVerify Connectivity
CTS routing import placement floorplan powerplan
D Q
CLK
D Q
CLK
D Q
CLK
D Q
CLK
D Q
CLK
D Q
CLK
connectivity
database
layout
database
79
![Page 80: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/80.jpg)
Add Core Filler
PlaceFillerAdd Filler…
• Connect the NWELL/PWELL layer in core rows.
• Insert Well contact.
• Add from wider filler to narrower filler.
powerplan placement CTS routing floorplan import export
core filler
well
gap
80
![Page 81: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/81.jpg)
Add Bonding Pads
PIN
Bonding matel
Logic and driver
Linear IO pad Stagger IO pad
PR boundary
Outer Bonding
Inner Bonding
Abutted Stagger IO
powerplan placement CTS routing floorplan import export
81
![Page 82: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/82.jpg)
Circuit under Pad
traditional bonding pad CUP bonding pad
200 u
m
82
![Page 83: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/83.jpg)
Add Bonding Pads
• For the limitation of bonding wire technique , the
stagger IO pads are used in order to reduce IO pad
width.
• We have to add the bonding pads after APR is finished if
stagger IO pads is used. But Encounter does not provide
a built-in function for add bonding pads, CIC reaches
this purpose by the way of importing DEF.
• CIC provides a perl script to calculate the bonding pad
location. The full flow is described in next page
powerplan placement CTS routing floorplan import export
83
![Page 84: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/84.jpg)
Add Bonding Pads Flow (stagger IO pads only)
A placed and routed
design in encounter
routed.def
addbond.cmd addbonding_v3.pl routed.def
(In unix terminal)
Export DEF
(In encounter)
source addbond.cmd
(In encounter terminal)
finish
addbonding_v3.pl
io.list
powerplan placement CTS routing floorplan import export
84
![Page 85: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/85.jpg)
Add Dummy Metal
• Why add dummy
– meet minimize metal density rule
– prevent over etching
– prevent sagging in local area
– improve yield
– reduce on chip variation
• Better connect dummy metal to VSS
• Side effect
– introduce parasitic to signal line
85
![Page 86: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/86.jpg)
Add Dummy Metal
RouteMetal FillSetup…
![Page 87: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/87.jpg)
Add Dummy Metal
RouteMetal FillAdd…
![Page 88: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/88.jpg)
Add Text IOVDD & IOVSS
add_text -layer METAL5 -label IOVSS -pt 1365 1095 -height 10
add text location
powerplan placement CTS routing floorplan import export
88
![Page 89: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/89.jpg)
Output Data powerplan placement CTS routing floorplan import export
DesignSaveGDS…
DesignSaveNetlist…
write_sdf
DesignSaveDEF
• Export GDS for DRC,LVS,LPE,and tape out.
• Export Netlist for LVS and simulation.
• Export Netlist and sdf for post layout simulation
• Export DEF for reordered scan chain.
89
![Page 90: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/90.jpg)
Export Sdf
source savesdf.cmd
savesdf.cmd setAnalysisMode -analysisType bcwc
write_sdf -max_view av_func_mode_max \
-typ_view av_func_mode_typ \
-min_view av_func_mode_min \
CHIP.sdf -edges noedge \
-splitsetuphold \
-remashold \
-splitrecrem \
-min_period_edges none \
CHIP.sdf
(CELL
(CE
(IN
S
(DE
(AB
(IOP
)
)
)
LLTYPE "INVXL")
TANCE DFT_shared_out_mux_6)
LAY
SOLUTE
ATH A Y (0.14:0.29:0.32) (0.08:0.17:0.23))
90
![Page 91: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/91.jpg)
Stream Out
streamOut CHIP.gds \
-mapFile streamOut.map \
-merge { gds/RF2SH64x16.gds \
gds/tpb973gv.gds \
gds/tsmc18_core.gds \
gds/tsmc18_io.gds } \
-stripes 1 -units 1000 -mode ALL
EditSaveGDS/OASIS…
• source savegds.cmd savegds.cmd
91
![Page 92: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/92.jpg)
Stream Out
• Merge gds
only cell name and location full cell layout information
cell gds
92
![Page 93: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/93.jpg)
NTU GIEE EECS
FOUNDATION FLOW
93
![Page 94: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/94.jpg)
Flow Step
94
![Page 95: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/95.jpg)
Create Flow Environment
1. Create Flow template – FlowsCreate Foundation Flow TemplateSave
– writeFlowTemplate
2. Prepare setup file – FlowsFoundation Flow Wizard…
– SCRIPTS/gen_edi_setup.tcl
3. Generate script – SCRIPTS/gen_edi_flow.tcl
or
or
95
![Page 96: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/96.jpg)
Foundation Flow Wizard
• FlowsFoundation Flow Wizard…
96
![Page 97: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/97.jpg)
NTU GIEE EECS
POST-LAYOUT VERIFICATION
97
![Page 98: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/98.jpg)
Post-Layout Verification Overview
• Post-Layout Verification do the following
things : (by Mentor Calibre)
– DRC (Design Rule Check )
– LVS (Layout versus Schematic )
– ERC (Electrical Rule Check )
– LPE/PRE (Layout Parasitic Extraction / Parasitic
Resistance Extraction) and Post-Layout
Simulation.
98
![Page 99: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/99.jpg)
208
Post-Layout Verification Overview cont.
DRC
LPE/PRE ERC
LVS
0 1 2 3
i zn compare with
zn i
vdd!
VSS!
zn i
vdd!
VSS!
zn i extract
clk vdd!
short
99
![Page 100: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/100.jpg)
DRC Flow
• Prepare Layout
• Prepare command file
• Run DRC
• View DRC error (DRC
summary/RVE)
100
![Page 101: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/101.jpg)
Prepare Layout
• Stream out with cell gds merged
• Be sure to use layer map file
provided by CIC
101
![Page 102: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/102.jpg)
Prepare Command File
• Prepare DRC Command file:
– TSMC 90nm (CBDK_TSMC90G_Arm) Calibre
• CLN90S_3XTM_9M.22a1
– TSMC 0.18 (CBDK018_TSMC_Artisan) Calibre
• CLM18_LM16_6M.28a_m.drc
102
![Page 103: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/103.jpg)
Prepare Calibre Command file
• Edit runset file
LAYOUT PATH “CHIP.gds2”
LAYOUT PRIMARY “CHIP”
LAYOUT SYSTEM GDSII
…
…
…
DRC SELECT CHECK
NW.W.1
NW.W.2
…
DRC UNSELECT CHECK
NW.S.1Y
NW.S.2Y
…
DRC ICSTATION YES
INCLUDE “Calibre-drc-cur”
103
![Page 104: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/104.jpg)
Submit Calibre Job
• Submit Calibre Job
– unix% calibre –drc CLM18_LM16_6M.28a_m.drc
– Result log
– DRC.sum (ASCII result)
– DRC.db (Graphic result)
104
![Page 105: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/105.jpg)
View Calibre Result in SOC Encounter
ToolsViolation Browser…
![Page 106: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/106.jpg)
Calibre Interactive in Encounter
• STEP1
– source calibre.cshrc
– source edi.cshrc
– exec encounter
– In encounter terminal:
source /usr/cad/mentor/calibre/cur/lib/cal_enc.tcl
106
![Page 107: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/107.jpg)
Calibre Menu in Encounter
107
![Page 108: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/108.jpg)
Setup Streamout Options
• STEP2 : calibreSetupGDS Export
streamOut CHIP.gds \
-mapFile streamOut.map \
-merge { gds/RF2SH64x16.gds \
gds/tpb973gv.gds \
gds/tsmc18_core.gds \
gds/tsmc18_io.gds } \
-stripes 1 -units 1000 -mode ALL
108
![Page 109: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/109.jpg)
Calibre Interactive
• STEP3: calibreRun nmDRC
109
![Page 110: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/110.jpg)
Calibre RVE
110
![Page 111: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/111.jpg)
LVS Overview
b<0>
b<1>
b<2>
b<3>
b<4>
b<5>
VSS!
a<0>
a<1>
a<2>
a<3>
a<4>
a<5>
VDD
VSS s<0> s<1>. . . . . VSS
Layout Data Schematic Netlist
VDD clk rst cin sel VSS VDD
a<5:0>
b<5:0>
clk
rst
cin
sel
s<5:0>
carry
111
![Page 112: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/112.jpg)
LVS Flow
• Prepare Layout
– The same as DRC Prepare Layout
• Prepare Netlist
– v2lvs
• Prepare calibre command file
• Run calibre LVS
• View LVS error (LVS summary/RVE)
112
![Page 113: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/113.jpg)
Prepare Netlist for Calibre LVS
source.spi
• v2lvs –v CHIP.v –l tsmc18_lvs.v –l tpz973gv_lvs.v –s tsmc18_lvs.spi –s tpz973gv_lvs.spi –o
source.spi –s1 VDD –s0 VSS
If a macro DRAM64x16 is used • v2lvs –v CHIP.v –l tsmc18_lvs.v –l tpz973gv_lvs.v –l DRAM64x16.v –s tsmc18_lvs.spi –s
tpz973gv_lvs.spi –s DRAM64x16.spi –o source.spi –s1 VDD –s0 VSS
v2lvs
Prepare Netlist
Verilog
CHIP.v tsmc_18lvs.v
tpz973gv_lvs.v
tsmc_18lvs.spi
tpz973gv_lvs.spi
113
![Page 114: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/114.jpg)
CIC Supported Files (tsmc0.18)
CIC supports the following files in our cell library design kit.
Calibre LVS rule file
Calibre.lvs
Black-box LVS relative files
pseudo spice file
tsmc18_lvs.spi
tpz973gv_lvs.spi
pseudo verilog file
tsmc18_lvs.v
tpz973gv_lvs.v
114
![Page 115: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/115.jpg)
Generate Pseudo Verilog File
• Gen pseudo verilog for from simulation model, but leaving
only header definition.
• Gen pseudo spice by run v2lvs on pseudo verilog
unix% v2lvs –v RF2SH64x16.v
• ADD VDD VSS port on pseudo spice
module RF2SH64x16 (
QA,
AA,
CLKA,
CENA,
AB,
DB,
CLKB,
CENB
);
output [15:0] QA;
input [5:0] AA;
input CLKA;
input CENA;
input [5:0] AB;
input [15:0] DB;
input CLKB;
input CENB;
endmodule
.SUBCKT RF2SH64x16 QA[15] QA[14] QA[13] QA[12] QA[11] QA[10] QA[9] QA[8] QA[7]
+ QA[6] QA[5] QA[4] QA[3] QA[2] QA[1] QA[0] AA[5] AA[4] AA[3] AA[2] AA[1] AA[0]
+ CLKA CENA AB[5] AB[4] AB[3] AB[2] AB[1] AB[0] DB[15] DB[14] DB[13] DB[12]
+ DB[11] DB[10] DB[9] DB[8] DB[7] DB[6] DB[5] DB[4] DB[3] DB[2] DB[1] DB[0]
+ CLKB CENB
.ENDS
.SUBCKT RF2SH64x16 QA[15] QA[14] QA[13] QA[12] QA[11] QA[10] QA[9] QA[8] QA[7]
+ QA[6] QA[5] QA[4] QA[3] QA[2] QA[1] QA[0] AA[5] AA[4] AA[3] AA[2] AA[1] AA[0]
+ CLKA CENA AB[5] AB[4] AB[3] AB[2] AB[1] AB[0] DB[15] DB[14] DB[13] DB[12]
+ DB[11] DB[10] DB[9] DB[8] DB[7] DB[6] DB[5] DB[4] DB[3] DB[2] DB[1] DB[0]
+ CLKB CENB VDD VSS
.ENDS
115
![Page 116: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/116.jpg)
Prepare command file for Calibre LVS
• Edit Calibre LVS runset LAYOUT PATH “CHIP.calibre.gds”
LAYOUT PIMARY “CHIP”
LAYOUT SYSTEM GDSII
SOURCE PATH “source.spi”
SOURCE PRIMARY “CHIP”
…
…
INCLUDE “/calibre/LVS/Calibre-lvs-cur”
Edit Calibre LVS rule file …
…
LVS BOX PVSSC
LVS BOX PVSSR
LVS BOX DRAM64x4s
116
![Page 117: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/117.jpg)
Submit Calibre LVS
• calibre –lvs –spice layout.spi –hier –auto Calibre.lvs > lvs.log
layout verilog
source.spi layout.spi
v2lvs extract
117
![Page 118: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/118.jpg)
Check Calibre LVS Summary OVERALL COMPAISON RESULTS
OVERALL COMPARISON RESULTS
CORRECT
# ################### _ _
# # # * *
# # # # |
# # \ / # #
# ###################
118
![Page 119: VLSI Crash Course Automatic Place and Route (APR)media.ee.ntu.edu.tw/crash_course/2018/vlsi/secret/APR_v1.pdf · NTU GIEE EECS VLSI Crash Course Automatic Place and Route (APR) Energy-Efficient](https://reader030.vdocuments.us/reader030/viewer/2022041012/5ebec3de099cdc5d680a599e/html5/thumbnails/119.jpg)
NTU GIEE EECS
PRACTICE
119