IL94115A

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

Abstract

This record has no abstract on file.

IL94115A, drawing sheet 1
Sheet 1 of 3

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

12 claims: 12 independent, 0 dependent

  1. 1
    Dynamic process for generating biased pseudo-random test patterns for the functional verification of integrated circuit designs, where the verification is performed in a sequence of steps, and where each test pattern provides all data required to test a circuit design during at least one of said steps, characterized in that generation of each step is performed in two stages, whereby in said first stage all facilities and parameters required for the execution of the respective step are defined and assigned the proper values, and whereby in said second stage the execution of the particular step is performed, that this process is continued until a test pattern with the number of steps requested by the user is generated, so that upon completion of the generation, a test pattern comprising three parts is created, where the initialized facilities define the initial machine state and the execution parts of the test pattern, and where the values of the facilities, which have been changed during the execution of the steps, form the expected results part of the test pattern.
  2. 2
    Process in accordance with claim 1, characterized in that the intermediate states of the facilities after execution of every step are stored for later retrieval under user control for debugging purposes.
  3. 3
    Process in accordance with claim 1, characterized in that the initialization of any 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.
  4. 4
    Process in accordance with claim 1, characterized in that the execution of said patterns may occur in an arbitrary order because all the required initialization is implied within the said pattern. SZ 9-89-015
  5. 5
    Process in accordance with claim 1, characterized in that any time when there exists a freedom in assigning values to facilities, the assignment is performed in accordance with biasing strategies, which might be specified by the user or selected randomly.
  6. 6
    Process in accordance with claim 1, characterized in that an initial set of biasing strategies is defined by the user and is evaluated during coverage analysis of the so far generated test patterns over a reference model of the design, and over the actual design model.
  7. 7
    Process in accordance with claim 1, characterized in that every part of the design is tested at least once.
  8. 8
    Process in accordance with claim 5, characterized in that within any biasing strategy, data is generated pseudo-randomly, and that the control parameters of the said process are stored so as to permit later regeneration of the generated test pattern.
  9. 9
    Process in accordance with claim 1, characterized in that in the execution of a design step a reference model of the design is employed, this model being incorporated as a part of the said process.
  10. 10
    Process in accordance with claim 1, characterized in that the quality of the test pattern under generation is continuously monitored by coverage analysis, such coverage analysis being performed in accordance with one or more testing techniques such as covering of branches and paths in a reference and/or design model, and that the feedback from coverage analysis is used for improving the biasing strategies, and for evaluating the verification efficiency.
  11. 11
    Process in accordance with claim 10, characterized in that said coverage analysis is performed over the reference model at the beginning of the verification process, and that the test pattern generated during this stage is used as a starting set for the design verification, that at a later stage of the verification process, the coverage analysis is performed on the design model, and that during this stage, a set of implementation verification patterns is created which are used as the basic set for regression testing. SZ 9-89-015
  12. 12
    Process in accordance with claim 1, characterized in that the initialization step includes • the feeding of the basic parameters which control said first stage, • the definition and setting of the facilities involved, by selecting said biasing strategy, setting the contents of the machine state register, and defining the memory limits, • the generating of the current instruction address, • the checking of the addressed memory location for completed defining, if so, indicating that it is free”, if not, fetching an instruction from storage, • beginning the generation of the instruction by selecting an opcode from the opcode list and building an instruction word consisting of fields, by using - a field list, or - said biasing strategy, • assigning all operands their respective values, based on said biasing strategy, and that said execution stage encompasses • the execution of the accessed instruction, taking into account that all involved facilities have been set in the said first stage, • the updating of all affected facilities and their marking as containing the test pattern result, • the determination whether enough steps have been generated as required by the controls of the process, - if so, the obtained results are compared with the expected results, and the generated test pattern is written out, - if not, the test pattern generation process is reiterated until the requested number of steps have been obtained.