Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimal Non-Manhattan Bubble Sort Channel Router

Similar presentations


Presentation on theme: "Optimal Non-Manhattan Bubble Sort Channel Router"— Presentation transcript:

1 Optimal Non-Manhattan Bubble Sort Channel Router
Sean Pieper ECE556 Final Project

2 Non-Manhattan Routing
can use +/- 45 degree paths “X” routing requires one track and no extra columns No need for VCG or HCG Use Vertical and Horizontal Constraint Graphs (VCG and HCG) If VCG has a cycle, need to add extra columns and rows.

3 How to cash in: 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 58324 43258 12345 53412 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

4 Better idea: Sort Routing
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

5 Optimize it: 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

6 Breadth first search: 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

7 Code flow: 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

8 Sample Output: | | | | | / / | | | | | | | | | | | | o---o | | | | | | | | 1 | | | | / / | | | | | | | | | | | | | | | | | | / / | \ / | | | | o---o | | o---o | \ | 2 | | | / / | | | / / | | / \ | | / / | | | | | | | | | | / | o o | | o---o | o---o | 3 / / / / | | | / / | | / / | | \ \ \ \ \ \ \ | | \ \ | \ \ | o o | o---o o---o 4 | \ \ \ \ \ \ \ | | \ \ | \ \

9 Performance Results:

10 Questions?


Download ppt "Optimal Non-Manhattan Bubble Sort Channel Router"

Similar presentations


Ads by Google