Claims
- 1. A computer readable medium for storing instructions that when executed by a computer system implement a computerized method of placing cells within a netlist of an integrated circuit design, said instructions of said computer readable medium implementing the method of:a) receiving a netlist describing a circuit to be fabricated on a substrate within a chip area, said netlist comprising a plurality of cells having an initial cell placement and having wire connections between said plurality of cells; and b) determining a cell placement of said plurality of cells using iterations of a non-linear optimization process including an objective function that is differentiable and continuous but is not quadratic in terms of wire length of said wire connections, said objective function including a delay objective function for measuring the worst path signal delay through said netlist in terms of each cell placement and including a wire length objective function for minimizing said wire length of said wire connections, wherein said non-linear optimization process utilizes the conjugate-gradient.
- 2. A computer readable medium as described in claim 1 wherein said non-linear optimization process comprises the steps of:b1) smoothing said objective function according to a variable, alpha, to produce a smoothed function; b2) computing a negative gradient of said smoothed function; b3) searching, from a starting point, along said smoothed function in a direction of said negative gradient to determine a current solution; b4) revising said variable alpha; and b5) repeating steps b1) through b4) a number of times and returning a solution wherein said starting point of step b3), for each respective iteration of step b3), is a solution determined in a last iteration of step b3).
- 3. A computer readable medium as described in claim 1 wherein said delay objective function is calculated by a forward breadth-first static timing calculation through said netlist.
- 4. A computer readable medium as described in claim 2 wherein said delay objective function is based on wire parameters that include half-perimeter wire length computations involving a log_sum_exp( ) function that is smoothed based on said smoothing variable, alpha.
- 5. A computer readable medium as described in claim 2 wherein said step b2) of said method is computed based on a reverse breadth-first traversal through said netlist computing partial derivatives of said delay objective function with respect to individual cells.
- 6. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations that are based on wire capacitance and wire resistance, said wire capacitance being based on half-perimeter wire length computations and said wire resistance being based on manhattan distance wire length computations.
- 7. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations that are based on Elmore-Rubenstein-Penfield (ERP).
- 8. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations that are based on Asymptotic Waveform Expansion (AWE).
- 9. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations and further comprising the step of performing automatic cell sizing by basing said stage delay computations on cell sizing within said delay objective function.
- 10. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations and further comprising the step of approximating the effects of automatic buffer insertion within said stage delay computations to reduce said worst path signal delay.
- 11. A computer readable medium as described in claim 1 further comprising the step of deriving said worst path signal delay using automatic buffer insertion, and wherein said step of deriving said worst path signal delay using automatic buffer insertion is approximated using the equation: delay (x)=if (0<=x<=T) then,(ax2+bx+c)if (x>=T) then,(dx+e)where T is a threshold delay value and a, b, c, d and e are constants.
- 12. A computer readable medium as described in claim 1 wherein said method further comprises the step of computing delay estimates through a gate structure using buffer tree rebalancing and wherein said delay estimates are used in said delay objective function.
- 13. A computer readable medium as described in claim 12 wherein buffer tree rebalancing is modeled by the tree-depth relationship: 1=∑i (1/(2(di/T))where di is the delay from input to output and where the summation is performed over all outputs, i.
- 14. A computer readable medium as described in claim 12 wherein said buffer tree rebalancing is modeled by additional variables associated with the wire to be buffered and a forward traversal is used.
- 15. A computer readable medium as described in claim 12 wherein stage delay to the output, di, of said buffer tree rebalancing is modeled using equation: di=Tlog(2)log_sum_expi(log(2)T×vi)-vi.
- 16. A computer readable medium as described in claim 12 wherein said buffer tree rebalancing is modeled using the relationship: Ain=T/log(2)×log_sum_exp((log(2)/T)×Ai)i)wherein Ai represents required times and i represents outputs.
- 17. A computer readable medium as described in claim 1 wherein said delay objective function comprises stage delay computations and further comprising the step of estimating the effects of timing-driven-synthesis optimizations and wherein said stage delay computations approximate said effects of timing-driven synthesis optimizations.
- 18. A computer readable medium as described in claim 17 wherein said timing-driven synthesis optimization is modeled by the tree-depth relationship: 1=∑i (1/(2(di/T))where di is the delay from input to output and where the summation is performed over all inputs, i.
- 19. A computer readable medium as described in claim 17 wherein said timing-driven synthesis is modeled by additional variables and a reverse traversal is used.
- 20. A computer readable medium as described in claim 17 wherein stage delay to the output, di, of said timing-driven synthesis is modeled using equation: di=Tlog(2)log_sum_expi(log(2)T×vi)-vi.
- 21. A computer readable medium as described in claim 17 wherein said timing-driven synthesis optimizations are modeled using the relationship: Aout=T/log(2)×log_sum_expi((log(2)/T)×Ai))wherein Ai represents arrival times and i represents inputs.
- 22. A computer readable medium as described in claim 1 wherein said objective function further comprises a density objective function for penalizing uneven cell distributions of said cell placements.
- 23. A computer readable medium as described in claim 22 wherein said step b), in solving said density objective function, comprises the steps of:b1) defining a field of discrete grid points within said chip area; b2) determining, for each cell, spatial potentials effecting grid points near each cell; b3) determining a summed potential for each grid point of said chip area by summing the spatial potential contributions from all cells for each grid point; and b4) determining a result of said density objective function by determining an error, at each grid point, between its summed potential and an average potential.
Parent Case Info
This is a continuation of application(s) Ser. No. 09/216,632 filed on Dec. 16, 1998, now U.S. Pat. No. 6,301,693 B1 issued Oct. 9, 2001, which is hereby incorporated by reference to this specification.
US Referenced Citations (7)
| Number |
Name |
Date |
Kind |
|
3622762 |
Dyer et al. |
Nov 1971 |
A |
|
5519627 |
Mahmood et al. |
May 1996 |
A |
|
5838583 |
Varadarajan et al. |
Nov 1998 |
A |
|
5847969 |
Miller et al. |
Dec 1998 |
A |
|
5892688 |
Scepanovic et al. |
Apr 1999 |
A |
|
6282693 |
Naylor et al. |
Aug 2001 |
B1 |
|
6301693 |
Naylor et al. |
Oct 2001 |
B1 |
Non-Patent Literature Citations (1)
| Entry |
| Rajan et al., Conjugate Gradient Method for Adaptive Nonlinear Filtering, IEEE 1995, pp. 1327-1330. |
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09/216632 |
Dec 1998 |
US |
| Child |
09/769931 |
|
US |