Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (2 votes)
2K views

Wire Routing by Optimizing Channel Assignment Within Large Apertures

The document describes the Left-Edge Algorithm for solving channel routing problems in VLSI physical design. The algorithm attempts to maximize the placement of horizontal wire segments in each track by sorting nets based on their leftmost position and sequentially assigning non-overlapping nets to tracks from left to right. It produces optimal solutions but cannot handle cyclic vertex connectivity graphs. Doglegging, which introduces diagonal wire segments, is presented as a solution to address cyclic graphs and further reduce the required number of tracks.

Uploaded by

Amit Tamboli
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (2 votes)
2K views

Wire Routing by Optimizing Channel Assignment Within Large Apertures

The document describes the Left-Edge Algorithm for solving channel routing problems in VLSI physical design. The algorithm attempts to maximize the placement of horizontal wire segments in each track by sorting nets based on their leftmost position and sequentially assigning non-overlapping nets to tracks from left to right. It produces optimal solutions but cannot handle cyclic vertex connectivity graphs. Doglegging, which introduces diagonal wire segments, is presented as a solution to address cyclic graphs and further reduce the required number of tracks.

Uploaded by

Amit Tamboli
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

WIRE ROUTING BY OPTIMIZING CHANNEL ASSIGNMENT WITHIN LARGE APERTURES

- Vaibhav Damle - Amit Tamboli

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

Basic Left-Edge Algorithm


Attempts to maximize placement of horizontal segments in each track No vertical constraints HV-layer model is used Doglegs are not allowed Produces optimal routing solution with minimum # of tracks(If no vertical constraint)

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

The Left-Edge Algorithm (contd) Step 1: Build VCG

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Consider horizontal segments of N1, N4, and N10 (the nets that do not have ancestors)
8

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

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

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

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

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Update the VCG (remove N1 and N10 from the VCG)

11

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Update the VCG (remove N1 and N10 from the VCG)

12

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)

13

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Consider horizontal segments of N4 and N7 (the nets that do not have ancestors)

14

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

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

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

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

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Update the VCG (remove N4 from the VCG)

17

The Left-Edge Algorithm (contd) Step 2: Place horizontal segments

Update the VCG (remove N4 from the VCG) Repeat the placement iterations
18

The Left-Edge Algorithm (contd) - Result of the Example

19

The Left-Edge Algorithm (contd) - Result of the Example


N1 = 5 N2 = 1 N3 = 2 N4 = 4 N5 = 3 N6 = 2 N7 = 3 N8 = 1 N9 = 2 N10 = 5

(The Output of Your Channel Router)

20

What if VCG is Cyclic


Left Edge cannot handle Cyclic VCG
Solution - Doglegging

Improvement
Doglegging can also reduce the height of channel.

# of Tracks 3 (w/o Doglegging)

# of Tracks 2 (w/ Doglegging)

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.

You might also like