Physical design automation system and process for designing integrated circuit chip using simulated annealing with "chessboard and jiggle" optimization
First Claim
1. A method of providing an initial temperature in a simulated annealing process, comprising the steps of:
- (a) providing a placement of cells on the chip;
(b) performing simulated annealing on the cells using a current temperature without exchanging cell positions;
(c) computing a current cost function for the placement;
(d) changing said current temperature in accordance with said cost function; and
(e) repeating steps (b) to (d) until said current cost function satisfies a predetermined criterion, wherein said current temperature is used as said initial temperature for said simulated annealing process when said predetermined criterion is satisfied.
10 Assignments
0 Petitions
Accused Products
Abstract
A cell placement for an integrated circuit chip is divided into two "chessboard" patterns or "jiggles". Each pattern resembles a chessboard in that it consists of alternating regions of different types or "colors" such that no region of a given color has an edge common with another region of the same color. The jiggles are offset relative to each other such that the regions of one jiggle partially overlap at least two regions of the other jiggle. Simulated annealing is performed sequentially for each color of each jiggle. During each operation, a plurality of parallel processors operate on the regions simultaneously using a previous copy of the entire chip, with one processor being assigned to one or more regions. At the end of each operation, the copy of the chip is updated. The chessboard patterns eliminate unproductive cell moves resulting from adjacent regions having a common edge. The jiggles enable cells to move to their optimal positions from their initial region to any other region on the chip. The regions can have rectangular, triangular or hexagonal shapes. An initial temperature for the actual simulated annealing operation is determined by performing simulated annealing without cell swaps with different temperature, and selecting the temperature at which a cost function such as total wirelength does not significantly change.
-
Citations
28 Claims
-
1. A method of providing an initial temperature in a simulated annealing process, comprising the steps of:
-
(a) providing a placement of cells on the chip; (b) performing simulated annealing on the cells using a current temperature without exchanging cell positions; (c) computing a current cost function for the placement; (d) changing said current temperature in accordance with said cost function; and (e) repeating steps (b) to (d) until said current cost function satisfies a predetermined criterion, wherein said current temperature is used as said initial temperature for said simulated annealing process when said predetermined criterion is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A programmed digital computer for designing an integrated circuit chip, comprising:
-
memory means for storing a program including instructions and data; and processing means for executing the program; the processing means, memory means and program operating in combination for performing the steps of; (a) providing a placement of cells on the chip; (b) performing simulated annealing on the cells using a current temperature without exchanging cell positions; (c) computing a current cost function for the placement; (d) changing said current temperature in accordance with said cost function; and (e) repeating steps (b) to (d) until said current cost function satisfies a predetermined criterion, wherein the current temperature is used as an initial temperature for a simulated annealing process when said predetermined criterion is satisfied. - View Dependent Claims (26)
-
-
27. A method of designing an integrated circuit chip, comprising the steps of:
-
(a) providing a placement of cells on the chip; (b) dividing the chip into a set of first, second, third and fourth regions, wherein the second regions spatially alternate with the first regions, and wherein the fourth regions spatially alternate with the third regions, such that the third regions overlap the first and second regions, and the fourth regions also overlap the first and second regions; (c) performing simulated annealing on cells in the first, second, third and fourth regions using an initial temperature without exchanging cell positions; (d) computing a cost function for the placement; (e) computing a new temperature in accordance with said cost function; and (f) repeating steps (c) to (e) until said cost function satisfies a predetermined criterion.
-
-
28. A programmed digital computer for designing an integrated circuit chip, comprising:
-
memory means for storing a program including instructions and data; and processing means for executing the program, wherein the processing means, memory means and program operate in combination for performing the steps of; (a) providing a placement of cells on the chip; (b) dividing the chip into a set of first, second, third and fourth regions, wherein the second regions spatially alternate with the first regions, and wherein the fourth regions spatially alternate with the third regions, such that the third regions overlap the first and second regions, and the fourth regions also overlap the first and second regions; (c) performing simulated annealing on cells in the first, second, third and fourth regions using an initial temperature without exchanging cell positions; (d) computing a cost function for the placement; (e) computing a new temperature in accordance with said cost function; and (f) repeating steps (c) to (e) until said cost function satisfies a predetermined criterion.
-
Specification