Verifying multiple constraints for circuit designs
First Claim
Patent Images
1. A method of evaluating constrained circuit designs, comprising:
- specifying a plurality of constrained designs, wherein each constrained design includes a circuit design that includes circuit elements and connections between circuit elements, and each constrained design further includes timing constraints for paths along the connections between circuit elements, the timing constraints including one or more timing exceptions including false paths that are not active paths, multi-cycle paths that correspond to multiple clock cycles, maximum delays along paths, or minimum delays along paths;
generating a timing graph for each circuit design, wherein each timing graph includes nodes corresponding to circuit elements and edges corresponding to connections between circuit elements;
mapping the timing constraints for each circuit design to a timing-graph constraint set for a corresponding timing graph;
using a computer to evaluate the constrained designs by comparing the timing-graph constraint sets and determining a presence or absence of one or more paths with a constraint error that corresponds to an inconsistent, conflicting or missing constraint; and
providing a timing-constraint report to a user, wherein the timing-constraint report includes values for the presence or absence of one or more paths with a constraint error.
1 Assignment
0 Petitions
Accused Products
Abstract
Certain embodiments of the present invention enable comparisons between constrained circuit designs by generating timing graphs for circuit designs, mapping timing constraints to the timing graphs, and comparing the mapped timing constraints from different timing graphs. Typically this comparison is made by identifying corresponding nodes in two or more timing graphs. Specific embodiments are also directed to multiple SDC (Synopsis Design Constraint) constraint specifications for a circuit and multiple constraint sets for different operational modes of a circuit.
16 Citations
21 Claims
-
1. A method of evaluating constrained circuit designs, comprising:
-
specifying a plurality of constrained designs, wherein each constrained design includes a circuit design that includes circuit elements and connections between circuit elements, and each constrained design further includes timing constraints for paths along the connections between circuit elements, the timing constraints including one or more timing exceptions including false paths that are not active paths, multi-cycle paths that correspond to multiple clock cycles, maximum delays along paths, or minimum delays along paths; generating a timing graph for each circuit design, wherein each timing graph includes nodes corresponding to circuit elements and edges corresponding to connections between circuit elements; mapping the timing constraints for each circuit design to a timing-graph constraint set for a corresponding timing graph; using a computer to evaluate the constrained designs by comparing the timing-graph constraint sets and determining a presence or absence of one or more paths with a constraint error that corresponds to an inconsistent, conflicting or missing constraint; and providing a timing-constraint report to a user, wherein the timing-constraint report includes values for the presence or absence of one or more paths with a constraint error. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium that stores a computer program for evaluating constrained circuit designs, wherein the computer program includes instructions for:
-
specifying a plurality of constrained designs, wherein each constrained design includes a circuit design that includes circuit elements and connections between circuit elements, and each constrained design further includes timing constraints for paths along the connections between circuit elements, the timing constraints including one or more timing exceptions including false paths that are not active paths, multi-cycle paths that correspond to multiple clock cycles, maximum delays along paths, or minimum delays along paths; generating a timing graph for each circuit design, wherein each timing graph includes nodes corresponding to circuit elements and edges corresponding to connections between circuit elements; mapping the timing constraints for each circuit design to a timing-graph constraint set for a corresponding timing graph; evaluating the constrained designs by comparing the timing-graph constraint sets and determining a presence or absence of one or more paths with a constraint error that corresponds to an inconsistent, conflicting or missing constraint; and providing a timing-constraint report to a user, wherein the timing-constraint report includes values for the presence or absence of one or more paths with a constraint error. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for evaluating constrained circuit designs, the apparatus comprising a computer for executing computer instructions, wherein the computer includes computer instructions for:
-
specifying a plurality of constrained designs, wherein each constrained design includes a circuit design that includes circuit elements and connections between circuit elements, and each constrained design further includes timing constraints for paths along the connections between circuit elements, the timing constraints including one or more timing exceptions including false paths that are not active paths, multi-cycle paths that correspond to multiple clock cycles, maximum delays along paths, or minimum delays along paths; generating a timing graph for each circuit design, wherein each timing graph includes nodes corresponding to circuit elements and edges corresponding to connections between circuit elements; mapping the timing constraints for each circuit design to a timing-graph constraint set for a corresponding timing graph; evaluating the constrained designs by comparing the timing-graph constraint sets and determining a presence or absence of one or more paths with a constraint error that corresponds to an inconsistent, conflicting or missing constraint; and providing a timing-constraint report to a user, wherein the timing-constraint report includes values for the presence or absence of one or more paths with a constraint error. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification