VLSI Routing 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: o Global routing o Detailed routing • Objectives Cost components: o o o o Area (channel width) Wire delays Number of layers Additional cost components: number of bends, vias 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] Routing Environment • Chip architecture Full-custom Standard cell Gate Array Routing Environment • Chip architecture Full-custom: o No 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 Routing Environment • Chip architecture Feedthroughs Standard cell: o Variable channel height? o Feed-through cells connect channels Channel Failed net •Channels do not have predetermined capacity •Feedthroughs have predetermined capacty •Area minimization •Minimization to total wire length •Minimization of maximum wire lenght Routing Environment • Chip architecture Gate Array: Tracks o Fixed channel height o Limited switchbox connections o Prefabricated wire segments have different weights Failed connection •Routability •Minimize total wire length •Minimize maximum wire length Figs. [©Sherwani] Maze Routing (Lee Algorithm) • Similar to breadth-first search 5 Very simple algorithm 5 4 5 Works on grid graph 4 3 t5 4 5 Time complexity: grid size (NxN) 3 2 3 4 • Algorithm 2 1 s 1 2 3 3 2 1 2 3 4 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 5 4 5 5 Multiple Terminal Nets D C 4 B 5 4 3 2 1 A 3 4 2 1 3 4 2 3 E 4 Multiple Terminal Nets D C 4 B 5 4 3 2 1 A 3 4 2 1 3 4 2 3 E 4 Multiple Terminal Nets D 2 1 A 2 3 C 1 2 B 1 1 2 1 2 1 2 1 2 E Multiple Terminal Nets 2 2 2 1 1 D 2 C 1 1 1 B A 1 2 1 2 1 2 1 2 1 2 1 2 2 E Finding More Desirable Paths Finding More Desirable Paths 2 2 2 2 2 2 2 2 3 2 1 2 2 2 2 2 1 3 3 3 3 2 2 3 3 3 3 2 3 1 1 2 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Finding More Desirable Paths 2 2 2 2 2 2 2 2 3 2 1 2 2 2 2 2 1 3 3 3 3 2 2 3 3 3 3 2 3 1 1 2 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Finding More Desirable Paths 3 5 1 2 5 4 2 2 5 5 Finding More Desirable Paths 6 8 5 3 1 4 5 2 8 5 2 5 8 5 8 2 Finding More Desirable Paths 13 11 9 6 15 11 9 7 5 3 1 4 14 11 8 5 2 16 14 11 8 5 2 5 17 14 11 8 5 8 2 Finding More Desirable Paths 13 11 9 6 12 11 9 7 5 3 1 4 15 14 11 8 5 2 16 14 11 8 5 2 5 17 14 11 8 5 8 2 Finding More Desirable Paths 13 11 9 6 12 11 9 7 5 3 1 4 13 14 11 8 5 2 16 14 11 8 5 2 5 17 14 11 8 5 8 2 Speed Improvement S T Hadlock’s Algorithm 2 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 S 0 2 1 1 2 2 2 T Soukup’s Algorithm T S Line Search (Probe) Algorithm Mikami-Tabuchi’s Algorithm 1 1 0 2 2 2 1 1 1 1 0 1 0 1 Line Search (Probe) Algorithm Hightower’s Algorithm 1 1 0 2 2 2 1 1 1 1 0 1 0 1 Multi Terminal Nets Steiner Tree Minimize Wire length Rectilinear Steiner Tree Steiner point MST Steiner tree
© Copyright 2026 Paperzz