Method for logic optimization for improving timing and congestion during placement in integrated circuit design
DCFirst Claim
1. A method of modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, comprising the steps of:
- performing an initial placement of integrated circuit elements within bins on the design layout;
calculating congestion of the initial placement; and
subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design to allow congestion of the placement to be improved.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
This invention recognizes the ability of logic optimization to help placement relieve congestion. Different types of logic optimizations are used to help placement relieve congestion. In one type of optimization, the speed of parts of the circuit is improved by selecting faster cells. In another type of optimization, the topology of the circuit is changed such that placement can now move cells, which could not have been moved before, to reduce congestion and thus enable routing. A distinguishing feature of this methodology is that it not only uses the placement information for interconnection delay/area estimates during logic optimization, but also uses logic optimization to aid the physical placement steps by providing support to placement so that the congestion of the circuit is improved. The aim is to avoid getting into a situation where the placed circuit cannot be routed.
-
Citations
18 Claims
-
1. A method of modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, comprising the steps of:
-
performing an initial placement of integrated circuit elements within bins on the design layout;
calculating congestion of the initial placement; and
subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design to allow congestion of the placement to be improved. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
tracking logic modifications to determine which logic modifications resulted in placement modifications during placement refinement; and
undoing logic modifications that did not result in placement modifications.
-
-
4. The method of claim 2, comprising the further step of modifying logic within the integrated circuit design to improve timing performance of the integrated circuit design subject to limits on the increase in area of integrated circuit elements within a bin.
-
5. The method of claim 4, wherein modifying logic to improve timing performance comprises speeding up part of the circuit to improve timing slack in that part of the circuit.
-
6. The method of claim 2, comprising the further steps of:
-
calculating congestion of the placement following placement refinement; and
depending on the degree to which congestion has been improved, repeating said steps of modifying logic and performing placement refinement.
-
-
7. The method of claim 2, wherein modifying logic comprises replacing an original set of gates in the circuit with a different set of gates that is logically equivalent to the original set of gates.
-
8. The method of claim 7, wherein the different set of gates results in a lower ratio of number of pins to routable area in at least one bin.
-
9. The method of claim 7, wherein modifying logic comprises replacing a single gate having a plural number N of fanouts with a plurality of gates each having fewer than N fanouts.
-
10. The method of claim 7, wherein modifying logic comprises inserting buffers within a fanout tree of a gate.
-
11. The method of claim 7, wherein modifying logic comprises replacing a single gate having a plural number N of fanins with a plurality of gates each having fewer than N fanins.
-
12. A method of modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, comprising the steps of:
-
performing an initial placement of integrated circuit elements within bins on the design layout, connections between the integrated circuit elements being represented as nets within a netlist describing the integrated circuit design;
calculating congestion of the initial placement; and
subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design;
wherein the logic modifications improve timing of selected nets belonging to the selected bins, reducing constraints on a subsequent placement step. - View Dependent Claims (13, 14)
tracking logic modifications to determine which logic modifications resulted in placement modifications during placement refinement; and
undoing logic modifications that did not result in placement modifications.
-
-
15. A computer-readable medium including instructions for modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, including instructions for:
-
performing an initial placement of integrated circuit elements within bins on the design layout;
calculating congestion of the initial placement; and
subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design to allow congestion of the placement to be improved.
-
-
16. A computer-readable medium including instructions for modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, including instructions for:
-
performing an initial placement of integrated circuit elements within bins on the design layout, connections between the integrated circuit elements being represented as nets within a netlist describing the integrated circuit design;
calculating congestion of the initial placement; and
subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design;
wherein the logic modifications improve timing of selected nets belonging to the selected bins, reducing constraints on a subsequent placement step.
-
-
17. Apparatus for modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, comprising:
-
means for performing an initial placement of integrated circuit elements within bins on the design layout;
means for calculating congestion of the initial placement; and
means for, subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design to allow congestion of the placement to be improved.
-
-
18. Apparatus for modifying an integrated circuit design to facilitate placement of circuit elements within one or more regions called bins on an integrated circuit design layout, comprising:
-
means for performing an initial placement of integrated circuit elements within bins on the design layout, connections between the integrated circuit elements being represented as nets within a netlist describing the integrated circuit design;
means for calculating congestion of the initial placement; and
means, subject to limits on the increase in area of integrated circuit elements within a bin, performing logic modifications within selected bins of the integrated circuit design;
wherein the logic modifications improve timing of selected nets belonging to the selected bins, reducing constraints on a subsequent placement step.
-
Specification