Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Routing
Problem Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets Levels of abstraction: Global routing Detailed routing Objectives Cost components: Area (channel width) min congestion in prev levels helped Wire delays timing minimization in previous levels Number of layers (fewer layers less expensive) Additional cost components: number of bends, vias
Bazargan
Top view
Routing Anatomy 3D
view
Symbolic Layout
Global
Graph Search Steiner Iterative Maze
Detailed
Restricted River Switchbox Channel General Purpose Maze Line Probe Line Expansion Left-Edge
Specialized
Power/Gnd Clock
Hierarchical
Greedy
[Keutzer]
Global Routing
Stages Routing region definition Routing region ordering Steiner-tree / area routing Grid Tiles super-imposed on placement Regular or irregular Smaller problem to solve, higher level of abstraction Terminals at center of grid tiles Edge capacity Number of nets that can pass a certain grid edge (aka congestion) On edge Eij, Capacity(Eij) Congestion(Eij)
M1
[Sarrafzadeh]
M2
M3
Grid Graph
Course or fine-grain Vertices: routing regions, edges: route exists? Weights on edges How costly is to use that edge Could vary during the routing (e.g., for congestion) Horizontal / vertical might have different weights
t1 t2
t3
t4
t1 t2
t3 t4 1 1 1 1
[Sherwani]
1 t1 t2
t3
2 t4 1
2 1
Bazargan
Otherwise, depth of VCG is lower bound on channel density A cycle in the VCG an unroutable placement unless a net can be routed on more than 1 track
Case 2b:
Closest non-ov net to e does not cross L
e: Most recently
S(L)
In Case 1, the density of L reduces by 1 after current track t (e is on t) is routed In Case 2, let e be the net not overlapping e & whose s(e) is closest to e(e). Case 2a: If e crosses L, then since e will be on t, density of L reduces by 1 after t is routed Case 2b: If not, then the set S(L) of all other nets crossing L are overlapping w/ e (otherwise one of them will be e and crossing L, and we will not be in Case 2b). Then there exists another cut line L that cuts S(L) and e, and thus have density > density of L, and we reach a contradiction (that L is the max density line) Thus after current track t is routed, the density of L reduces by 1. This applies to all max density lines. Thus # of tracks needed = density of initial max density line which is a lower bound on # tracks. Hence the Left-Edge algorithm is optimal in the # of tracks Dutt
w/ the added flexibility that the new net es s(e) can be = watermark if current net e and e belong to the same net