Claims
- 1. A method comprising:
for an integrated circuit model, identifying a lazy cut-point frontier and an eager cut-point frontier; computing a ratio of one of reconverging and non-reconverging variables to a total number of variables for each of the identified lazy and eager cut-point frontiers; and selecting from the lazy and eager cut-point frontiers based on the computed ratios.
- 2. The method of claim 1 wherein
computing a ratio comprises computing a ratio of reconverging variables to a total number of variables (reconvergence ratio), and wherein selecting comprises selecting the cut-point frontier with the smallest reconvergence ratio.
- 3. The method of claim 1 wherein
computing a ratio comprises computing a ratio of non-reconverging variables to a total number of variables (non-reconvergence ratio), and wherein selecting comprises selecting the cut-point frontier with the largest non-reconvergence ratio.
- 4. The method of claim 1 wherein
identifying a lazy cut-point frontier and an eager cut-point frontier includes identifying the lazy and eager cut-point frontiers based on cut-points identified in a specification circuit model and an implementation circuit model.
- 5. The method of claim 4 wherein identifying a lazy cut-point frontier and an eager cut-point frontier includes identifying the lazy and eager cut-point frontiers based on cut-points identified in a specification circuit model in a hardware description language and a schematic.
- 6. A machine-accessible storage medium storing instructions that, when accessed by a machine, cause the machine to perform:
identifying a lazy cut-point frontier and an eager cut-point frontier for an integrated circuit model; computing a ratio of one of reconverging and non-reconverging variables to a total number of variables for each of the identified lazy and eager cut-point frontiers; and selecting from the lazy and eager cut-point frontiers based on the computed ratios.
- 7. The machine-accessible storage medium of claim 6 wherein
computing a ratio comprises computing a ratio of reconverging variables to a total number of variables (reconvergence ratio), and wherein selecting comprises selecting the cut-point frontier with the smallest reconvergence ratio.
- 8. The machine-accessible storage medium of claim 6 wherein
computing a ratio comprises computing a ratio of non-reconverging variables to a total number of variables (non-reconvergence ratio), and wherein selecting comprises selecting the cut-point frontier with the largest non-reconvergence ratio.
- 9. An apparatus comprising:
an input to receive integrated circuit models to be formally verified; and a cut-point frontier selection engine to identify an eager and a lazy cut-point frontier, to compute one of a reconvergence and a non-reconvergence ratio for each of the identified cut-point frontiers, and to select between the identified eager and the lazy cut-point frontiers based on the computed ratios.
- 10. The apparatus of claim 9 wherein
the cut-point frontier selection engine is to compute a reconvergence ratio for each of the identified cut-point frontiers and to select the cut-point frontier with the smallest reconvergence ratio.
- 11. The apparatus of claim 9 wherein
the cut-point frontier selection engine is to compute a non-reconvergence ratio for each of the identified cut-point frontiers and to select the cut-point frontier with the largest non-reconvergence ratio.
- 12. The apparatus of claim 9 further comprising:
a counter-example generation engine, the counter-example generation engine to identify values of variables for inputs to the circuit models that cause the circuit models to produce results that are different from each other.
- 13. The apparatus of claim 12 wherein
the counter-example generation engine is to identify the values based on the values of eigenvariables and reconverging primary inputs associated with a sequence of cut-point frontier selections that causes a difference in the outputs of the circuit models.
- 14. The apparatus of claim 9 wherein a first one of the integrated circuit models is a specification circuit model and the second one of the circuit models is an implementation circuit model.
- 15. The apparatus of claim 14 wherein the specification model is specified in a hardware description language and the implementation circuit model is a schematic.
- 16. A method comprising:
using a divide-and-conquer approach to formal equivalence verification; determining that a specification circuit model and an implementation circuit model are inequivalent; and generating a counter-example for the inequivalent models.
- 17. The method of claim 16 wherein generating the counter-example comprises:
determining values of a first set of variables that cause binary decision diagrams for the models to be inequivalent; while the first set of variables includes eigenvariables, selecting an eigenvariable;
substituting the determined values into a binary decision diagram associated with a node associated with the selected eigenvariable; substituting the determined values into a normalized binary decision diagram associated with a node associated with the selected eigenvariable; identifying values of a second set of variables that cause the binary decision diagram and normalized binary decision diagram into which the determined values were substituted to be equal; and returning the identified values for the first and second sets of variables.
- 18. The method of claim 17 further comprising:
returning a counter-example in response to determining that the first set of variables does not include any eigenvariables.
- 19. The method of claim 16 wherein generating the counter-example comprises:
working back from the outputs of the circuit models to the inputs of the circuit models to identify values of primary inputs to the circuit models that cause the circuit models to produce a different result.
- 20. A machine-accessible storage medium storing instructions that, when accessed by a machine, cause the machine to:
use a divide-and-conquer approach to formal equivalence verification; determine that a specification circuit model and an implementation circuit model are inequivalent; and generate a counter-example for the inequivalent models.
- 21. The machine-accessible storage medium of claim 20 wherein the specification circuit model is provided in a hardware description language and the implementation model is a schematic model.
- 22. The machine-accessible storage medium of claim 20 wherein causing the machine to generate a counter-example includes causing the machine to:
determine values of a first set of variables that cause binary decision diagrams for the models to be inequivalent; while the first set of variables includes eigenvariables, select an eigenvariable;
substitute the determined values into a binary decision diagram associated with a node associated with the selected eigenvariable; substitute the determined values into a normalized binary decision diagram associated with a node associated with the selected eigenvariable; identify values of a second set of variables that cause the binary decision diagram and normalized binary decision diagram into which the determined values were substituted to be equal; and return the identified values for the first and second sets of variables.
- 23. The machine accessible medium of claim 22 further comprising instructions that, when executed, cause the machine to:
return a counter-example in response to determining that the first set of variables does not include any eigenvariables.
- 24. The machine-accessible medium of claim 20 wherein generating the counter-example comprises:
working back from the outputs of the circuit models to the inputs of the circuit models to identify values of primary inputs to the circuit models that cause the circuit models to produce a different result.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is related to U.S. patent application Ser. No. 09/734,380 entitled, “Method and System for Formal Verification of a Circuit Model,” Attorney Docket Number 884.278US1, filed Dec. 11, 2000 and assigned to the assignee of the present invention.