Optimal non manhattan bubble sort channel router
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Optimal Non-Manhattan Bubble Sort Channel Router PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Optimal Non-Manhattan Bubble Sort Channel Router

An Image/Link below is provided (as is) to download presentation

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

Optimal Non-Manhattan Bubble Sort Channel Router

Sean Pieper ECE556 Final Project


Optimal non manhattan bubble sort channel router

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


How to cash in

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

  • 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


Better idea sort routing

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

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9 1


Optimize it

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


Breadth first search

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


Code flow

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


Sample output

Sample Output:

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


Performance results

Performance Results:


Questions

Questions?


  • Login