Patent ID: 8156395

Claim:
A single-pass method for generating test pattern sequences for sequential circuits, comprising the steps of: a. receiving a model of a sequential circuit expressed as a combinational part and a feedback storage part; b. defining an initial time-frame using the combinational part of the received circuit model, and defining a history file; c. defining a local-fault for a net of the circuit model and inserting the local-fault on the net for the initial time-frame; d. searching the initial time-frame for circuit model present-state and primary input vectors that will activate the local-fault, and propagate the fault to circuit model next-state lines and/or to at least one circuit model primary output line; e. flagging the detection of a valid test pattern sequence for each fault reaching a primary output line, using the flagged detection to update the history file to indicate the successful termination of a search path, and dropping the fault from further search; f. decomposing a fault arriving at circuit model next-state lines into component state/input vectors; g. identifying each next-state line at which a specific state/input vector exists, and defining a fault-pattern to represent said lines for the specific state/input vector; h. mapping each state/input vector to a good next-state; i. forming a fault-propagation function using the good next-state and a don't-care primary input vector; j. constructing a new fault including the formed fault-propagation function; k. passing the new fault to a next time-frame by placing the new fault upon present-state lines corresponding to the fault-pattern; l. updating the history file by extending the search path using the new fault and its fault-pattern; m. inserting the local-fault at the net of the next time-frame; n. searching said next time-frame for good next-state and primary input vectors that will propagate the fault to next-state lines and/or at least one primary output line; o. continuing from step (e) until the detection of a valid test pattern sequence has been flagged for each fault or, alternatively, until otherwise terminated; then p. extracting the valid test pattern sequence from the history file.