Wire Routing by Optimizing Channel Assignment Within Large Apertures
Wire Routing by Optimizing Channel Assignment Within Large Apertures
Left-Edge Algorithm
Proposed by Hashimoto and Stevens in 1971 Regarded as the first channel routing algorithm Can be used in solving Channel Routing Problems Originally used in PCB design Can be applied on VLSI physical design
Algorithm
1. Sort all nets on their leftmost end positions. 2. Select the net with lowest left position; place it on the first available track; delete net from list. 3. Continue scanning the list and select from it nets that do not overlap with the nets assigned to this track; Assign the nets to the current track and delete from list. 4. If list null then goto 2. 5. Exit
N2
N1
N3 N4 N5 N6 N7 N8 N9 N10
N2
N7
N1
N3 N4 N5
N6
N8
N9
N10
N2 N1 N3 N4 N5 N6 N7 N8 N9 N10
Consider horizontal segments of N1, N4, and N10 (the nets that do not have ancestors)
8
N1 has the smallest x coordinate N1 and N4 cannot be placed on the same track N1 and N10 can be placed on the same track Place N1 and N10 on the highest track
9
N1 has the smallest x coordinate N1 and N4 cannot be placed on the same track N1 and N10 can be placed on the same track Place N1 and N10 on the highest track
10
11
12
Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)
13
Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)
14
Consider horizontal segments of N4 and N7 (the nets that do not have ancestors) N4 has the smallest x coordinate N4 and N7 cannot be placed on the same track Place N4 on the second highest track
15
Consider horizontal segments of N4 and N7 (the nets that do not have ancestors) N4 has the smallest x coordinate N4 and N7 cannot be placed on the same track Place N4 on the second highest track
16
17
Update the VCG (remove N4 from the VCG) Repeat the placement iterations
18
19
20
Improvement
Doglegging can also reduce the height of channel.
Summary
With 2 layer modeling, Basic Left Edge Algorithm produces minimum # of Tracks VCG is used to remove vertical constraints Cyclic VCG is solved using doglegging.