1 / 10

# Optimal Non-Manhattan Bubble Sort Channel Router - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Optimal Non-Manhattan Bubble Sort Channel Router' - tulia

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Optimal Non-Manhattan Bubble Sort Channel Router

Sean Pieper ECE556 Final Project

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