Method for successive placement based refinement of a generalized cost function
First Claim
1. A method for optimizing the placement of a plurality of cells on a Very Large Scale Integrated Circuit (VLSI) chip comprising the steps ofa) subdividing the plurality of cells into partitions by performing a sequence of cuts;
- b) for each of the cuts, estimating a future placement by performing additional cuts based on a result of the current cut;
c) comparing the current placement to the estimated placement; and
d) altering the priority of the placement at the current cut to ensure that the quality of the results achieved at the look ahead point is improved.
1 Assignment
0 Petitions
Accused Products
Abstract
A generalized method for optimizing the global placement of a VLSI chip across multiple cost metrics, such as total wire length, timing, congestion, and signal integrity is described. The method relies upon a “look ahead” technique, combined with any generic cost function that can be used to set placement directives. These placement directives include net weights and cell spreading. The method of performing the placement involves the iterative reuse of the process of successive partitioning. This iterative reuse establishes the capability of looking ahead to determine what is to happen. Based on the look ahead, it is possible to evaluate the qualities of the placement about to be generated. The method proceeds through the placement from while maintaining the current state of the placement along with the look-ahead state of the placement. Directives are generated and modified in order that the next steps applied to the current state of the placement will cause it to change to achieve an ultimate higher quality final output.
-
Citations
15 Claims
-
1. A method for optimizing the placement of a plurality of cells on a Very Large Scale Integrated Circuit (VLSI) chip comprising the steps of
a) subdividing the plurality of cells into partitions by performing a sequence of cuts; -
b) for each of the cuts, estimating a future placement by performing additional cuts based on a result of the current cut; c) comparing the current placement to the estimated placement; and d) altering the priority of the placement at the current cut to ensure that the quality of the results achieved at the look ahead point is improved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for optimizing the placement of a plurality of cells on a VLSI chip comprising the steps of:
-
a) subdividing the plurality of cells into partitions by performing a sequence of cuts; b) iteratively managing the sequence of cuts to perform a look ahead operation, wherein the look ahead operation comprises the steps of; b1) performing a global routing, b2) evaluating the global routing congestion, and b3) performing a cell expansion an blockage insertion where a congestion is encountered; c) returning to the cut from where the look ahead operation was initiated by comparing the original placement with the cut provided by the look ahead operation; and d) altering the priority of the placement to ensure that the quality of the results achieved at the look ahead point is improved.
-
-
14. A method for optimizing the placement of a plurality of cells on a VLSI chip comprising the steps of:
-
a) subdividing the plurality of cells into partitions by performing a sequence of cuts; b) iteratively managing the sequence of cats to perform a look ahead operation, wherein the look ahead operation comprises the steps of; b1) performing a timing analysis of the entire plurality of cells; b2) repowering and inserting buffers in a netlist to improve the timing and for determining which timing problems are related to the placement; and b3) generating net weights for critical nets; c) returning to the cut from where the look ahead operation was initiated by comparing the original placement with the cut provided by the look ahead operation; and d) altering the priority of the placement to ensure that the quality of the results achieved at the look ahead point is improved.
-
-
15. A program storage device readable by a machine, tangibly, embodying a program of instructions executable by the machine to perform method steps for performing static timing analysis of a digital system in the presence of a plurality of global sources of delay variation, said method steps comprising:
-
a) subdividing the plurality of cells into partitions by performing a sequence of cuts; b) for each of the cuts, estimating a future placement by performing additional cuts based on a result of the current cut; c) comparing the current placement to the estimated placement; and d) altering the priority of the placement to ensure that the quality of the results achieved at the look ahead point is improved.
-
Specification