210 likes | 341 Vues
Multi-Layer Channel Routing Complexity and Algorithm. Rajat K. Pal. Chapter- 4 A Framework for Track Assignment. Multi-Layer Routing (Extensions of the TAH Framework). Presented by: Abu Sayed Chowdhury 0409052008. Pre-requisite. Channel:
E N D
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal
Chapter- 4A Framework for Track Assignment Multi-Layer Routing (Extensions of the TAH Framework) Presented by: Abu Sayed Chowdhury 0409052008
Pre-requisite Channel: A channel is a horizontal routing area with fixed pins on the top and bottom TAH Framework: Algorithm for computing reduced wire length channel routing solutions using a purely graph theoretic framework, TAH (Track Assignment Heuristic) that was designed for computing minimum area routing solutions
Pre-requisite (Contd.) Net Cells have rectangular shapes with terminals located on their border. A set of terminals that must be electronically connected together, constitute a net. Terminals of the same net are given the same integer level
Pre-requisite (Contd.) D D A A E E C C B B F F VLSI Layout Net
Channel Routing Terminology Terminals Via Upper boundary Tracks Dogleg Lower boundary Trunks Branches
Routing Layer Models 1 layer VH model HV model 2 layers Layer 1 Layer 2 Layer 3 Via VHV model HVH model 3 layers
An example channel instance of ten nets • Intervals of the nets are placed in five different tracks • The length of the channel (i.e., the number of columns) is 15 • Arrows indicate that the terminals to be connected, either on the top or at the bottom, to complete the required interconnection of all the nets present in the channel
TAH Basics • The Algorithm TAH assigns intervals to tracks from top to bottom. • In the first iteration the algorithm assigns a set of non-overlapping intervals to the top most track. Then it delete the nets corresponding to these intervals from the channel. • In the second iteration it assigns a set of non-overlapping intervals to the second track. • The iterative process continues till all the nets are assigned to tracks in the channel.
10 0 1 4 1 4 9 0 5 6 7 0 10 I10 I1 I4 I9 I5 I6 I7 I3 I8 I2 2 3 5 3 2 9 7 0 5 6 8 8 9 • The Channel contains total 10 nets • Density of this channel is ( ) is 5 • Intervals of nets 1, 4, 5, 3, and 2 are overlapping to • each other, and form a clique
10 0 1 4 1 4 9 0 5 6 7 0 10 I10 I1 I4 I9 I5 I6 I7 I3 I8 I2 2 3 5 3 2 9 7 0 5 6 8 8 9 8 7 VCG 6 1 4 10 9 3 5 2
Track 1 10 0 1 4 1 4 9 0 5 6 7 0 10 I4 I10 2 3 5 3 2 9 7 0 5 6 8 8 9 8 7 VCG 6 1 9 3 5 2
Track 2 10 0 1 4 1 4 9 0 5 6 7 0 10 I1 I7 2 3 5 3 2 9 7 0 5 6 8 8 9 8 VCG 6 9 3 5 2
Track 3 10 0 1 4 1 4 9 0 5 6 7 0 10 I5 I6 I9 2 3 5 3 2 9 7 0 5 6 8 8 9 8 VCG 3 2
Track 4 10 0 1 4 1 4 9 0 5 6 7 0 10 I2 I8 2 3 5 3 2 9 7 0 5 6 8 8 9 VCG 3
Track 4 10 0 1 4 1 4 9 0 5 6 7 0 10 I2 I8 2 3 5 3 2 9 7 0 5 6 8 8 9 VCG 3
Track 5 10 0 1 4 1 4 9 0 5 6 7 0 10 I3 2 3 5 3 2 9 7 0 5 6 8 8 9