Physical Design
Physical Design
Physical Design
Lecture Outline
Physical Implementation Styles ASIC Design Flow Floor and Power planning Placement Clock Tree Synthesis Routing Timing Analysis Verification and Energy Calculation
22 November, 2010
Slide 2
Cell Based
Standard Cells
Macro Cells
r o u ti n g a re a w a s te d sp a ce
Standard Cells
Standard Cell Height
VDD Bus P-Type Transistor Diff Spacing N-Type Transistor VSS Bus
2-input AND
4-input AND
22 November, 2010
Slide 5
Design Flow
Design Specification
VHDL Code
Logical Design
Thing you already learned in IL2204
learned in IL2200 till now
Simulation
No
Synthesis
Yes
22 November, 2010
Slide 6
Physical Design
22 November, 2010
Slide 7
Physical Design
Thing to Learn in this lecture
Routing
STA
Post Route Verification
Verification
Sign Off
22 November, 2010
Slide 8
You must have synthesized gate level netlist. Please verify that this netlist is working properly by doing gate level simulation in NCSim/ModelSim Also Generate Standard delay constraint file .sdc.
22 November, 2010
Slide 9
SoC Encounter
10
Design Import
Before starting the Physical Design We first have to import the design and associated libraries
.LEF File Contains layer, via and macro definition .LIB File (.TLF) This file has timing information e.g delay and capacitance Verilog Netlist Netlist file generated by Synthesis Tool .SDC File (Synopsys Design Constraints Format) Constraint file generated by synthesis tool .DEF File Design exchange format to output the design so it is readable by other modules.
IL2200 , ASIC Design Slide 11
22 November, 2010
Design Import
22 November, 2010
Slide 12
Design Import
Advance Power
22 November, 2010
Slide 13
Floor Planning
Flat
Small to Medium ASIC Better Area Usage Since no reserve space around each sub-design for power/ground
Hierarchical
For very large design When sub-systems are design individually Possible only if a design hierarchy exist.
IL2200 , ASIC Design Slide 14
22 November, 2010
#/* Translate to target independent structure (GTECH) */ analyze -format vhdl -lib WORK {"./SOURCE/mics.vhd"} analyze -format vhdl -lib WORK {"./SOURCE/SRAM.vhd"} .. elaborate FIR_Toplevel -lib WORK -update -param "width = 4" -param "filter_taps=5" ungroup all Link uniquify set_wire_load_mode segmented set_wire_load_model -name "TSMC8K_Lowk_Conservative" #T=-40, V=1.1 set_units -time ns -resistance kOhm -capacitance pF -voltage V -current mA set_operating_conditions LTCOM #/* Specify clock constraint */ create_clock clk -period 4 set_false_path -from rst_n compile -map_effort medium -boundary_optimization write -hierarchy -format verilog -output /home/ali/ASICLABS/LAB2/LAB2_FIRToplevel.v write_sdc /home/ali/ASICLABS/LAB2/MAPPED/constraints.sdc
22 November, 2010
IL2200 , ASIC Design Slide 15
Floor Planning
Automatic Floor Planning Seed Selection: USB controllers PCI controllers Hierarchical modules Automatic Floorplan Synthesis analyzes the data flow between seeds (design blocks) based on their connectivity and their location
22 November, 2010
Slide 16
Floor Planning
Capture and define the placement relationship of floorplan objects independently from the actual coordinates in a floorplan
flexible way to place objects, such as modules, blocks, groups, blockages, pin guides, pre-routed wires, and power domains
I/O pins can be used as reference objects but they cannot be relative objects
22 November, 2010
Slide 17
Floor Planning
Orientation Keys for Relative Floor Planning
22 November, 2010
Slide 18
Floor Planning
Pre-route example: S1 and S2 are relative to the object I2 and the Core_Boundary
22 November, 2010
Slide 19
Floor Planning
22 November, 2010
Slide 20
Floor Planning
Aspect Ratio
Height/Width
Area of Stand. Cell/Area of Core Distance from IO Boundary Distance from Die Boundary
Core Utilization
Core to IO Boundary
22 November, 2010
Slide 21
Floor Planning
22 November, 2010
Slide 22
Floor Planning
Move Tool
Rectilinear Tool
Blockage tools
Clusters
22 November, 2010
Slide 23
Partitioning
Part of Floor Planning Standard Cells are in Floating States before placement.
Have not been assigned a fixed location in Core Time to define clusters and regions
Soft Regions
Boundary can change during standard cell placement Prevent Standard cell crossing boundaries
IL2200 , ASIC Design Slide 24
Hard Regions
22 November, 2010
Partitioning
Exclusive Regions
Allow standard cells assigned to the region to be placed within the region Allow standard cells that do not belong to the region to be placed within the region
22 November, 2010
Slide 25
Power Planning
Rings
Carries VDD and VSS around the chip Carries VDD and VSS from Rings across the chip
Stripes
Rails
Connect VDD and VSS to the standard cell VDD and VSS
22 November, 2010
Slide 26
Power Planning
Rings Stripes (vertical or horizontal) VDD VSS Rails Special Route
Power Planning
28
22 November, 2010
Slide 29
Placement
Global Placement algorithm are partitioned based Two Associated Cost functions
Reduce Total wiring or routing length Distribute standard cell instances homogeneously in ASIC Core such that optimal equilibrium among vertical and horizontal routing is achieved
22 November, 2010
Slide 30
Detailed Placement
To Refine placement based on congestion, timing and power To distance standard cell instances from each other such that more routing tracks are created between them To optimize large sets of path delays Try to control the delay on signal path by imposing an upper bound delay or weight to net
Net Based
22 November, 2010
Slide 31
Automatic insertion of buffers/inverters along the clock path to balance the clock delay to all the clock inputs.
22 November, 2010
Slide 34
Delay of a wire
Elmore Delay
Vin R1 C1 R2 C2 Ri-1 Ci-1 Ri Ci RN CN
T DN
i 1
Ci
j 1
T DN
C 1R 1 C
22 November, 2010
Slide 36
Divide the wire into N identical segments with length L/N Resistance= rL/N. Capacitance= cL/N
2
T DN
L N
2
rc N N 2
2 rc 1
2
...
Nrc
T DN
rc L
T DN
RC RC 2
N 2N
T DN
22 November, 2010
rcL 2
Slide 37
Equation shows that the wire delay depends on RC effect. One method to reduce RC is to insert intermediate buffers. Most Popular technique to reduce propagation delay Making a line m times shorter reduces its propagation delay quadratically
Vin
R/M C/M R/M C/M R/M C/M R/M C/M
Vout
22 November, 2010
Slide 38
For optimal propagation delay, buffer size increases in their drive strength d by a factor a for each level of clock tree path
Clock Source
a0 d
a1 d
a2 d
aNd
If clock buffers are not selected correctly they may cause the clock pulse width to degrade as the clock propagates through them
d
22 November, 2010
d
IL2200 , ASIC Design
d
Slide 39
t1 clk
D Q
Combinational Logic
D Q
t2
Clock Jitter
Period A
22 November, 2010
!= Period B
IL2200 , ASIC Design Slide 40
Clock Distribution
Clock Distribution
clk
Combinational Logic
Combinational Logic
clk
22 November, 2010
Slide 45
22 November, 2010
Slide 46
Electromigration
Electromigration (EM) is the movement or molecular transfer of metal from one area to another area that is caused by an excessive electrical current in the direction of electron flow. EM currents exceeding recommended guidelines can result in premature ASIC device failure
22 November, 2010
Slide 47
Routing
Global Routing
Decomposes ASIC design interconnection into net segments Assign these segments to regions Follows global routing Performs actually physical interconnection of ASIC design Places actual wire segments in the region defined by the global router to complete the connections between the ports
Detail Routing
22 November, 2010
Slide 48
Power Analysis
Power analysis
Reduces risk of IR voltage drops in power nets Ground bounce on the ground nets Reduces Electromigration effects due to high current
Resistance of power and ground net extracted Average current of each transistor connected to power net is calculated Average currents are distributed throughout the power net Calculate node voltages and branch currents Design goal violations shown
22 November, 2010
Slide 49
RC Extraction
RC extraction is the calculation of all the routed net capacitances and resistances Used for
Delay calculation Static Timing Analysis Circuit Simulation Signal Integrity Analysis
22 November, 2010
Slide 50
Verification
The complete placed and routed design is verified before fabrication Functional Verification
Verification is performed against behavioral RTL pre-layout and post-layout structural description (netlist) for the design validation. Assertion based verification Assertions macros are expressions that, if false, indicate and error Instantiated in RTL Code
IL2200 , ASIC Design Slide 51
Rule Based
22 November, 2010
Energy Calculation
Save your design as a Verilog Netlist Simulate the Design in NCSim/ModelSim Create a VCD File Restore the Design in encounter Read the VCD Activity file Report Power to get the average power Energy= Pave * Tperiod * No of Cycles
22 November, 2010
Slide 52
22 November, 2010
Slide 53
22 November, 2010
Slide 54