24
Bus-Pin-Aware Bus-Driven Floorpl anning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010

Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010

Embed Size (px)

Citation preview

Page 1: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010

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

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

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

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

Introduction

Page 6: Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusions

This paper proposed a high-quality bus-driven floorplanning algorithm considering the practical impacts of the bus pins.