Loading in 5 sec....

Optimal Non-Manhattan Bubble Sort Channel RouterPowerPoint Presentation

Optimal Non-Manhattan Bubble Sort Channel Router

- 75 Views
- Uploaded on
- Presentation posted in: General

Optimal Non-Manhattan Bubble Sort Channel Router

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Optimal Non-Manhattan Bubble Sort Channel Router

Sean Pieper ECE556 Final Project

Manhattan Routing

Non-Manhattan Routing

- Use Vertical and Horizontal Constraint Graphs (VCG and HCG)
- If VCG has a cycle, need to add extra columns and rows.

- can use +/- 45 degree paths
- “X” routing requires one track and no extra columns
- No need for VCG or HCG

1 2

1 2

2 1

2 1

- Constrain problem to two-terminal nets
- Each net crosses the channel
- Rename terminals so that top is numbered in order
- Bottom can now be viewed as a permutation of the top

- At each track:
- swap adjacent wires that are out of order with respect to each other

- For N terminals, this router requires N columns and at most N tracks

58324

43258

12345

53412

- Swap router only allows wires to move one column per track
- We have horizontal tracks available, so this is an artificial constraint
- Bubble sort will move tracks horizontally

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9 1

- At each new track, can sort left or right
- Left sort moves tracks left rapidly, right sort moves tracks right
- Previous example would take 9 layers with only right sort
- Want to use optimal combination of left and right sort steps

- Ordering of left and right sorts does not matter:
- Full tree has redundant nodes
- Collapse redundant nodes to get DAG
- Remove redundant paths from DAG

Order dependent tree

DAG

Vector of Vectors

Parse input file: use hashtable to accelerate renaming of pins

All leaves

generated

Expand main

vector

Expand

Left sub-vectors

Not sorted

Perform one right sort step

Perform one left sort step

Check for

sorted leaf

Done

When a sorted leaf is found, the number of left and right steps that generated it is returned. This uniquely identifies the sequence of intermediate routing steps

Generate

ASCII art

of routing

1 1 1 1 1

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

| | | | | / / | | | | | | | |

| | | | o---o | | | | | | | | 1

| | | | / / | | | | | | | | |

| | | | | | | | | / / | \ / |

| | | o---o | | o---o | \ | 2

| | | / / | | | / / | | / \ |

| / / | | | | | | | | | | / |

o-------o | | o---o | o---o | 3

/ / / / | | | / / | | / / | |

\ \ \ \ \ \ \ | | \ \ | \ \ |

o-------------o | o---o o---o 4

| \ \ \ \ \ \ \ | | \ \ | \ \

9 1 2 5 6 0 3 4 1 1 7 8 1 1 1

0 3 4 2 1