Download presentation
Presentation is loading. Please wait.
1
VLSI Routing
2
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: oGlobal routing oDetailed routing Objectives Cost components: oArea (channel width) oWire delays oNumber of layers oAdditional cost components: number of bends, vias
3
Global vs. Detailed Routing Global routing Input: detailed placement, with exact terminal locations Determine “channel” (routing region) for each net Objective: minimize area (congestion), and timing (approximate) Detailed routing Input: channels and approximate routing from the global routing phase Determine the exact route and layers for each net Objective: valid routing, minimize area (congestion), meet timing constraints Additional objectives: min via, power Figs. [©Sherwani]
4
Routing Environment Chip architecture Full-custom Standard cell Gate Array
5
Routing Environment Chip architecture Full-custom: oNo constraint on routing regions Objective functions are the objective functions of general routing problem. Routability Area Minimization Total wire length minimization Maximum wire length minimization
6
Routing Environment Chip architecture Standard cell: oVariable channel height? oFeed-through cells connect channels Failed net Channel Feedthroughs Channels do not have predetermined capacity Feedthroughs have predetermined capacty Area minimization Minimization to total wire length Minimization of maximum wire lenght
7
Routing Environment Chip architecture Gate Array: oFixed channel height oLimited switchbox connections oPrefabricated wire segments have different weights Figs. [©Sherwani] Tracks Failed connection Routability Minimize total wire length Minimize maximum wire length
13
Maze Routing (Lee Algorithm) Similar to breadth-first search Very simple algorithm Works on grid graph Time complexity: grid size (NxN) Algorithm Propagate a “wave” from source until hit the sink (implemented using a queue) Trace back to find the path Guaranteed to find the optimal solution Usually multiple optimal solutions exist More than two terminals? For the third terminal, use the path between the first two as the source of the wave s 1 1 1 22 22 2 3 33 3 3 3 4 4 4 44 4 5 5 5 5 55 5 5 t
14
Maze Routing Key to popularity: Simplicity Guaranteed to find the optimal solution Can realize more complex cost functions too (e.g., number of bends in a path) Weakness: Multiple terminals not handled efficiently Dependent on grid, a two dimensional data structure Different variations exist Soukup’s alg: oFirst use DFS, when get to an obstacle, use BFS to get around oNo guarantee to find the shortest path
15
1 1 2 2 2 3 3 3 3 4 4 4 4 4 5 Multiple Terminal Nets A E B C D
16
1 1 2 2 2 3 3 3 3 4 4 4 4 4 5 D E C B A
17
1 2 1 1 2 1 1 2 2 1 1 2 2 2 3 D E C B A
18
2 1 1 2 1 1 2 2 1 1 1 1 1 D E C B A 1 1 2 2 2 2 2 2 2
19
Finding More Desirable Paths
20
2 3 3 21 2 221 3 1 33 12 2 22 2 22 33 3 3 333 333333 3 3333 33 3 22222223
21
2 3 3 21 2 221 3 1 33 12 2 22 2 22 33 3 3 333 333333 3 3333 33 3 22222223
22
1 5 2 2 2 3 5 5 5 4
23
1 5 8 2 2 2 6 35 8 58 85 5 4
24
11971 5 8 Finding More Desirable Paths 152 2 162 6 35 811 5 14 11814 17141185 5 139 4
25
11971 5 8 Finding More Desirable Paths 152 2 162 6 35 811 5 14 11814 17141185 5 139 412
26
11971 5 8 Finding More Desirable Paths 132 2 162 6 35 811 5 14 11814 17141185 5 139 412
27
Speed Improvement ST
28
Hadlock’s Algorithm S T 01 1 1 1 1 1 1 1 2 22 2 2 11 2 2 2 2 2 222
29
Soukup’s Algorithm S T
30
0 0 1 1 1 1 1 1 2 22 0 1 1 Line Search (Probe) Algorithm Mikami-Tabuchi’s Algorithm
31
0 0 1 1 1 1 1 1 2 22 0 1 1 Line Search (Probe) Algorithm Hightower’s Algorithm
32
Multi Terminal Nets Steiner Tree Steiner tree Steiner point MST Rectilinear Steiner Tree Minimize Wire length
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.