180 likes | 281 Views
Explore innovative techniques such as Lee’s Algorithm, Multi-Terminal Nets, and Hadlock’s Algorithm to enhance chip routing efficiency. Learn strategies for multi-point net connections and reducing run time. Includes discussion on vias in multilayer routing.
E N D
Maze Routing مرتضي صاحب الزماني
Improving Lee’s Algorithm • The choice of the starting pin can affect the speed of the algorithm, • one guideline is to start on the pin farthest from the center of the chip • Use double fan out - begin at both pins and continue until a point of contact is made • Use framing, • an artificial rectangular boundary 10 to 20% larger than the boundary formed by the pins مرتضي صاحب الزماني
Schemes to Reduce Run Time 1. Starting Point Selection: 2. Double Fan-Out: 3. Framing: T S S T S S T T مرتضي صاحب الزماني
Multi-Terminal Nets • For a k-terminal net, connect the k terminals using a rectilinear Steiner tree with the least wire length on the maze. • This problem is NP-Complete! • So, just want to find some good heuristic. • This problem can be solved by extending the Lee’s algorithm. Any idea ….. مرتضي صاحب الزماني
Connecting Multipoint Nets • One point is selected as the source and all the other points are the target • propagate from the source until one target is reached • find the path from the source to that target • all the cells on the path are labeled as source cells and the remaining unconnected pins are targets • repeat the steps مرتضي صاحب الزماني
4 1 2 2 1 1 4 3 3 2 1 2 5 3 3 4 4 2 S 3 2 1 1 2 1 3 4 3 2 3 5 1 4 T 3 4 3 4 3 1 4 1 2 5 3 4 2 2 1 1 2 4 1 4 2 5 1 3 4 3 2 3 3 5 4 2 5 1 2 3 4 1 5 4 4 3 4 3 2 T 2 1 5 4 4 5 2 1 4 3 3 5 4 4 3 2 1 2 3 Example Start at the source and run the maze router until you hit a target Every cell on the path is a source – run the maze router مرتضي صاحب الزماني
Hadlock’s Algorithm to Reduce Run Time “A Shortest Path Algorithm for Grid Graphs”, F.O. Hadlock, Networks, 7:323-334, 1977. مرتضي صاحب الزماني
Hadlock’s Algorithm • Detour Number: For a path P from S to T, • d(P) = # of grids directed away from T, then • L(P) = MD(S,T) + 2d(P) So minimizing L(P) and d(P) are the same. Length Manhattan Distance D D D: Detour d(P) = 3 MD(S,T) = 6 L(P) = 6+2x3 = 12 D S T مرتضي صاحب الزماني
Hadlock’s Algorithm • Label vertices with detour numbers instead of distance. • Vertices with smaller detour number are expanded first. • Therefore, favor paths without detour. 2 2 3 3 2 1 1 1 S 0 1 0 0 0 2 T 1 0 2 1 1 2 2 2 2 2 2 2 3 مرتضي صاحب الزماني
Hadlock’s Algorithm مرتضي صاحب الزماني
Multilayer Routing • Give a system with multiple wire layers • Parallel grids vertically stacked, one for each layer • Use vias to access other layers • Label cells as to whether a via is permitted at its location • How do we find wire paths in such a structure? مرتضي صاحب الزماني
Multilayer Routing مرتضي صاحب الزماني
Aside: VIAs • Vias: • “Vertical” electrical connection • Issue: size • On chips, vias are usually a lot bigger than wire widths so you have to be careful where you put them • You can’t put vias as close to each other as you can put wires مرتضي صاحب الزماني
3 5 3 4 5 2 2 3 1 2 5 5 4 5 4 3 3 1 2 4 5 5 4 4 1 S v v 2 5 5 3 4 2 1 5 4 3 4 5 3 2 5 5 4 5 3 5 4 4 5 T v v 4 5 5 5 5 Example • Given two metal layers with vias allowed in some cells (labeled as ‘v’) Expansion may go up and down as well as to adjacent cells v v Layer 1 Layer 2 مرتضي صاحب الزماني
References • David Pan, VLSI Physical Design Automation, Lecture Slides, University of Texas, 2009. مرتضي صاحب الزماني