Left edge Algorithm

Post on 02-Nov-2014

235 views 5 download

Tags:

description

Left edge algorithm ppt

Transcript of Left edge Algorithm

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

2

3

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)

Algorithm1. 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

5

N2

N1

N3

N4

N5

N6

N7

N8

N9

N10

66

N2

N1

N3

N4

N5

N6

N7

N8 N10

N9

N1 N3N2 N5N4 N10N9N6 N8N7

The Left-Edge Algorithm (cont’d)Step 1: Build VCG

7

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

8

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

10

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

11

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

12

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

13

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

14

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

16

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

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

17

Update the VCG (remove N4 from the VCG)

The Left-Edge Algorithm (cont’d)Step 2: Place horizontal segments

18

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

The Left-Edge Algorithm (cont’d)- Result of the Example

19

The Left-Edge Algorithm (cont’d)- Result of the Example

20

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

(The Output of Your Channel Router)

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.

Questions?

THANK YOU!