Patent USRE28016E successfully refreshed from Google Patents.
Patent US2115334A successfully refreshed from Google Patents.
Patent US5202889A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5202889A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs

Assignee: International Business Machines Corp
•
Filing: 1990-11-13
•
Granted: 1993-04-13
•
Expires: 2010-11-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In the dynamic process for the generation of biased pseudo-random test patterns for the functional verification of integrated circuit designs, the verification is performed in a sequence of steps, with each test pattern providing all data required to test a circuit design during at least one of said steps. Generation of each step is performed in two stages, where in a first stage all facilities and parameters required for the execution of the respective step are defined and assigned the proper values, and where in a second stage the execution of the particular step is performed. This process is continued until a test pattern with the number of steps requested by the user is generated, so that finally the test pattern comprises three parts: The initialized facilities define the initial machine state and execution parts of the test pattern, and the values of the facilities which have been changed during the execution of the steps, form the results part of the test pattern.

Inventors

  • 👤 Aharon Aharon
  • 👤 Ayal Bar-David
  • 👤 Raanan Gewirtzman
  • 👤 Emanuel Gofman
  • 👤 Moshe Leibowitz
  • 👤 Victor Shwartzburd

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 20:39
CPC Classifications
G; G01; G01R; G01R31/00; G01R31/28; G01R31/317; G01R31/31704; G01R31/3181; G01R31/3183; G01R31/318307; G01R31/318385

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 171 words
Dynamic process for generating biased pseudo-random test patterns for the functional verification of an integrated circuit design, wherein the verification is performed in a sequence of steps defined by a user, and wherein each of the test patterns provides all data required to test the circuit design during at least one of said steps, said process comprising: a) performing each of said steps in a first and a second stage, wherein facilities and parameters required for executing said step are defined and initialized in said first stage, and wherein said step is executed in said second stage; b) repeating a) until the test pattern having the number of steps requested by the user is generated, and whereupon completion of said generation said test pattern comprises: the initialized facilities that define an initial machine state; the execution of the step that drives the simulation of said design; and final values of said facilities that incorporate changes that occurred during the execution of said steps to include expected results of said test pattern.
Claim 2
Dependent Claim 171 words
Dynamic process for generating biased pseudo-random test patterns for the functional verification of an integrated circuit design, wherein the verification is performed in a sequence of steps defined by a user, and wherein each of the test patterns provides all data required to test the circuit design during at least one of said steps, said process comprising: a) performing each of said steps in a first and a second stage, wherein facilities and parameters required for executing said step are defined and initialized in said first stage, and wherein said step is executed in said second stage; b) repeating a) until the test pattern having the number of steps requested by the user is generated, and whereupon completion of said generation said test pattern comprises: the initialized facilities that define an initial machine state; the execution of the step that drives the simulation of said design; and final values of said facilities that incorporate changes that occurred during the execution of said steps to include expected results of said test pattern.
Claim 3
Dependent Claim 24 words
The process in accordance with claim 1, further comprising storing for later retrieval intermediate states of said facilities after executing each of said steps.
Claim 4
Dependent Claim 59 words
Process in accordance with claim 1 wherein the initialization of one of the facility in said first stage is performed if, and only if, the respective facility has not been set yet, and if it is used as a source in the currently generated step, or if it influences in any way the execution of the currently generated step.
Claim 5
Dependent Claim 18 words
Process in accordance with claim 1, wherein the execution of said patterns may occur in an arbitrary order.
Claim 6
Dependent Claim 62 words
Process in accordance with claim 1, wherein an assignment of values to said facilities is performed in accordance with biasing strategies defined by the user or selected randomly, said strategy is selected from a group that consists of: creating a specific sequence of instructions and selecting an instruction having a source operand, wherein said operand is a destination of a previous instruction.
Claim 7
Dependent Claim 45 words
Process in accordance with claim 5, wherein an initial set of said biasing strategies defined by the user is evaluated during coverage analysis of the test patterns generated thus far, said coverage analysis comparing a reference model of the design to an actual design model.
Claim 8
Dependent Claim 17 words
Process in accordance with claim 1, wherein every circuit comprising the design is tested at least once.
Claim 9
Dependent Claim 34 words
Process in accordance with claim 5, wherein within said biasing strategies, data is generated pseudo-randomly and control parameters of the process are stored so as to permit later regeneration of the generated test patterns.
Claim 10
Dependent Claim 33 words
Process in accordance with claim 1, wherein during execution of said step in said second stage, a reference model of the design is used, the model being incorporated as part of the process.
Claim 11
Dependent Claim 67 words
Process in accordance with claim 5, wherein the quality of the test patterns under generation is monitored by coverage analysis, said coverage analysis is being performed in accordance with testing techniques that include covering of branches and paths in a reference or design model, and wherein feedback from said coverage analysis is used for improving the biasing strategies and for evaluating the efficiency of said functional verification.
Claim 12
Dependent Claim 60 words
Process in accordance with claim 10, wherein said coverage analysis is initially performed on a reference model with the test patterns generated used as a starting set for the design verification, said verification process is subsequently followed by the coverage analysis being performed on the design model, wherein the patterns created are used as a basic set for regression testing.
Claim 13
Dependent Claim 205 words
Process in accordance with claim 5, wherein the initialization step comprises: feeding basic parameters which control said first stage; defining and setting the facilities involved by selecting said biasing strategy, setting the contents of a machine state register and defining the memory limits; generating a current instruction address; checking the addressed memory location for a completed definition and, if so, indicating that it is "free," and if not, fetching an instruction from storage; initiating the generation of an instruction by selecting an opcode from an opcode list and building an instruction word consisting of fields by using a field list or by using said biasing strategy; assigning to all operands their respective values based on said biasing strategy, and wherein said execution step comprises: executing the accessed instruction taking into account that all involved facilities have been set in the first stage, updating all affected facilities and their marking containing a test pattern result, determining whether sufficient steps have been generated as required by controls of the process, and if so, having obtained results compared with expected results, wherein after a generated test pattern is written out, and if not, the test pattern generation process is repeated until a required number of steps are obtained.

References Cited (Backward Citations)

US4594711A Cited
EP0149048A1 Cited
US4745355A Cited
US4801870A Cited
US4718065A Cited
US4782487A Cited
US4817093A Cited
US4870346A Cited
US4945536A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-04-12 1996-10-12 1997-04-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-04-12 2000-10-12 2001-04-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-04-12 2004-10-12 2005-04-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag