TESTING_updated
TESTING_updated
• Fault models.
• Path sensitizing random test.
• design for testability.
• Built-in self test
• JTAG and Boundary scans.
Fault models
Stuck-at model:
Some wires(inputs or outputs of gates) being permanently stuck at
logic value 0 or 1.
wire ‘w’ is stuck-at-0, which is denoted as w/0( To Gnd)
wire ‘w’ is stuck-at-1, which is denoted as w/1.(To Vdd)
Fault models
CMOS Circuits :
The transistors may fail in permanently open or shorted (closed) state.
Many such failures manifest themselves as stuck-at faults.
Some faults produce entirely different behavior i.e. a combinational
CMOS circuit starts behaving as a sequential circuit.
A test set developed using the stuck-at model provide an adequate
coverage of faults in all circuits.
Complexity of Test Set
Testing combinational and sequential circuits:
Combinational circuits can be tested adequately regardless of their
design.
The vectors w1w2w3 = 000 can detect the occurrence of a stuck-at-1 fault on wires a, d, and f .
The vectors w1w2w3 = 001 can detect the occurrence of a stuck-at-1 fault on wires a, b,d and f.
The last test, 111, can detect only one fault, f /0.
Testing of combinational circuits
A minimal test set that covers all faults in the circuit can be derived
from the table by inspection.
The fault b/1 is covered only by 001.
The fault c/1 iscovered only by 010.
The faults b/0, c/0, and d/0 are covered only by 011.
Selecting the tests 001, 010, and 011 covers all faults except a/0.
This fault can be covered by three different tests & Choosing 100
arbitrarily, a complete test set for the circuit is :
Test set = {001, 010, 011, 100}
The conclusion is that all possible stuck-at faults in this circuit can be
detected using four tests, rather than the eight tests that would be used
if we simply tried to test the circuit using its complete truth table.
Path Sensitizing
A path is sensitized if the inputs to the gates along the path are
assigned values such that the effect of the fault can be propagated to
the output.
Path Sensitizing
Consider a path as an entity that can be tested for several faults using
a single test.
Activate a path so that the changes in the signal that propagates along
the path have a direct impact on the output signal.
Eg.
Path Sensitizing
Consider path from input w1 f , through three gates, which
consists of wires a, b, c, and f .
The path is activated by ensuring that other paths in the circuit do not
determine the value of the output f .
Thus the input w2 must be set to 1 so that the signal at b depends only
on the value at a.
The input w3 = 0 so that it does not affect the NOR gate, and w4 =1
to not affect the AND gate.
Then if w1 = 0 the output will be f = 1, whereas w1 = 1 will cause f
= 0.
Instead of saying that the path from w1 to f is activated, a more
specific term is used in technical literature, which says that the path is
sensitized.
Path Sensitizing
Detection of a Specific Fault
In general, the fault on a given wire can be detected by propagating
the effect of the fault to the output, sensitizing an appropriate path.
This involves assigning values to other inputs of the gates along the
path.
If D is on an input of an AND (OR) gate and the other inputs are set to
1 (0), then the output of the gate will behave as having D on it.
A four-bit shift register, with the signals from the first and
fourth stages fed back through an XOR gate, generates 15
different patterns during successive clock cycles.
The testing procedure is the same as earlier except that the comparison
with the test result that a good circuit is supposed to give is done only
once;
At the end of the testing process the two signatures are compared with
the stored patterns.
BIST in a Sequential circuit
Instead of storing signature patterns of results as a part of the
designed circuit, it is possible to shift out the contents of MIC and SIC
shift registers onto two output pins and to perform the necessary
comparison with the expected signatures externally.