Lecture-6 - Physical Design - Updated
Lecture-6 - Physical Design - Updated
Design
Lecture 6:
CTS
Route
Finish
Route
Finish
4
Prepare Design
Moving from Logical to
Physical Design
Import
• Define design (.v) Floorpla
• Define design constraints/targets (.sdc) n
Placeme
• Define operating conditions/modes nt
(MMMC) CTS
• Define technology and libraries (.lef) Rout
• Define physical properties e
(Floorplan) Finish
Design
Verilog Physical
netlist Design
Flow GDSII
5
SDC
Design
Import
Floorpla
n
idealistic. 0.9V e
Finish
• We didn’t care about power supplies. 0.7V 0.9V Design
A bit about
Multiple Voltage
Domains
Often referred to as “Low Power Design” Methodologies
7
Design
Import
Floorpla
n
• Place macros
• Routing congestion ROM
• •Take into account:
Orientation
• Manual usually better then
Auto
• Place switches
• For the power down
8
Design
Import
Floorpla
n
LS
Low-to-Hight level
shifter
LS
LS
VSS
LS
IN OUT
0.9 0.7
V V VDD1
LS
VDD2
VSS
https://www.vlsicommunity.com
9
Multiple Domain Design – Power
Design
Import
Floorpla
n
Gating VDD
Placemen
t
CTS
Rout
e
Finish
Design
VDD VVDD1 VVDD2 VDD
domain domain
sleep_control
(on/off)
VDD
Glo VDD
VVDD1 VVDD2
VSS
D
VD
D
VD
VVDD1 VVDD2
VDDV
VDD VDD
VVDD1 VVDD2
10
Design
Import
Floorpla
n
Floorplannin
g
Floorplanning Goals and Objectives
Design
• Floorplanning is a mapping Import
between the logical description Floorpla
(the netlist) n
and the physical description (the Placeme
floorplan). nt
CTS
• Goals of floorplanning:
• Arrange the blocks on a chip. Rout
• Decide the location of the I/O e
pads. Finish
• Decide the location and Design
number of the power pads.
• Decide the type of power
distribution.
• Decide the location and type 13
Fullchip Design Overview
• Chip size
Core
• Number of Gates placeme
nt area
• Number of Metal
The location
layers of the core,
• Interface to the I/O areas P/G
pads and the RAM
outside P/G grid IP
Ring
• Hard IPs/Macros P/G
s ROM
Gri
• Power Delivery d
Strap
s
• Multiple Voltages
Peripher
• Clocking Scheme y
• Flat or Hierarchical? (I/O)
14
area
Floorplanning Inputs and
Design
Import
Floorpla
n
Outputs Placemen
t
• Inputs
CTS
• Outputs Rout
• Design netlist (required) • Die/block e
Finish
• Area requirements area Design
IO Ring Placemen
t
CTS
• The pinout is often decided by front-end designers, with input Rout
size? Placemen
t
CTS
Route
Finish
Design
“Core “Pad
Limited” Limited” 17
Design
Import
Flo rpla
o n
Utilization Plact
emen
TS
• Utilization refers to the percentage of core area C
out
that is taken up by standard cells. Re
Desig
• A typical starting utilization might be 70% Finis n
h
• This can vary a lot depending on the design
• High utilization can make it difficult to close a Low standard-
cell
design utilization
• Routing congestion,
• Negative impact during optimization
legalization stages.
• Local congestion
• Can occur with pin-dense cells like
multiplexers, so utilization is not completely
sufficient for determining die size. High standard-
1
• Run a quick trial route to check for routing cell
Uniquifying the Netlist
• When moving to the physical domain, the netlist must be unique
• A unique netlist, means that each sub-module is only referenced
once.
• In the example, the non-unique netlist cannot optimize instance
m1/u1 module amod1
module amodwithout changing instance m2/u1
bmo bmo
(); BUFFD1 ();
d d BUFFD1 u1 ();
u1 ();
endmodule m m m m endmodule
module bmod module amod2
();
1 2 u11 2 (); BUFFD1 u1
u1 ();
amod u1
u1 endmodule
m1 ; amod module bmod
m2 ; Non-unique (); amod1
endmodule Unique m1 ; amod2 m2
• A synthesized netlist must be uniquified before ; endmodule
placement can begin. This can be done either by
the synthesizer or during design import.
19
Design
Import
Floorpla
n
Rout
routing, timing and power. Usually push them to the sides of e
Finish
the floorplan. Design
20
Placement
Design
Import
Floorpla
n
Regions Placemen
t
CTS
• Sometimes, we want to “help” the tool put Rout
certain e
Finish
Design
logic in certain regions or cluster them together.
• Place and Route tools define several types
of placement regions:
• Soft guide – try to cluster these cells
together
without a defined area.
• Guide – try to place the cells in the
• defined area. place the cells in the defined
Fence – must
• Region
area and keep place
– must out allthe
other cells.
cells in the defined
area, but other cells may also be placed
there. 21
Design
Import
• cells.
These, too, have several types: margin
Design
Route
Finish
Design
Hard blockage
always created
on all four sides
Soft blockage
created only for the
channels between
the macros or
between the macro
and the core
boundary
23
Design
Import
Floorpla
n
(20,20)
24
Guidelines for a good
Design
Import
Floorpla
n
floorplan
Single
Use blockage
Placemen
t
CTS
RAMS out of toimprove
large pin
core area the way in the Rout
corner accessibili e
Finis Desig
Large ty
RAM RAM RAM h n
routing 1 2 3
channel
RAM s RAM RAM RAM
Avoid 4 5 6
Standard cells constricti
area
ve
RAM channels
RAM Avoid many
•
pins in the RAM
q narrow RAM 8
channel. 7
PLL MY_SUB_BLOCK Rotate for pin
accessibility
Pins away
from
25
corners