Opportunistic candidate path selection during physical optimization of a circuit design for an IC
First Claim
1. A method of implementing a circuit design for an integrated circuit (IC), comprising:
- placing and routing a logical description of the circuit design to generate a physical description having a plurality of paths;
executing a timing analysis to determine a timing profile of the physical description, the timing profile including slack values for the plurality of paths based on a timing constraint;
optimizing the physical description by performing a plurality of iterations of;
selecting a candidate set of paths having negative slack from the plurality of paths in the physical description based on the slack values of the timing profile, the step of selecting including determining that timing of a particular path of the plurality of paths in the physical description having a most negative slack has not improved and excluding the particular path from the candidate set of paths; and
modifying the physical description based on at least one optimization of a selected path from the candidate set of paths having a most negative slack;
generating a physical implementation of the circuit design for the IC based on the physical description.
1 Assignment
0 Petitions
Accused Products
Abstract
In an example, a method of implementing a circuit design for an integrated circuit (IC) includes: placing and routing a logical description of the circuit design to generate a physical description having a plurality of paths, and executing a timing analysis to determine a timing profile of the physical description. The method further includes optimizing the physical description by performing a plurality of iterations of: comparing the timing profile with a timing constraint to select a candidate set of paths having negative slack from the plurality of paths in the physical description; and modifying the physical description based on at least one optimization of a selected path from the candidate set of paths having a most negative slack. The method further includes generating a physical implementation of the circuit design for the IC based on the physical description.
29 Citations
17 Claims
-
1. A method of implementing a circuit design for an integrated circuit (IC), comprising:
-
placing and routing a logical description of the circuit design to generate a physical description having a plurality of paths; executing a timing analysis to determine a timing profile of the physical description, the timing profile including slack values for the plurality of paths based on a timing constraint; optimizing the physical description by performing a plurality of iterations of; selecting a candidate set of paths having negative slack from the plurality of paths in the physical description based on the slack values of the timing profile, the step of selecting including determining that timing of a particular path of the plurality of paths in the physical description having a most negative slack has not improved and excluding the particular path from the candidate set of paths; and modifying the physical description based on at least one optimization of a selected path from the candidate set of paths having a most negative slack; generating a physical implementation of the circuit design for the IC based on the physical description. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A circuit design system, comprising:
-
a hardware platform comprising a central processing unit (CPU) and a memory, the memory storing a logical description of a circuit design for an integrated circuit (IC) and a timing constraint; and a circuit design tool comprising instructions executable by the CPU in the hardware platform, the circuit design tool configured to; place and route the logical description to generate a physical description having a plurality of paths; execute a timing analysis to determine a timing profile of the physical description, the timing profile including slack values for the plurality of paths based on a timing constraint; optimize the physical description by performing a plurality of iterations of; selecting a candidate set of paths having negative slack from the plurality of paths in the physical description based on the slack values of the timing profile; determining that timing of a particular path of the plurality of paths in the physical description having a most negative slack has not improved; excluding the particular path from the candidate set of paths; and modifying the physical description based on at least one optimization of a selected path from the candidate set of paths having a most negative slack; generate a physical implementation of the circuit design for the IC based on the physical description. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer readable medium having instructions stored thereon that when executed by a processor cause the processor to perform a method of implementing a circuit design for an integrated circuit (IC), comprising:
-
placing and routing a logical description of the circuit design to generate a physical description having a plurality of paths; executing a timing analysis to determine a timing profile of the physical description, the timing profile including slack values for the plurality of paths based on a timing constraint; optimizing the physical description by performing a plurality of iterations of; selecting a candidate set of paths having negative slack from the plurality of paths in the physical description based on the slack values of the timing profile, the step of selecting including determining that timing of a particular path of the plurality of paths in the physical description having a most negative slack has not improved and excluding the particular path from the candidate set of paths; and modifying the physical description based on at least one optimization of a selected path from the candidate set of paths having a most negative slack; generating a physical implementation of the circuit design for the IC based on the physical description. - View Dependent Claims (16, 17)
-
Specification