Claims
- 1. An automated method of testing implementations of an instruction set architecture (ISA) comprising the steps of:
defining a finite state transition system model of the ISA; traversing the finite state model to find a state sequence of interest; and automatically transforming a description of the state sequence of interest to an assembly language test program wherein the step of traversing the finite state model utilizes a satisfiability solving tool (SAT)-based bounded model checker to find state transitions that reach architectural states of interest in the state sequence of interest obeying certain designated constraints.
- 2. The method of claim 1 wherein the step of defining the finite state model comprises the steps of:
identifying a set of state variables; defining a present and a next state variable pair for each of said state variables; and defining a set of input variables.
- 3. The method of claim 2 wherein the set of state variables comprises variables representing programmer visible features.
- 4. The method of claim 2 wherein the input variables comprise a set union of a set of variables representing instructions and a set of variables representing relationships among instructions.
- 5. The method of claim 2 further comprising the steps of:
defining a transition function for each specified state variable based on the ISA.
- 6. The method of claim 4 further comprising the step of:
establishing a transition relation of the model of the ISA by ANDing the transition functions together.
- 7. The method of claim 1 further comprising the step of:
writing predicate functions that define constraints on the programming environment of the ISA.
- 8. The method of claim 7 further comprising the step of ANDing the predicate functions with the transition relation functions to insure the production of state sequences that obey the constraints.
- 9. The method of claim 1 further comprising the step of:
specifying types of state sequences for which it is desired to determine if said sequences are possible as formulas in a temporal logic.
- 10. The method of claim 9 further comprising the use of SAT-based bounded model checking on the finite state transition model of the ISA to generate instruction sequence templates that satisfy the temporal logic formulas.
- 11. The method of claim 10 further comprising the step of:
using an instruction sequence template and the constraints as in input to using a test program generator specific to the ISA to automatically generate assembly language programs based on specified sequences of opcode types and user specified constraints.
- 12. The method of claim 1 further comprising the steps of:
breaking a sequence from an initial state to a final step into two sequences, a first from the initial state to a first predetermined state and a second from the first predetermined state to the final state; utilizing the SAT-based bounded model checker to find the first and the second sequences; and concatenating the first and the second sequences.
- 13. An automated system for verifying an instruction set architecture (ISA) design comprising the steps of:
means for defining a finite state transition system model of the ISA; means for traversing the finite state model to find a state sequence of interest; and means for automatically transforming a description of the state sequence of interest to an assembly language test program wherein the means for traversing the finite state model utilizes a satisfiability solving tool (SAT)-based bounded model checker to find state transitions that reach architectural states of interest in the state sequence of interest obeying certain designated constraints.
- 14. The system of claim 13 wherein the means for defining the finite state model further comprises:
means for identifying a set of state variables; means for defining a present and a next state variable pair for each of said state variables; and means for defining a set of input variables.
- 15. The system of claim 14 wherein said set of state variables comprises variables representing programmer visible features.
- 16. The system of claim 14 wherein the system's input variables comprise a set union of a set of variables representing instructions and a set of variables representing relationships among instructions.
- 17. The system of claim 14 further comprising:
means for defining a transition function for each specified state variable based on the ISA.
- 18. The system of claim 17 further comprising:
means for establishing a transition relation of the model of the ISA by ANDing the transition functions together.
- 19. The system of claim 13 further comprising:
means for writing predicate functions that define constraints on the programming environment of the ISA.
- 20. The system if claim 13 further comprising means for ANDing the predicate functions with the transition relation functions to insure the production of state sequences that obey the constraints.
- 21. The system of claim 13 further comprising:
means specifying types of state sequences for which it is desired to determine if said sequences are possible as formulas in a temporal logic.
- 22. The system of claim 21 further comprising a SAT-based bounded model checking tool to generate instruction sequence templates that satisfy the temporal logic formulas based on the finite state transition model of the ISA.
- 23. The system of claim 13 further comprising:
a test program generator specific to the ISA to automatically generate assembly language programs based on specified sequences of opcode types and user specified constraints.
- 24. The system of claim 13 further comprising:
means for breaking a sequence from an initial state to a final step into two sequences, a first from the initial state to a first predetermined state and a second from the first predetermined state to the final state; the SAT-based bounded model checker further operable to find the first and the second sequences; and means for automatically concatenating the first and the second sequences.
Parent Case Info
[0001] The present invention claims the benefit of U.S. Provisional Application Serial No. 60/281,523 entitled “Methods and Apparatus for Generating Functional Test Programs by Traversing a Finite State Model of an Instruction Set Architecture” filed Apr. 4, 2001 which is incorporated by reference herein in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60281523 |
Apr 2001 |
US |