bus-pin-aware bus-driven floorplanning b. wu and t. ho department of computer science and...
TRANSCRIPT
![Page 1: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/1.jpg)
Bus-Pin-Aware Bus-Driven Floorplanning
B. Wu and T. HoDepartment of Computer Science and Information EngineeringNCKU
GLSVLSI 2010
![Page 2: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/2.jpg)
Outline
Introduction Problem Formulation Constraints and Terminologies Algorithm Experimental Results Conclusions
![Page 3: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/3.jpg)
Introduction
To ease the efforts of bus routing in later routing stage, it is desirable to consider it in the early floorplanning stage.
Bus-driven floorplanning targets on obtaining a bus-routable floorplan such that the chip area and the bus area are minimized.
![Page 4: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/4.jpg)
Introduction
Without taking the position and orientation of the bus pin into consideration, it may have following impacts on bus routing: Bus twisting: it makes the signal wires cross at a point and
transmit the wrong data.
Via increasing: several vias occur on the bend of a bus that have adverse effects on the bus delay.
Delay variation: different driver-load wirelength between bus bits causes delay variation among all bits of the bus.
![Page 5: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/5.jpg)
Introduction
![Page 6: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/6.jpg)
Problem Formulation
Bus-pin aware bus-driven floorplanning problem: Input:
A set of n modules M={m1, m2, …, mn}, each module mi is associated with height hi and width wi.
A set of m buses B={b1, b2, …, bm}, each bus bj has a width tj and goes through a set of modules.
Objective: Decide the position and orientation of the bus pins on eac
h module. Determine the routing path of each bus such that no overl
apping occurs. Minimize the chip area and the total bus area.
![Page 7: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/7.jpg)
Constraints and Terminologies
Capacity constraint bw2 + bw3 > max(w1,h1), the capacity of m1 is not enough
for both B2 and B3 to pass through.
![Page 8: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/8.jpg)
Constraints and Terminologies
Definition:
A bus pin of an n-bit bus consists of n pins. A bus pin is oriented horizontally or vertically.
The position of the bus pin can be placed on any of the four boundaries of the module.
The orientation of the bus pin is defined as the direction from the LSB to MSB.
![Page 9: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/9.jpg)
Constraints and Terminologies
Bus pin flipping is used to change the orientation of the bus pins.
![Page 10: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/10.jpg)
Constraints and Terminologies
Wirelength deviation represents the wirelength difference among all bits of the bus.
The MSB-LSB wirelength deviation: dev = |len(MSB)-len(LSB)|
A turning node can contribute –D, 0 or +D to the MSB-LSB wirelength difference D = 2BW
![Page 11: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/11.jpg)
Algorithm
Derive a floorplan by using the sequence pair representation.
Modified Prim’s algorithm is used to obtain bus routing topologies.
Perform wirelength reduction algorithm for each bus to reduce the wirelength.
Assign each bus to different layers. Orientation determination and deviation minimizatio
n
![Page 12: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/12.jpg)
Algorithm
In each SA iteration, three operations to perturb: Rotate Reverse Swap
Cost = αA + βB + γI A is the chip area B is the bus area I is the number of invalid bus nets
![Page 13: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/13.jpg)
Modified Prim’s Algorithm
Construct the MST for bus modules. Check the capacity of each module to avoid violating capacity
constraint. If some edges violate the constraint, then other edge will be
selected to connect the MST.
![Page 14: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/14.jpg)
Bus Ordering and Coordinate Determination
Sequence pair is (1234, 2314) m1 is placed above m2, B2 passing through m1 has to be
placed above B1 passing through m2. OCG contains a cycle means the two bus conflict with each
other and one of them is regarded as infeasible.
![Page 15: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/15.jpg)
Bus Ordering and Coordinate Determination
The coordinate of each horizontal bus Bi is: ymax = max{yi | i = 1, 2, …, k} k is the number of the modules passed by the bus. yi is the y coordinate of each module.
![Page 16: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/16.jpg)
Wirelength Reduction
![Page 17: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/17.jpg)
Layer Assignment Two layers for bus routing. Layer assignment becomes 2-coloring problem. Construct a conflict graph. Choose the node that has the max degree to assign it to layer
1, and all its neighbors are assigned to layer 2. If odd cycle occurs in the conflict graph, one of the buses are
regarded as infeasible.
![Page 18: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/18.jpg)
Orientation Determination and Deviation Minimization
There are 150 possible bus shapes including the bus pin position between any two modules.
Conclude 24 patterns for all possible bus shapes.
![Page 19: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/19.jpg)
Orientation Determination and Deviation Minimization
Choose the pattern holding the best accumulated deviation at the module.
![Page 20: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/20.jpg)
Orientation Determination and Deviation Minimization
![Page 21: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/21.jpg)
Experimental Results
![Page 22: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/22.jpg)
Experimental Results
![Page 23: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/23.jpg)
Experimental Results
ami33-i ami49-h
![Page 24: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010](https://reader034.vdocuments.net/reader034/viewer/2022052701/56649ece5503460f94bda656/html5/thumbnails/24.jpg)
Conclusions
This paper proposed a high-quality bus-driven floorplanning algorithm considering the practical impacts of the bus pins.