Left edge Algorithm

25
WIRE ROUTING BY OPTIMIZING CHANNEL ASSIGNMENT WITHIN LARGE APERTURES - Vaibhav Damle - Amit Tamboli

description

Left edge algorithm ppt

Transcript of Left edge Algorithm

Page 1: Left edge Algorithm

WIRE ROUTING BY OPTIMIZING CHANNEL ASSIGNMENT WITHIN LARGE APERTURES

- Vaibhav Damle- Amit Tamboli

Page 2: Left edge Algorithm

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

Page 3: Left edge Algorithm

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)

Page 4: Left edge Algorithm

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

Page 5: Left edge Algorithm

5

N2

N1

N3

N4

N5

N6

N7

N8

N9

N10

Page 6: Left edge Algorithm

66

N2

N1

N3

N4

N5

N6

N7

N8 N10

N9

N1 N3N2 N5N4 N10N9N6 N8N7

Page 7: Left edge Algorithm

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

7

Page 8: Left edge Algorithm

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)

Page 9: Left edge Algorithm

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

Page 10: Left edge Algorithm

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

Page 11: Left edge Algorithm

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

11

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

Page 12: Left edge Algorithm

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

12

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

Page 13: Left edge Algorithm

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)

Page 14: Left edge Algorithm

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)

Page 15: Left edge Algorithm

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

Page 16: Left edge Algorithm

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

Page 17: Left edge Algorithm

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

17

Update the VCG (remove N4 from the VCG)

Page 18: Left edge Algorithm

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

18

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

Page 19: Left edge Algorithm

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

19

Page 20: Left edge Algorithm

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)

Page 21: Left edge Algorithm

What if VCG is Cyclic• Left Edge cannot handle Cyclic VCG

Solution - Doglegging

\

Page 22: Left edge Algorithm

Improvement• Doglegging can also reduce the height of

channel.

# of Tracks – 3 (w/o Doglegging)

# of Tracks – 2 (w/ Doglegging)

Page 23: Left edge Algorithm

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.

Page 24: Left edge Algorithm

Questions?

Page 25: Left edge Algorithm

THANK YOU!