SOC Encounter 2011
SOC Encounter 2011
SOC Encounter 2011
REF: CIC Training Manual Cell-Based IC Physical Design and Verification with SOC Encounter, July, 2006 CIC Training Manual Mixed-Signal IC Design Concepts, July, 2007
Speaker: C. S. Hou
Outline
Basic Concept of the Placement & Routing Auto Place and Route Using SOC Encounter Hard Block Abstraction Using Abstract Generator LAB
RTL Level
Verilog/ VHDL
NC-Verilog/ ModelSim Debussy (Verdi)/ VCS Physical Compiler/ Magma Blast Fusion Design/ Power Compiler DFT Compiler/ TetraMAX NC-Verilog/ ModelSim Debussy (Verdi)/ VCS SOC Encounter/ Astro GDS II DRC/ LVS (Calibre)
PVS: Calibre xRC/ NanoSim (Time/ Power Mill)
Syntest
Conformal/ Formality
Tape Out
Advanced Reliable Systems (ARES) Lab.
IO, P/G Placement Specify Floorplan Timing Analysis Pre-CTS Optimization Power Planning Power Analysis
Clock Tree Synthesis Timing Analysis Post-CTS Optimization Power Route SI Driven Route Timing/SI Analysis
GDS Netlist Spef DEF
Corner1
I1
VDD
O1
Corner2
I2
O2
IOVDD
IOVSS
I3
O3
Corner3
I4
VSS
O4
Corner4
Specify Floorplan
Determine the aspect ratio of the Core and the gap between the PAD and Core
The Core Utilization is determined in this step The final CHIP area is almost determined in this step
Hight
Width
Advanced Reliable Systems (ARES) Lab.
Floorplan
Determine the related positions of Hard Blocks
The performance is highly affected Corner1 I1 VDD O1 Corner2
I2 M2 IOVDD M1 M3
O2
IOVSS
I3
O3
Corner3
I4
VSS
O4
Corner4
Amoeba Placement
Observe the result of cells and Hard Blocks placement
Power Planning
Plan the power ring & power stripe
IR-drop consideration
CLK
CLK
Power Analysis
IR-drop & electron migration
Power Route
Connect the power pins of standard cells to the global power lines
Add IO Filler
Fill the gap between PADs
Connect the PAD power rings
Routing
Construct the final interconnections
Prepare Data
Library
Physical Library (LEF)
Information of technology, standard cells, Hard Blocks, and APR
Capacitance Table
For more accurate RC analysis
Celtic Library
For crosstalk analysis
Not Necessary !
User Data
Gate-Level Netlist (Verilog) SDC Constraint (*.sdc) IO Constraint (*.ioc)
Advanced Reliable Systems (ARES) Lab.
Layer Metal1 TYPE ROUTING; WIDTH 0.28; MAXWIDTH 8; AREA 0.202; SPACING 0.28; SPACING 0.6 RANGE 10.0 10000.0; PITCH 0.66; DIRECTION VERTICAL; THICKNESS 0.26; ANTENNACUMDIFFAREARATIO 5496; RESISTANCE RPERSQ 1.0e-01; CAPACITANCE CPERSQDIST 1.11e-04; EDGECAPACITANCE 9.1e-05; END Metal1
Wide Metal
Spacing
a row
a site
a standard cell
Row Based PR
VDD
VSS
VDD VSS
Layer Metal1 Direction HORIZONTAL OVERHANG 0.2 Layer Metal2 Direction VERTICAL OVERHANG 0.2 Layer Via1 RECT -0.14 -0.14 0.14 0.14 SPACING 0.56 BY 0.56 Generated Via
Advanced Reliable Systems (ARES) Lab.
Default Via
SPACING SAMENET Metal1 Metal1 0.23; SAMENET Metal2 Metal2 0.28 STACK; SAMENET Metal3 Metal3 0.28; SAMENET VIA12 VIA12 0.26; SAMENET VIA23 VIA23 0.26; SAMENET VIA12 VIA23 0.0 STACK; END SPACING
VIA12 and VIA23 allow stack Metal1 Same Net Spacing Rule
0.23
VDD Y B A
VSS
Barrier
LIB Format
Operating condition
Slow, fast, typical
Pin type
Input/output/inout Function Data/clock Capacitance
Gate-Level Netlist
If designing a chip, IO PADs, power PADs, and Corner PADs should be added before the netlist is imported Make sure that there is no assign statement and no *cell* cell name in the netlist
SDC Constraint
Clock constraints Input delay/ Input drive Output delay/ Output load False path Multi-cycle path
IO Constraint
Version: 1 Pad: CORNER0 Pad: PAD_CLK Pad: PAD_HALT Pad: CORNER1 Pad: PAD_X1 Pad: PAD_X2 Pad: CORNER2 Pad: PAD_IOVDD1 Pad: PAD_IOVSS1 Pad: CORNER3 Pad: PAD_VDD1 Pad: PAD_VSS1 NW PCORNERDGZ N N
CORNER0
PAD_CLK
PAD_HALT
CORNER1
PAD_X2
PAD_VSS1
PAD_X1
PAD_VDD1
S
PAD_IOVDD1 PAD_IOVSS1
CORNER2
CORNER3
(*.ioc File)
Advanced Reliable Systems (ARES) Lab.
SDF Example
IO Type 2mA 4mA 0.03 8mA 0.09 12mA 0.18 16mA 0.3 24mA 0.56
DF Value 0.02
If a design has 20 PDB02DGZ (2mA) and 10 PDD16DGZ (16mA). Then, SDF = 20 x 0.02 + 10 x 0.3 = 3.4 In SSO case,
NO. of VSS PAD = 3.4 4 NO. of VDD PAD = 3.4/1.1 = 3.09 4
CHIP-Level Netlist
Ex:
If your gate-level netlist is generated by CORE-level synthesis, you should all the CHIP-level module in it
(Module Declaration)
Set False Path to Your Test Pins Set Parameters to the PAD IO
Getting Started
linux %> ssh -l user name cae18.ee.ncu.edu.tw unix %> source /APP/cad/cadence/SOC/CIC/soc.csh unix %> encounter (Do not run in the background mode !!)
Connect to Unix
(Floorplan View)
Advanced Reliable Systems (ARES) Lab.
Specify Floorplan
Floorplan/Specify Floorplan
CORE Area
(result)
PAD Pins
Route/SRoute
Power Analysis
Power/Edit Pad Location Power/Power Analysis/Statistical
Ex:
(IR-Drop)
(EM)
Power Route
Route/SRoute
IO Filler
encounter %> source addIoFiller.cmd
Nano Route
Route/NanoRoute
Cell Filler
Place/Filler/Add Filler
Ex:
Save Design
Design/Save/Netlist *.v Timing/Calculate Delay *.sdf Design/Save/DEF *.def
SELECT Save Scan
Bounding PAD
unix %> chmod 755 addbonding.pl unix %> /usr/bin/perl addbonding.pl CHIP.def encounter %> source bondPads.cmd
Ex:
Save GDSII
Design/Save/GDS *.gds
LAB