Routing 17: Key Terms and Concepts
Routing 17: Key Terms and Concepts
ROUTING 17
Key terms and concepts: Routing is usually split into global routing followed by detailed
routing.
Suppose the ASIC is North America and some travelers in California need to drive from
Stanford (near San Francisco) to Caltech (near Los Angeles).
The floorplanner decides that California is on the left (west) side of the ASIC and the
placement tool has put Stanford in Northern California and Caltech in Southern California.
Floorplanning and placement define the roads and freeways. There are two ways to go:
the coastal route (Highway 101) or the inland route (Interstate I5–usually faster).
The global router specifies the coastal route because the travelers are not in a hurry and
I5 is congested (the global router knows this because it has already routed onto I5 many
other travelers that are in a hurry today).
Next, the detailed router looks at a map and gives indications from Stanford onto
Highway 101 south through San Jose, Monterey, and Santa Barbara to Los Angeles and
then off the freeway to Caltech in Pasadena.
1
2 SECTION 17 ROUTING ASICS... THE COURSE
The core of the Viterbi decoder chip after the completion of global and detailed routing.
This chip uses two-level metal.
Although you cannot see the difference, m1 runs in the horizontal direction and m2 in the
vertical direction.
4 SECTION 17 ROUTING ASICS... THE COURSE
V2
A Vd V1 V2 B
R2 C2
(a) 4X 1X
i2
V3 V4 C V0 R pd R1 R3 R4
V1 V3 V4
1X
Vd C1 C3 C4
0.1mm V1 V2 t =0
i1 i3 i4
A m2 B
(b) pull-down resistance of
Vd 0.1mm resistance of interconnect
2mm inverter A segments
1mm
C (c)
V3 V4
26
9
A 5 5
11 15
2
B 1 E 6 6 6
5
11 4 11
8 7
16 16 16
D F
6
15 11
17.1.7 Back-annotation
Key terms and concepts: RC information • huge files • database problem
6 SECTION 17 ROUTING ASICS... THE COURSE
9
A1 A1 A1
2
B1 1 E1 B1 E1 B1 E1
5
8 7
D1 4
F1 D1 F1 D1 F1
6
terminal minimum-length tree minimum delay
from A1 to D1
(a) (b) (c)
base cells
channel routing
m2
block m1
base
cells
connector
(d) (e)
poly
VDD VDD
pdiff m1 m1
contact output
abutment
box via1 abutment
box
contact connector
ndiff
GND m2 GND
A gate-array inverter
(a) An oxide-isolated gate-array base cell, showing the diffusion and polysilicon layers.
(b) The metal and contact layers for the inverter in a 2LM (two-level metal) process.
(c) The router’s view of the cell in a 3LM process.
ASICs... THE COURSE 17.1 Global Routing 9
via-to-line or
via-to-via pitch line-to-via
pitch line-to-line pitch
m1
3λ
7λ 6.5 λ 6λ
via1 3λ
4λ
(a) (b) (c) (d)
m2 m2 m2 m2
m2
via
m1
m1 m1 m3 m1
Vias
(a) A large m1 to m2 via. The black squares represent the holes (or cuts) that are etched in
the insulating material between the m1 and 2 layers.
(b) A m1 to m2 via (a via1).
(c) A contact from m1 to diffusion or polysilicon (a contact).
(d) A via1 placed over (or stacked over) a contact.
(e) A m2 to m3 via (a via2).
(f) A via2 stacked over a via1 stacked over a contact. Notice that the black square in parts
b–c do not represent the actual location of the cuts. The black squares are offset so you
can recognize stacked vias and contacts.
12 SECTION 17 ROUTING ASICS... THE COURSE
E E
m2 m2
2 1 2 1
m1 m1
vias
2 2
F F
2 2
m2 m1
1 1
m1 m2
channel 4 channel 4
(a) (b)
1. electrically
equivalent connectors;
router can connect to m2
top or bottom and use 8. feedthrough
connectors as a between
feedthrough m2 equivalent
connectors
2. equivalent with internal jog
connectors; router can
connect to top or 10. cell
bottom but cannot use abutment box
as a feedthrough
9. routing
grid
3. must-join connectors, 4. internal
router must connect connector
to top and bottom
vacant unused
terminal terminal
m2
m1 logic cell
4 horizontal
tracks 0 0 0 3 0 2 5 4 7 5 8 6 3 10 10 7
m1 trunk or
(a) m2 segment
pseudo-
horizontal track terminal
pitch=8 λ 1 2 0 1 4 0 0 6 0 6 0 8 9 0 9 net
via1 branch exiting
4λ channel
m1
expanded
view of via1
channel
(b) m2
connector,
4λ terminal, port, = + +
1 2 0 1 or pin
cell via1 m1 m2 contact
abutment (c)
box vertical track
pitch=8 λ
0 0 3 0 2 5 4 7 5 8 6 3 10 10 7
m2
m1
via1
1 2 0 1 4 0 0 6 0 6 0 8 9 0 9
17.2.3 Algorithms
Key terms and concepts: restricted channel-routing problem
Segments sorted
by their left edge.
1
2
3
(a) 4 Net 6 has 3 terminals.
5
Left edge of segment 7 6
connects to top 7
8
of channel. 9
10
Left edge of segment 6
connects to bottom
of channel.
7
3
(b) 2 5 8 10
1 4 6 9
Segments assigned to tracks by their left edges.
0 0 3 0 2 5 4 7 5 8 6 3 10 10 7 m2
m1
(c)
via1
4λ
1 2 0 1 4 0 0 6 0 6 0 8 9 0 9
Left-edge algorithm.
(a) Sorted list of segments.
(b) Assignment to tracks.
(c) Completed channel route (with m1 and m2 interconnect represented by lines).
ASICs... THE COURSE 17.2 Detailed Routing 17
0 0 3 0 2 5 4 7 5 8 6 3 10 10 7
m2
(a)
m1
via1
1 2 0 1 4 0 0 6 0 6 0 8 9 0 9
4λ
Thus, the global channel density=4.
2 3 7 10 1 2 8
4 8 9 10
3 6
Routing graphs.
(a) Channel with a global density of 4.
(b) The vertical constraint graph. If two nets occupy the same column, the net at the top of
the channel imposes a vertical constraint on the net at the bottom. For example, net 2 im-
poses a vertical constraint on net 4. Thus the interconnect for net 4 must use a track above
net 2.
(c) Horizontal-constraint graph. If the segments of two nets overlap, they are connected in
the horizontal-constraint graph. This graph determines the global channel density.
1 1 2 1 1 1 2
The addition of a dogleg, an dogleg—more
m2
extra trunk, in the wiring of a than one trunk
m1 via1 per net
net can resolve cyclic vertical
constraints. 2 0 1 2 2 0 1
m2 routing pitch
interconnect to 16 λ logic-cell
channel above abutment box
m2
7 8 3
m1 and 3 5 5 6 10
m3
2 4
0 10 7
8λ
m1 1 0 0 connector
routing 9 exiting
pitch 16 λ 2 8 channel
0
m3 1 4 6 6 9
routing
pitch
= + + = + + = +
via1 m1 m2 contact via2 m2 m3 contact via1 via2
jog
A1
A1
B1 B1 E1
B2 E1 E2 E2
B2 D1
CLK D1 CLK
D2 D2
D3 F1 D3 F1
(a) (b)
Clock routing.
(a) A clock network for a cell-based ASIC.
(b) Equalizing the interconnect segments between CLK and all destinations (by including
jogs if necessary) minimizes clock skew.
ASICs... THE COURSE 17.4 Circuit Extraction and DRC 21
Metallization reliability rules for a typical 0.5 micron (λ=0.25µm) CMOS process.
Layer/contact/via Current limit Metal thickness Resistance
m1 1mA µm–1 7000Å 95mΩ/square
m2 1mA µm–1 7000Å 95mΩ/square
m3 2 mA µm–1 12,000Å 48mΩ/square
0.8µm square m1 contact to
0.7 mA 11Ω
diffusion
0.8µm square m1 contact to poly 0.7mA 16Ω
0.8µm square m1/m2 via (via1) 0.7mA 3.6Ω
0.8µm square m2/m3 via (via2) 0.7mA 3.6Ω
Parasitic capacitances for a typical 1µm (λ=0.5 µm) three-level metal CMOS process.
Element Area/fFµm–2 Fringing/fFµm–1
poly (over gate oxide) to substrate 1.73 NA
poly (over field oxide) to substrate 0.058 0.043
m1 to diffusion or poly 0.055 0.049
m1 to substrate 0.031 0.044
m2 to diffusion 0.019 0.038
m2 to substrate 0.015 0.035
m2 to poly 0.022 0.040
m2 to m1 0.035 0.046
m3 to diffusion 0.011 0.034
m3 to substrate 0.010 0.033
m3 to poly 0.012 0.034
m3 to m1 0.016 0.039
m3 to m2 0.035 0.049
n+ junction (at 0V bias) 0.36 NA
p+ junction (at 0V bias) 0.46 NA
RBC
C_1 Y1(s)
C
Y(s) CC A
A_1 RAB
B C
A lumped-C
B_1
CA CB
(c)
Y2(s)
(a)
R
R3 A
C_1 C
+ lumped-RC C
C3
A_1 V(A_1)
A (d)
PI segment C2 C1
(b) (e)
The regular and reduced standard parasitic format (SPF) models for interconnect.
(a) An example of an interconnect network with fanout. The driving-point admittance of the
interconnect network is Y(s).
(b) The SPF model of the interconnect.
(c) The lumped-capacitance interconnect model.
(d) The lumped-RC interconnect model.
(e) The PI segment interconnect model (notice the capacitor nearest the output node is la-
beled C2 rather than C1). The values of C, R, C1, and C2 are calculated so that Y1(s), Y2(s),
and Y3(s) are the first-, second-, and third-order Taylor-series approximations to Y(s).
# RPI <res>
# C1 <cap>
# C2 <cap>
24 SECTION 17 ROUTING ASICS... THE COURSE
# GPI <conductance>
# T <toCompName> <toPinName> RC <rcConstant> A <value>
# TIMING.ADMITTANCE.MODEL = PI
# TIMING.CAPACITANCE.MODEL = PP
N CLOCK
C 3.66
F ROOT Z
RPI 8.85
C1 2.49
C2 1.17
GPI = 0.0
T DF1 G RC 22.20
T DF2 G RC 13.05
.ENDS
.END
instance instance C4
INV1 m2 name INV1 pin name
pin
name subnode
net INV1:OUT
(0,10) OUT name OUT OUT:1
OUT:1
R1 INV1:A R2
IN A IN R3
A
OUT OUT
(0,0) (10,0) (20,0) (30,0) C3
C1 C2
C5
(a) (b)
17.5 Summary
Key terms and concepts: