EE4271 VLSI Design, Fall 2013
VLSI Channel Routing
4/12/2020
1
Objectives
• Definition of VLSI channel routing problem
• How to perform channel routing for width optimization
• Lower bound proof for channel routing
• Understand that channel routing problem is difficult to solve
4/12/2020 2
Routing Problem
Routing to reduce the area
4/12/2020 3
Top view
Routing Anatomy
3D view
©Bazargan
Metal layer 3
Via
Metal layer 2
Metal layer 1
4/12/2020 4
Routing Grid
Vertical Routing
Track
Horizontal
Routing Track
4/12/2020 5
Channel Routing Terminology
Terminals (Gate Pins)
Via
Upper boundary
Tracks
Lower boundary
Assume that there are only one horizontal layer and only one vertical layer, i.e., no overlap among horizontal wires and no overlap among vertical wires will be allowed.
4/12/2020
Width
(# of Horizontal Routing Tracks)
6
Channel Routing Problem - I
• Input:
– Two vectors of the same length to represent the pins on two sides of the channel.
– One horizontal layer and one vertical layer in the routing grid.
• Output:
– Connect pins of the same net together such that there is no overlap among horizontal wires and there is no overlap among vertical wires.
– Minimize the channel width.
4/12/2020 7
Channel Routing Problem - II
0 1 2 2 0 3 0 4
1 2 0 3 3 4 4 0
Example: (01220304)
(12033440) where 0 = no terminal
Route all the pins with the same index
4/12/2020 8
A Channel Routing Example
2 3 5 3 5 2 6 8 9 8 7 9
4/12/2020 9
A Simpler Example - I
Is this routing with the minimum width?
4/12/2020 10
A Simpler Example - II
Is this routing with the minimum width?
4/12/2020 11
Lower Bound on Channel Width
0 1 6 1 2 3 5
6 3 5 4 0 2 4
0 1 6 1 2 3 5
6
1
3
5
2
4
Channel density =
Maximum local density
Local density
6 3 5 4 0 2 4
1 3 4 4 4 4 2
Lower bound = 4
Lower bound on channel width = Channel density
4/12/2020 12
Exercise
• Use minimum number of tracks to route the following nets. Is your result the best possible one?
4/12/2020 13
Lower Bound Always Achievable?
• Is the channel routing lower bound always achievable for any channel routing problem?
1 2 1
2 1 2
4/12/2020 14
A More Complex Example
# columns =174, # nets=72, density =19
Routing result: number of tracks=20
4/12/2020 15
Realistic Design
Different colors refer to different wire densities.
Red color means large congestion.
Congestion=
# routes actually on a track max # routes allowed on a track
4/12/2020
From DAC Knowledge Center
16
Summary
• Definition of VLSI channel routing problem
• Channel routing for width optimization
• Lower bound for channel routing
– Local Density and Channel Density
• Lower bound is not always achievable
4/12/2020 17