US5572666A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for generating pseudo-random instructions for design verification
Assignee: Oracle America Inc
•
Filing: 1995-03-28
•
Granted: 1996-11-05
•
Expires: 2015-03-28
Abstract
Abstract A pseudo-random test system which generates the text for a sequence of assembly language instructions by intermixing text instructions generated by pre-programmed operations from at least two test generators is provided. The test generators are executed to program operations into a test interpreter which mixes the operations and outputs text for a pseudo-random sequence of assembly language instructions for execution on a processor. In addition to mixing text instructions generated by pre-programmed operations, the system randomly allocates internal registers and provides self-checking constructs used to compare the processor's results with expected results.
Inventors
- 👤 Jeffrey D. Whitman
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 18:03
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/22; G06F11/26; G06F11/273; G06F11/2736; G01; G01R; G01R31/00; G01R31/28; G01R31/317; G01R31/3181; G01R31/3183; G01R31/318307; G01R31/318385; G01R31/318392
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
112 words
A system for outputting a sequence of processor instructions for execution on a target processor, the system comprising: at least two executable test generators which when executed specify particular processor instructions to be used in said sequence of processor instruction for execution on said target processor; and a test interpreter which at least partially shuffles the particular processor instructions from said at least two independent test generators and generates said sequence of processor instructions for execution on said target processor such that sequence includes two of said particular processor instructions from one test generator which are separated from one another by one or more particular processor instructions from the other test generator.
Claim 2
Independent Claim
112 words
A system for outputting a sequence of processor instructions for execution on a target processor, the system comprising: at least two executable test generators which when executed specify particular processor instructions to be used in said sequence of processor instruction for execution on said target processor; and a test interpreter which at least partially shuffles the particular processor instructions from said at least two independent test generators and generates said sequence of processor instructions for execution on said target processor such that sequence includes two of said particular processor instructions from one test generator which are separated from one another by one or more particular processor instructions from the other test generator.
Claim 3
Dependent Claim
56 words
The system of claim 1 wherein the test interpreter shuffles blocks of particular processor instructions from the test generators such that the sequence of processor instructions includes blocks of particular processor instructions from one test generator separated from one another by at least one block of particular processor instructions from one or more other test generators.
Claim 4
Dependent Claim
27 words
The system of claim 1 wherein said test generator when executed programs interpreter control operations which control how said test interpreter generates the sequence of processor instructions.
Claim 5
Dependent Claim
44 words
The system of claim 3 wherein said interpreter control operations include operations which specify running the processor in either a supervisor mode which is available to a limited class of users or a user mode which is available to all users of the processor.
Claim 6
Dependent Claim
29 words
The system of claim 3 wherein said interpreter control operations include operations which cause a defined sequence of processor instructions to be included back-to-back in said sequence of instructions.
Claim 7
Dependent Claim
36 words
The system of claim 3 wherein said interpreter control operations include operations which cause the random allocation of physical registers of said target processor in the sequence of processor instructions for execution on said target processor.
Claim 8
Dependent Claim
27 words
The system of claim 3 wherein said interpreter control operations include operations which simulate expected results of executing the sequence of processor instructions on said target processor.
Claim 9
Dependent Claim
29 words
The system of claim 3 wherein said interpreter control operations include operations which simulate expected cache activity resulting from executing the sequence of processor instructions on said target processor.
Claim 10
Independent Claim
173 words
A method for generating a sequence of processor instructions for execution on a target processor, the method comprising the following steps: providing at least a first and a second executable test generator, each of which includes code containing interface calls, at least some of which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; executing one of said test generators such that said interface calls are used to program information into a test interpreter at least a portion of said information specifying said particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; selecting operations from among operations provided from at least the first and the second test generators; shuffling at least some of the particular processor instructions specified by the operations of said first and second test generators to generate said sequence of processor instructions for execution on said target processor; and outputting said sequence of processor instructions for execution on said target processor.
Claim 11
Independent Claim
173 words
A method for generating a sequence of processor instructions for execution on a target processor, the method comprising the following steps: providing at least a first and a second executable test generator, each of which includes code containing interface calls, at least some of which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; executing one of said test generators such that said interface calls are used to program information into a test interpreter at least a portion of said information specifying said particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; selecting operations from among operations provided from at least the first and the second test generators; shuffling at least some of the particular processor instructions specified by the operations of said first and second test generators to generate said sequence of processor instructions for execution on said target processor; and outputting said sequence of processor instructions for execution on said target processor.
Claim 12
Dependent Claim
25 words
The method of claim 9 wherein the steps of selecting operations from a second test generator involves selecting the first test generator a second time.
Claim 13
Dependent Claim
31 words
The method of claim 9 wherein the steps of selecting operations from said first and second test generators includes randomly selecting test generators from among a group of designated test generators.
Claim 14
Dependent Claim
37 words
The method of claim 9 wherein at least some of the interface calls specify interpreter control operations for controlling the organization or content of instructions in said sequence of processor instructions for execution on said target processor.
Claim 15
Dependent Claim
37 words
The method of claim 9 wherein said step of executing one of said test generators includes the steps of programming information into operations structures allocated in slots of said test interpreter where they are selected for shuffling.
Claim 16
Dependent Claim
23 words
The method of claim 9 further comprising a step of randomly allocating physical registers for at least some of the particular processor instructions.
Claim 17
Independent Claim
106 words
An apparatus for generating a sequence of processor instructions for execution on a target processor, the system comprising one or more executable test generators, each containing interface calls specifying processor instructions for use in generating the sequence of processor instructions for execution on the target processor; a test interpreter having a plurality of test slots, each slot having holding operations structures for holding information provided by the interface calls from a single test generator; an instruction generation element for interpreting operations in the operations structures of said plurality of slots; and a switching element for switching between test slots when the operations structures are being interpreted.
Claim 18
Independent Claim
106 words
An apparatus for generating a sequence of processor instructions for execution on a target processor, the system comprising one or more executable test generators, each containing interface calls specifying processor instructions for use in generating the sequence of processor instructions for execution on the target processor; a test interpreter having a plurality of test slots, each slot having holding operations structures for holding information provided by the interface calls from a single test generator; an instruction generation element for interpreting operations in the operations structures of said plurality of slots; and a switching element for switching between test slots when the operations structures are being interpreted.
Claim 19
Dependent Claim
20 words
The apparatus of claim 15 further comprising a selection element for randomly selecting test generators to fill empty test slots.
Claim 20
Dependent Claim
47 words
The apparatus of claim 15 wherein the switching element includes a random test switcher which determines whether a new slot should be selected after an operations structure has been executed; and a round robin test switcher which causes slots to be switched in a round robin order.
Claim 21
Independent Claim
126 words
A system for generating a file containing a sequence of processor instructions for performing design verification on a target processor, the system comprising: at least two executable test generator which when executed program operations which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; and a test interpreter which at least partially shuffles the particular processor instructions from said at least two independent test generators and generates said sequence of processor instructions for execution on said target processor such that the sequence includes at least two of said particular processor instructions from the test generator which are separated from at least one other processor instruction, wherein said sequence of processor instructions are stored in said file.
Claim 22
Independent Claim
126 words
A system for generating a file containing a sequence of processor instructions for performing design verification on a target processor, the system comprising: at least two executable test generator which when executed program operations which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; and a test interpreter which at least partially shuffles the particular processor instructions from said at least two independent test generators and generates said sequence of processor instructions for execution on said target processor such that the sequence includes at least two of said particular processor instructions from the test generator which are separated from at least one other processor instruction, wherein said sequence of processor instructions are stored in said file.
Claim 23
Dependent Claim
56 words
The system of claim 18 wherein the test interpreter shuffles blocks of particular processor instrction from the test generators such that the sequence of processor instuctions includes blocks of particular processor instructions from one test generator separated from one another by at least one block of particular processor instructions from one or more other test generators.
Claim 24
Dependent Claim
27 words
The system of claim 18 wherein said test generator when executed programs interpreter control operations which control how said test interpreter generates the sequence of processor instructions.
Claim 25
Dependent Claim
43 words
The system of claim 20 wherein said interpreter control operations include operations which specify the processor in either a supervisor mode which is available to a limited class of users or a user mode which is available to all users of the processor.
Claim 26
Dependent Claim
29 words
The system of claim 20 wherein said interpreter control operations include operations which cause a defined sequence of processor instructions to be included back-to-back in said sequence of instuctions.
Claim 27
Dependent Claim
148 words
A computer readable medium containing program instructions for generating a sequence of processor instructions for performing design verification on a target processor, the instructions comprising the following steps: providing one or more executable test generators, each of which includes code containing interface calls, at least some of which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; executing one of said test generators such that said interface calls are used to program information into a test generator at least a portion of said information specifying said particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; shuffling said particular processor instructions to at least partially define said sequence of processor instructions for execution on said target processor; and outputting said sequence of processor instructions for execution on said target processor.
Claim 28
Dependent Claim
148 words
A computer readable medium containing program instructions for generating a sequence of processor instructions for performing design verification on a target processor, the instructions comprising the following steps: providing one or more executable test generators, each of which includes code containing interface calls, at least some of which specify particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; executing one of said test generators such that said interface calls are used to program information into a test generator at least a portion of said information specifying said particular processor instructions to be used in said sequence of processor instructions for execution on said target processor; shuffling said particular processor instructions to at least partially define said sequence of processor instructions for execution on said target processor; and outputting said sequence of processor instructions for execution on said target processor.
Claim 29
Dependent Claim
33 words
The computer readable medium of claim 23 wherein the steps of selecting operations from said first and second test generators includes randomly selecting test generators from among a group of designated test generators.
Claim 30
Dependent Claim
39 words
The computer readable medium of claim 23 wherein at least some of the interface calls specify interpreter control operations for controlling the organization or content of instructions in said sequence of processor instructions for execution on said target processor.
Claim 31
Dependent Claim
39 words
The computer readable medium of claim 23 wherein said step of executing one of said test generators includes the steps of programming information into operations structures allocated in slots of said test interpreter where they are selected for shuffling.
Claim 32
Dependent Claim
25 words
The computer readable medium of claim 23 further comprising a step of randomly allocating physical registers for at least some of the particular processor instructions.
References Cited (Backward Citations)
US4500993A
Cited
US4493078A
Cited
US4931722A
Cited
US4789821A
Cited
US5202889A
Cited
US5455938A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-11-05 | 2000-05-06 | 2000-11-05 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-11-05 | 2004-05-06 | 2004-11-05 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-11-05 | 2008-05-06 | 2008-11-05 | $7700.00 | Window Closed / Lapsed |