← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag