Testability - All Merged(1-11) Pg6-1
Testability - All Merged(1-11) Pg6-1
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• The role of testing is to detect whether something went • If the test procedure is good and the product fails, then
wrong. we suspect the fabrication process, the design, or the
– Detection: determination of whether or not the device under specification.
test (DUT) has some fault. • A well-thought-out test strategy is crucial to the
• The role of diagnosis is to determine what went wrong, economical realization of products.
and where the process needs to be altered. • The benefits of testing are quality and economy.
– Diagnosis: identification of a specific fault that is present on – These two attributes are not independent and neither can
DUT. be defined without the other.
• Device characterization: determination and correction of • Quality means satisfying the user’s needs at a minimum
errors in design and/or test procedure. cost.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Quality of the tested circuit will depend upon the thoroughness of the test vectors.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
VLSI Realization Process VLSI Testing
Customer’s need
• The arrows out of the
Determine requirements FMA block represent
the corrective actions
Write specifications Applied to the faulty
steps of the realization
process.
Design synthesis and Verification • Companies emphasize
on doing it right the first
Test development time, or pursuing the
Fabrication goal of zero defects.
Manufacturing test
• The objective of design is to produce data necessary for • Failures are defects that reach a customer.
the next steps of fabrication and testing. • Procedures for diagnosing defects and finding their
• Important function of testing is the process diagnosis. causes are known as failure mode analysis.
– We must find what went wrong with each faulty chip, be it – Faulty chip analysis.
in design, in fabrication, or in testing. • Failing devices often show patterns of repeated failures.
– Or, we may have started with unrealizable specifications. • The causes of these failures can point to
• FMA uses different test types, including examination weaknesses (sensitivity to process variations) in
through optical and electron microscopes, to determine the design.
the failure cause and fix the process. • Information is useful for improving logic and
layout design rules.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Test Test
input output
BITS Pilani, Pilani Campus BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Benefits and Costs of DFT
• Consider life-cycle cost; DFT on the chip may impact the
Level Design Fabri- Manuf. Maintenance Diagnosis Service
costs at board and system levels. and test cation Test test and repair interruption
• Weigh costs against benefits:
• Cost examples: reduced yield due to area overhead, yield
Chips +/- + -
loss due to non-functional tests.
• Benefit examples: reduced automatic test equipment
(ATE) cost due to self-test, inexpensive alternatives to the Boards +/- + - -
burn-in test.
• A DFT or test method should be selected to improve the
System +/- + - - - -
product quality with minimal increase in cost due to area
overhead and yield loss. + Cost increase
- Cost saving
+/- Cost increase may balance cost reduction
• Failure Patterns
• Automated Test Equipment
• Testing Economics
BITS Pilani, Pilani Campus BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
1. Characterization 2. Manufacturing Test/Production
• All devices that pass production tests are not identical. When put to • System manufacturers perform incoming inspection on
actual use, some will fail very quickly while others will function for a the purchased devices before integrating them into the
long time. Burn-in ensures reliability of tested devices by testing,
either continuously or periodically, over a long period of time, and by system.
causing the bad devices to actually fail • Depending upon the context this testing either
• Process: Subject chips to high temperature and over-voltage – Similar to production testing
supply, while running production tests – More comprehensive than production testing
• Briefly, two types of failures are isolated by burn-in:
– Tuned to specific system application
– Infant mortality cases – these are damaged or weak (low
reliability) chips that will fail in the first few days of operation • Often done for a random sample of devices:
– burn-in causes bad devices to fail before they are shipped – Sample size depends on device quality and system
to customers. Short burn in time(10-30hrs) reliability requirements
– Freak failures – devices having the same failure – Avoids placing defective devices in a system where the cost
mechanisms as reliable devices. Long burn in time(100- of diagnosis and repair exceeds the incoming inspection
1000hrs) BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
cost BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The basic purpose of a tester is to drive the inputs and to monitor • Once the device-under-test has been mounted in
the outputs of a device-under-test. the tester, three things are needed to conduct the
Testers are popularly known as ATE (automatic test equipment.) test.
Fast-changing VLSI technology has driven the development of • These are the test program, the digital test
modern ATE.
vectors, and the analog test waveforms.
Selection of ATE for a VLSI device must consider the
specifications of the device.
• Until recently, test programs were written
Major factors are speed (clock rate of the device), timing (strobe)
manually.
accuracy, number of input/output pins, etc. • However, the use of CAD tools is now becoming
Other considerations in selecting a tester are cost, reliability, widespread in this area
serviceability, ease of programming, etc.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Test data obtained from the ATE serves three purposes: • Introduction to VLSI Testing
– First, it helps to accept or reject the device under test. • Design for Testability
– Second, it provides useful information about the fabrication • VLSI Technology Trends
process. • Types of Testing
– Third, it provides information about design weaknesses.
• Devices that did not fail are good only if tests covered
100% of faults.
• Failure Patterns
• Failing tests quickly point to faulty devices. • Automated Test Equipment
• Test data analysis allows the sorting of chips for higher • Testing Economics
than the nominal performance.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Pilani Campus
Failure Pattern Types of Failures
• A failure pattern describes how a fault becomes a failure Failures can be:
indicating how the fault propagates through the system
• Manufacturing failures
units until it produces a failure.
– Defect or outside parametric specifications
• The pattern explicitly shows how flaws in the system
• Functional failures
allow the propagation of faults.
– Chip fails under all conditions
• The information in failure patterns is useful to evaluate
• Electrical failures
and design reliable systems.
– Malfunctions under certain conditions
– Shmoo plots can help to debug electrical failures in silicon
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Pilani Campus
• The ATE is an instrument used to apply test patterns to a • ATE Consists of:
DUT/CUT, analyze the responses from the DUT, and mark
– Powerful computer
the DUT as good or bad.
– Powerful 32-bit Digital Signal Processor (DSP) for
• The ATE is controlled by a central UNIX work station or
PC, and additional CPUs is often built into it to provide analog testing
data reduction capability. – Test Program (written in a high-level language)
• The tester has one or more test heads. running on the computer
• The ATE is connected to external equipment that – Probe Head (actually touches the bare or packaged
handles the wafers or IC packages being tested. chip to perform fault detection experiments)
– While one chip or wafer is being tested in one test head – Probe Card (contains electronics to measure
(chip handler), another chip/wafer can be loaded into a signals on chip pin or pad)
second test head, so the tester overlaps mechanical
handling of parts with electrical testing of parts.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
ADVANTEST Model T6682ATE T6682 ATE Specifications
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The address failure memory (AFM) module records • Runs Solaris UNIX on UltraSPARC 167 MHz CPU for
addresses in the memory-under-test that failed. The non-real-time functions.
optional scan pattern generator (SCPG) supports JTAG • Runs real-time OS on UltraSPARC 200 MHz CPU for
boundary scan. tester control.
The high-speed reload server provides for rapid internal • Peripherals: disk, CD-ROM, micro-floppy, monitor,
pattern transfer from a Host machine. keyboard, HP GPIB, Ethernet.
• Viewpoint software provided to debug, evaluate, and
analyze VLSI chips.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Test Description Language (TDL) Multi-site Testing
• A test programming language, used to describe a • One ATE tests several devices at the same time
program that operates the ATE using the test vectors. • This is frequently done both in probe and package test
• Provides this information for controlling the ATE: • DUT interface board has > 1 sockets
– strobe times (for sampling the DUT outputs), voltage/current
stimulus information, the clocking rate for vectors, the vector
• Add more instruments to ATE to handle multiple
slew rate (rate at which waveforms rise or fall), and filtering devices simultaneously
information for sampling DUT signals. • Usually test 2 or 4 DUTs at a time, usually test 32 or
• In TDL one can set the resolution of the pin signal, which 64 memory chips at a time
is useful for determining causes of failures in DUTs. • Major cost reduction
• Test vectors must be edited, to adjust them to avoid • Limits: One limitation is the number of instruments
burning out the chip by exceeding the maximum allowable installed in the ATE to handle all of the required pins.
power dissipation.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Introduction to VLSI Testing Testing is responsible for the quality of VLSI devices. Several
• Design for Testability tradeoffs are often necessary to obtain the required quality
level at minimal cost.
• VLSI Technology Trends
• Types of Testing Costs include the cost of automatic test equipment (ATE) (initial
• Failure Patterns and running costs), the cost of test development (CAD tools,
• Automated Test Equipment test vector generation, test programming), and the cost of DFT.
• Testing Economics In the future, DFT will dominate test economics equations. The
scan design technique can significantly reduce the cost of test
generation and the BIST method can lower the complexity and
cost of ATE.
BITS Pilani, Pilani Campus BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Fixed Costs (FC.): These are the costs of things that are necessary but
do not change with use. For example, if we wish to produce
computers, we require a factory building and machinery which
contribute to fixed costs. These costs do not change with the number
of computers that are built, whether we build one or one thousand
computers.
Variable Costs (VC.) These costs increase with the production output.
variable costs generally consist
of labor, energy, and raw materials.
Total Costs (TC.) Total costs are the sum of the fixed and variable
costs, and increase with production output.
Average Costs (AC.) These are obtained by dividing the total costs by When the aging factor is taken into account, the average cost
the number of units produced. might be as shown by the rising curve (shown as real), called a
bathtub curve. Thus, durability of equipment may be more
important than the initial purchase price for realizing lower
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 average operating cost. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Costs of Testing The Rule of Ten
• Design for testability (DFT) • Chips must be tested before they are assembled onto
– Chip area overhead and yield reduction printed circuit boards (PCBs), which, in turn, must be
– Performance overhead tested before they are assembled into systems.
• Software processes of test • Experience has shown that the rule of ten holds.
– Test generation and fault simulation • If a chip fault is not caught by chip testing, then finding
– Test programming and debugging the fault costs *10 times as much at the PCB level as at
the chip level.
• Manufacturing test
• Similarly, if a board fault is not caught by PCB testing,
– Automatic test equipment (ATE) capital cost
then finding the fault costs *10 times as much at the
– Test center operational cost system level as at the board level.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• A manufacturing defect is a finite chip area with 1)Diagnosis and Repair. The parts that are found defective after test
electrically malfunctioning circuitry caused by errors in are diagnosed for specific failures which are then repaired. Although
the fabrication process. the yield is improved, this procedure increases the cost of
• A chip with no manufacturing defect is called a good chip. manufacturing. The reason is that we first allow the process to make
• The fraction (or percentage) of good chips produced in a errors which are then corrected.
manufacturing process is called the yield. A more economical procedure is to eliminate the sources of errors.
• The term wafer yield is sometimes used to refer to the
average number of good chips produced per wafer. (2) Process Diagnosis and Correction. The defects found in the failed
• Testing cannot improve the process yield. parts are traced to specific causes, which may be defective material,
• There are two ways of improving the process yield: faulty machines, incorrect human procedures, etc. Once the cause is
eliminated, the yield improves. Process diagnosis is the preferred
i. Diagnosis and repair
method of yield improvement.
ii. Process diagnosis and correction
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Defect level (DL) is the ratio of faulty chips among the chips • Overall benefit/cost ratio for design, test, and manufacturing
that pass tests, measured as parts per million (ppm). should be maximized; one should select the most economical
• A measure of the effectiveness of tests. design over the cheapest design.
• A quantitative measure of the manufactured product quality. • A DFT or test method should be selected to improve the
product quality with minimal increase in cost due to area
• The DL is determined from the field return data.
overhead and yield loss.
• The chips thus returned are examined by the manufacturer to
• VLSI yield depends on two process parameters, defect density
determine the causes of failures.
(d) and clustering parameter (α).
• These causes may point to areas of improvement in
• Yield drops as chip area increases; low yield means high cost.
specification, design, fabrication, or test.
• Fault coverage measures the test quality.
• Such improvements reduce the defect level.
• Defect level (DL) or reject ratio is a measure of chip quality.
• For VLSI chips, while a defect level of 500 ppm may be
acceptable, 100 ppm or lower represents high quality. • DL can be determined by an analysis of test data.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Error: A wrong output signal produced by a defective • Defects occur either during manufacture or during the
system is called an error. An error is an “effect” whose use of devices.
cause is some “defect.” • Repeated occurrence of the same defect indicates the
Fault: A representation of a “defect” at the abstracted need for improvements in the manufacturing process
function level is called a fault. or the design of the device.
• Procedures for diagnosing defects and finding their
Error: a=1, b=1 , output c=0, correct output c=1 . Notice causes are known as FMA.
that the error is not permanent. As long as at least one
input is 0, there is no error in the output.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Untestable Fault Functional Versus Structural Testing
• A fault for which no test can be found is called an • Functional tests is often found necessary for verification
untestable fault. of design.
• There are two classes of untestable faults: • The purpose of hardware/manufacturing test is to
i. Faults that are redundant, i.e., whose presence does not discover any faults caused due to manufacturing defects
change the input-output behavior of the circuit. or errors.
ii. Faults that change the input-output behavior of the circuit – Assumption is that the design being manufactured is correct.
but no test can be found by a given method of testing or • Structural Test depend on the specific structure (gate
test generation. types, interconnects, netlist) of the circuit.
• Advantages of structural testing is that it allows us to
develop algorithms.
• Central to these algorithms are fault models.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Modelling of faults is related to the modelling of the • Different fault models are:
circuit.
▪ Stuck-at faults
• In design hierarchy, level refers to the degree of
• Single stuck-at faults
abstraction: • Multiple stuck-at faults
▪ Behavioral (high) level
▪ Stuck-open faults
▪ Register-transfer (logic) level
▪ Bridging faults
▪ bridging faults and delay faults
▪ Component (lower) levels
▪ Delay faults
▪ stuck open types of faults also known as technology- ▪ Assertion Fault
dependent faults ▪ Behavioral Faults
▪ Quiescent current (realistic) ▪ Branch Fault:
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Structural Faults Single Stuck-at Fault
• We assume that the circuit is modeled as an
• Structural faults are related to structural models. interconnection (called a netlist) of Boolean gates.
• Structural fault models assume that components are fault- • A stuck-at fault is assumed to affect only the
free and only their interconnections are affected. interconnection between gates.
• Each connecting line can have two types of faults:
• Typical faults affecting interconnections are short and
– stuck-at-1 and stuck-at-0
opens.
• A line has a fault stuck-at-1 (s-a-1) or stuck-at-0 (s-a-0).
• A short is formed by connecting points not intended to be
connected. • A circuit with n lines can have 3n – 1 possible stuck line
combinations.
• An open results from the breaking of a connection. – This is because each line can be in one of the three states:
s-a-1, s-a-0, or fault-free.
• An n-line circuit can have at most 2n single stuck-at
faults.
– This number is further reduced by a technique known as
fault collapsing.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Examples:
– A short between ground (s-a-0) or power (s-a-1) and a
signal line.
– An open on a unidirectional signal line.
– Any internal fault in the component driving its output
that it keeps a constant value.
However, a 00 input to the OR gate will produce a 0 output in the This example illustrates the basic features of a
normal circuit. The faulty circuit will have a 1 there. single stuck-at fault.
Figure shows the normal (faulty) value as 0(1), which is applied to
Notice that gates are assumed to function
the AND2 gate at the output.
correctly. Only the signal interconnects are
This signal state must be propagated to the output of the AND2
gate, which is an observable output of this circuit. considered to be faulty.
This is done by setting the other input of AND2 as 1, which is The circuit of Figure has seven lines, which are
justified by setting the inputs of AND1 as 11. Now we have the the potential sites for single stuck-at faults.
input vector 1100 as a test for the s-a-1 fault since for this vector The number of possible faults is 14.
the normal output (true response) and the faulty output differ.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example Single Stuck-at Fault
• Consider the exclusive-OR function implemented by the
circuit of Figure below As shown, the single fault h s-a-0 is
detectable by a 10 input.
• Signal lines g, h, and i, commonly known as a signal net,
carry the same signal value.
Faulty circuit value
Good circuit value
c j
s-a-0 0(1)
a d g h 1(0)
1
z
0 1 i
b e 1
f k
Test vector for h s-a-0 fault
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The 10 input also activates single s-a-0 faults on g and i. But, To consider all possible faults, we model single stuck-at faults on
only g s-a-0 is detectable by this input. the stem and all fanout branches of the net. Considering all
The effect of fault i s-a-0 is blocked from propagating to the nets in the circuit, this is equivalent to modeling faults on
primary output z by f=0 which uniquely sets k=1. inputs and outputs of all gates .
We notice that the faults on the fanout branches of a net are not The circuit has 12 fault sites and hence we would model 24 single
identical. stuck-at faults.
In a logic circuit, a net contains a stem or source (g in this circuit) To reduce this number, we will use the concepts of fault
and fanout branches (h and i.) The stem is the output of some equivalence and fault dominance,
gate and fanout branches are inputs of some other gates.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Transistor (Switch) Faults Stuck-Open Example
Vector 1: test for A s-a-0
• MOS transistor is considered an ideal switch and two
(Initialization vector)
types of faults are modeled:
Vector 2: (test for A s-a-1)
▪ Stuck-open - a single transistor is permanently stuck in pMOS VDD
the open state. Two-vector s-open test
FETs
▪ Stuck-short - a single transistor is permanently shorted can be constructed by
A ordering two s-at tests
irrespective of its gate voltage. 1 0 Stuck-
• Detection of a stuck-open fault requires two test vectors. open
• Detection of a stuck-short fault requires the B
measurement of quiescent current (IDDQ). 0 0 C
0 1(Z)
nMOS
FETs Faulty circuit state
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• The set of all faults in a circuit can be partitioned into Fault collapsing is performed in a level-by-level pass from inputs
equivalence sets, such that faults in an equivalent set are to output using local gate fault equivalences discussed earlier.
equivalent to each other. The procedure begins at primary inputs and a gate is not
• All single faults of a logic circuit can be divided into processed until all gates feeding its inputs have been
disjoint equivalence subsets, where all faults in a processed.
subset are mutually equivalent.
At a gate, first input faults are examined. Only one among the
• A collapsed fault set contains one fault from each equivalent faults is retained.
equivalence subset.
Then any input faults that are equivalent to some output fault are
• The process of selecting one fault from each deleted.
equivalence set is called fault collapsing.
Note that the collapse ratio is around 50 or 60% and that more
• The set of selected faults is known as the equivalence reduction occurs in the absence of fanouts.
collapsed set.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Equivalence Fault Collapsing Example Examples of Equivalence Fault Collapsing
Faults in boldface
sa0 sa1 removed by
sa0 sa1 equivalence
sa0 sa1 collapsing
sa0 sa1 sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1 sa0 sa1
sa0 sa1
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Logic Simulation
• Total fault sites = 16
• Checkpoints ( ) = 10
• Definition: Simulation refers to modeling of a design, • Simulation serves two distinct purposes in electronic
its function and performance. design:
• A software simulator is a computer program.
– First, it is used to verify the correctness of the design.
• An emulator is a hardware simulator.
– Second, it verifies the tests.
• Simulation is used for design verification:
• Validate assumptions • The process of realizing an electronic system begins
• Verify logic with its specification, which describes the input/output
• Verify performance (timing) electrical behavior.
• Types of simulation: • The process of synthesis produces an interconnect of
• Logic or switch level components (called a netlist).
• Timing
• Circuit • The design is verified by a true-value simulator.
• Fault
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Simulation for Test Evaluation Simulation for Test Evaluation
The fault simulator performs two functions: A fault simulator must classify the given target faults in a
1. It determines the coverage of a given set of input stimuli circuit as detected or undetected by the given stimuli.
(vectors) for a given fault model or a given fault list.
2. With the help of other programs (a test generator or a
vector compacter ), it can produce a set of vectors with
a given fault coverage for manufacturing test.
If no fault list is supplied, the fault simulator generates one
for the specified fault model.
The block C( ) is the fault-free circuit and blocks C(f1) through C(fn) are copies
of the same circuit with faults f1 through fn permanently inserted. The same
vectors are applied to all blocks and the outputs of the faulty circuits are
compared in the comparators shown as Comp.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
All signal lines in Figure are buses that provide parallel While the multiple detection of a fault, as shown in Figure is desirable
access to all primary inputs and outputs. for fault diagnosis ,it is expensive in computation time.
If any comparator shows a mismatch, the corresponding Therefore, when fault fn is detected for the first time by vector 35, the
fault is noted as detected by the vector being simulated. simulation of block C(fn) is suspended beyond that vector.
This procedure, known as fault dropping, considerably speeds up the
Thus, the simulator records the numbers of vectors that
fault simulation process.
detect a fault.
We notice that, except for fault dropping, the effort of simulating
For example, in Figure fault f1 is detected by vectors 5, 12, n faults is equivalent to either simulating a circuit that is n
and 19. Fault fn is detected by vectors 35 and 102, and times larger, or repeating the original true-value simulation n
f2 is not detected by any vector. In addition, the simulator times.
may also record the specific output at which a fault is The algorithms in the following subsections attempt to reduce
detected. this effort.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Serial Fault Simulation
This is the simplest algorithm for simulating faults. A serial fault simulator repeatedly uses a true-value simulator. Its
The circuit is first simulated in the true-value mode for all vectors implementation is, therefore, simple.
and primary output values are saved in a file. Next, faulty It can simulate any fault that can be introduced in the circuit
circuits are simulated one by one. description. Thus, apart from the stuck-at and stuck-open
This is done by modifying the circuit description for a target fault types, bridging, delay, and analog faults can also be simulated.
and then using the true-value simulator. For this reason, analog circuit faults are usually simulated by this
As the simulation proceeds, the output values of the faulty circuit method.
are dynamically compared with the saved true responses. Also, a serial fault simulator can easily simulate all types of fault
The simulation of a faulty circuit is stopped as soon as the conditions, such as fault-induced races, hazards, loss of
comparison indicates detection of the target fault. initialization, etc., in sequential circuits, which present
All faults are simulated serially in this way difficulties to other types of simulators.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The fault-free responses are Kgood =1, 1, 0 for input patterns P1,
P2, and P3, respectively.
After the fault-free responses are available, fault f is processed;
fault injection is achieved by forcing A to a constant one and
the obtained faulty circuit is simulated. The circuit responses
for fault f are Kf = 0, 0, 0 with respect to the three input
In this example, the fault list is comprised of two faults, A patterns.
stuck-at one (denoted by f) and J stuck-at zero (denoted by g). It is observed that patterns P1 and P2 detect fault f but pattern P3
Note that, although both faults are drawn in the figure, only does not. After fault f has been simulated, circuit is restored
one fault is present at a time under the single stuck-at fault by removing fault f. The next fault, g, is then injected by
model. forcing J to zero.
The test set consists of three test patterns (denoted by P1, P2,
and P3 shown in the table
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Simulation of the resulting faulty circuit is then performed to The simplified serial fault simulation flow is depicted in Figure
obtain the faulty outputs Kg =1,1,1 Fault g is detected by below.
pattern P3 but not P1 and P2. Prior to fault simulation, fault collapsing is executed to reduce
the size of the fault list, denoted by F
one can observe that, if we are only concerned with the set of
faults that is detected by the test set {P1, P2, P3}, simulations Fault-free simulation is then performed for all test patterns to
of the faulty circuit with fault f for patterns P2 and P3 are obtain the correct responses Ogood.
redundant because f is already detected by P1. The algorithm then proceeds to fault simulation.
Halting simulation of detected faults is called fault dropping. For each fault f in F, if there exists a test pattern whose output
response of differs from that of the corresponding good circuit
For the purpose of fault grading, fault dropping dramatically Ogood, f is removed from F, indicating that it is detected.
improves fault simulation performance, as most faults are When all patterns have been simulated, the remaining faults in F
detected after relatively few test patterns have been applied are the undetected faults.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Advantages and disadvantages
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Let us assume that the circuit consists of only logic gates and we wish If no fault-dropping is used, a parallel fault simulator will run
to simulate stuck-at faults. about w – 1 times faster than a serial fault simulator.
Also, signals are assumed to take only binary, i.e., 0 and 1, values. Both simulators will gain speed by fault dropping.
Also, all gates are assumed to have the same delay. In serial fault simulator, the pass is terminated as soon as the
It is under these conditions that parallel fault simulation is most single target fault is detected.
effective.
In parallel fault simulator, all w – 1 faults must be detected before
For a large number of faults, a parallel fault simulator will process
a pass can be terminated. Therefore, the serial fault simulator
w – 1 faults in one pass, where w bits is the machine word size.
gains more by fault dropping.
This is because one bit of the word is used for the signal value of the
fault-free circuit. Advantages: A large number of faults can be detected by each pattern
Disadvantage: Faults cannot be dropped unless all faults are detected.
Thus, w – 1 faults are simulated in the same CPU time as that taken by
the true-value simulation.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example-1
Since the line a and the stem b are not affected by any fault, these
have the same values for all three circuits.
The fault on c is present only in the first faulty circuit and so it
affects the middle bit. When the words on a and c are AND ed,
we get the three-bit word for line e.
Line f is the inversion of d, hence its values, where the right bit
(bit 2) is affected by the s-a-1 fault, are given by the word 001.
The output g is obtained by a bit-by-bit OR of e=101 and f=101
Figure shows a circuit that is being simulated for two faults: c stuck-at-0 and f We notice that only the output of the circuit with c s-a-0
stuck-at-1. The computer has a three-bit word. To simulate the fault-free and (middle bit) differs from that of the fault-free circuit (left bit.)
two faulty circuits in parallel, the signal on each line is expressed as one word. Hence, that fault is detected. The other fault, which produces
The state of the left-most bit (bit 0) represents the signal value in the fault-free the same output as the fault-free circuit, is not detected
circuit, the middle bit (bit 1) that in the circuit with c s-a-0, and the right-most
bit (bit 2) that in the circuit with f s-a-1. We apply a vector S
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example-2 :Parallel Fault Example-2 Contd.,
Assuming that the width of a computer word is three bits, the first
bit stores the fault-free (FF) circuit response, and the second
and third bits store the faulty responses in the presence of
faults f and g, respectively.
The simulation results are shown in Table Because fault f, A
stuck-at one, uses the second bit, it is injected by forcing the
second bit of the data word of signal A to 1 during fault
simulation (shown in the “Af” column with the forced value
underlined; the “A” column corresponds to the fault-free case).
Similarly, the “Jg” column depicts how fault g is injected by
forcing the third bit to 0.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
parallel fault simulation is performed using bitwise logic operations. In the deductive method only the fault-free circuit (C( ) is
For example, the logic value of signal H is obtained by a bitwise AND simulated. All signal values in each faulty circuit are
operation on the data words of signals A and L (A, L, and H are deduced from the fault-free circuit values and the circuit
circled in Table ).
structure. Since the circuit structure is the same for all
The faulty response of the first pattern is {1, 0, 1}.
faulty circuits, all deductions are carried out
This means that fault f is detected (the second bit) but fault g (the third
bit) is not. simultaneously.
Similarly, the outputs of P2 and P3 are {1, 0, 1} and {0, 0, 1},
respectively.
In this example, three simulations (in one simulation pass) are
performed. Compared to serial fault simulation, which requires nine
simulations, parallel fault simulation saves two-thirds of the
simulation time.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Fault list propagation in deductive fault
simulator
Here ak fault means signal a stuck-at-k, with k=0 or 1.
For the AND gate with primary inputs a=0 and b=1 the output is
c=0.
Since a and b are primary inputs, their fault lists simply contain
their own faults activated by the present signal values.
We will denote their fault lists as sets, La=[a1] and Lb=[b0] Since
b=1 the path from a to c is sensitized, but the path from b to c
is not sensitized.
Therefore, the fault list of c contains a1.
In addition, it also contains the fault c s-a-1 as the current state
of c is 0.
The fanouts d and e simply adopt the fault list from their source
stem c and add their own respective faults.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Consider the vector (1,1) applied to the circuit of Figure . We will simulate the s-a-0
and s-a-1 faults on all lines a through g for this vector. First, true-value simulation is
carried out to determine all signal values, which are shown in the figure. This requires
a single pass from inputs to the output. Next, we conduct a second input to output
pass for fault list generation and propagation. The lists of primary inputs just contain
the respective s-a-0 faults that are active there.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Fault lists for fanouts c and d are obtained by adding their Notice that the fault b0 is present at both inputs of the OR
locally active faults to the fault list Lb of the stem. The gate. That is, this fault will invert both inputs and the
fault list for e is obtained by the propagation rules. output of the faulty circuit will remain 1, the same as the
fault-free output. That is why b0 is absent from Lg. This
completes the fault propagation, which tells us that four
faults, a s-a-0, c s-a-0, e s-a-0, and g s-a-0, are
The fault list of d simply propagates through the NOT gate. Thus:
detected by the (1,1) input vector
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example-2 for input pattern 010 Example-2 for input pattern 010 contd.,
Example-2 for input pattern 010 contd., Limitations of Deductive fault simulation
we can conclude that pattern P1 detects the seven faults in LK. Although deductive fault simulation is efficient in that it processes all faults at
the same time, it has several limitations. The first problem is that unknown
From this simple example, we can see the advantage of
values are not easily handled. For each unknown value, both cases must be
deductive fault simulation—all faults detected by a test pattern considered (ie, when the unknown is a controlling or non-controlling
are obtained in one fault list propagation pass. value). The logic reasoning becomes even more complicated if more than
one unknown appears.
The second problem is that deductive fault simulation is only suitable for the
zero-delay timing model, because no timing information is considered
during the deductive fault propagation process.
Finally, deductive fault simulation has a potential memory management
problem.
Because the size of fault lists can not be predicted in advance, there can be a
large variation in memory requirements during algorithm execution.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The local faults of gate x are faults on the inputs or outputs of
gate x. As the simulation proceeds, the concurrent fault list
contains not only local faults but also faults propagated from
previous stages. Local faults of gate x remain in the concurrent
fault list of gate x until they are detected.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The fault list of G1, G2, and G3 initially contains their local faults: C/0, A/1, and J/0. A bad event does not occur in the good circuit; it only
When we apply the first pattern, three events occur in the primary inputs: u → 0 on A, u occurs in the faulty circuit of the corresponding fault. A
→ 1on B, and u →0 on C. They are good events because they happen in the good circuit.
A bad gate is invisible if its faulty output is the same as the good output. The bad gates new copy of bad gate A/1 is added to the concurrent fault
C/0 and J/0 are both invisible so they are not propagated to the subsequent stages. A bad list of G4 because it has one input different from the
gate is visible if its faulty output is different from the good output. The visible bad gate good gate. It is said that bad gate A/1 diverges from its
A/1 creates a bad event u →1on net H (in gray).
good gate. Finally, fault A/1 is detected because the
faulty output K is different from the good output.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Pattern 010-001 Example pattern 3:001-100
Two good events occur in this figure: 0→1 on C and 1→0 on B.The badgateC/0,which
was invisible in pattern P1, now becomes newly visible. The newly visible bad gate
creates a bad event—net E falls to zero, which in turn creates two divergences in G2
and G3. Bad event—net J rises to one. Finally, the concurrent fault list of G4 contains
two bad gates; both faults A/1 and C/0 are detected.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Concurrent fault simulation flowchart. Concurrent Fault Simulation
Advantages
1. Efficient
2. Fault can be simulated in any modelling style or detail
supported in true value simulation
3. Faster than other method
Disadvantage
1.Potential memory problem
2. Size of the concurrent fault list changes at run time
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example
Evaluation of AND causes an output event 1->D and the Because fault simulation is very time consuming and difficult for
activation of the OR gate Evaluation of OR produces 1->D at large circuits, alternatives to avoid “true” fault simulation have
the output. indicating the detection of the fault. Next, we been developed.
restore the signals to the original fault-free values and apply These alternatives require only one fault-free simulation or very
the procedure to the next fault, which is not detected. few fault simulations, so the run time is significantly reduced.
The alternatives give approximate fault coverage numbers. It
should be noted that these alternatives are probably
acceptable if the purpose of fault simulation is to estimate the
quality of test patterns (ie, fault grading).
These alternatives are probably not acceptable when it comes to
diagnosis. This is because diagnosis requires exact
information about which patterns detect which faults.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Pilani Campus
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
SCOAP Controllability and Observability Combinational Controllability Calculation rules
The CC0 and CC1 values of Primary input( PI) is set to 1
The SC0 and SC1 values of Primary Inputs are set to 0
The CO and SO values of Primary Outputs are set to 0
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
SCOAP Observability calculation Combinational Circuit Example
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
This leads to the outputs of INVERTERS 1 and 2 being labeled with (2,2), and both
inputs of logic gate 3 being labeled with (2,2), as shown in Figure. Next, we process
AND gate 3. for the AND gate:
This causes the AND gate 3 output, the bottom inputs to gates 4 and 5, and PP08 Next, the algorithm processes logic gates at level number 3. For NOR gate 4:
to be labeled with (3,5)
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Therefore, logic gate 5, the bottom input of logic gate 6, and PO Z in Figure are
labeled with (2,7). Now we process OR gate 6 at level 4. For OR gate 6:
This causes OR gate 6 and PP07 in Figure 6.7 to be labeled with (5,7). The
circuit is now completely labeled with the final controllability's.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Computation of observabilities
Next, we renumber the circuit level numbers from primary We process logic gates in level order from POs backwards to PIs. In Figure we assign 0
to PO Z and PPOs PPO7and PPO8.
outputs (Pos) backwards to PIs, so that each gate is This causes observability 0 to be assigned to gate 6, as well. We cannot yet assign
labeled with the maximum distance in logic gates of any observabilities to gates 5 and 3, because they are fanout stems, and not all fanout
branch observabilities are known. So, we process OR gate 6 at level 1 in Figure
of its fan-outs from a PO. above. For each input,
Next, we process AND gate 5 at level 2 in Figure . All of its fanout branch
observabilities are now known. Since its stem observability is the minimum of all
branch observabilities, Figure 6.3, for a two-input AND gate:
Now we process the two INVERTERS at level 4. From Figure
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
For PI R, which is a fanout stem, the observability is the minimum of all branch
observabilities, so
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Sequential SCOAP Measures
Note that the computational complexity of this algorithm is where There are two main differences in the sequential measures
n is the number of gates. This is because we process all inputs from the combinational controllability and observability
and logic gates once in the forward pass to compute measures:
controllabilities, and then processes all logic gates and inputs 1. One increments the sequential measure by 1 only when
again in the backward pass to compute observabilities. We see signals propagate from flip-flop inputs to Q or Q outputs,
that the fanout branches from PPI PPI7 to gate 4 and from R to or from flip-flop outputs backwards to D, C (clock), SET,
gate 4 are the hardest signals to observe. The hardest signals to or RESET inputs.
control to logic 1 are PPO7 and all fanouts from gate 5. The 2. One must iterate in calculating controllability numbers in
hardest signal to control to logic 0is PPO7. sequential circuits because of feedback loops involving
flip-flops.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
D Flip-Flop Equations
Sequential controllabilities SC0 and SC1 roughly measure the number
of times var ious flip-flops must be clocked to control a signal. Thus,
if a given line l can only be set to 1 by clocking flip-flop a twice and
flip-flop b three times, then we would ex pect Sequential
observability SO measures the number of times various flip-flops
must be clocked to observe a signal. In a sequential circuit, the In order to control the Q line to 1, one must set D to 1, cause a falling clock (C) edge
combina tional controllabilities and observabilities roughly measure (first a 1 and then a 0), and control the RESET line to 0 to avoid clearing Q. The
the number of lines that must be set, over all of the required clock combinational and sequential difficulties of controlling Q to a 1 are:
periods, in order to control or observe a combinational signal. The
sequential controllability and observability equations for basic logic
gates differ from the equations for combinational gates only in that a
1 is not added as we move from one level of logic to another, but
rather a 1 is added when a signal passes through a flip-flop. The
procedure to convert the com binational measure formulas of CC1 measures how many lines in the circuit must be set to make Q as 1, whereas
Figures 6.2 and 6.3 to those of sequential measures is given in SC1 measures how many flip-flops in the circuit must be clocked to set Q to 1.
Table 6.1. 6.1 SCOAP Controllability and Observability There are two ways to set Q to a 0. We can either use the RESET line and apply a
falling edge to clock C, or clock a 0 into Q through the D line. Thus,
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
There are three ways to indirectly observe the clock line C: (1) set Q to 1 and clock
in a 0 from D, (2) set Q to 1 and synchronously apply RESET, or (3) set Q to 0 and
clock in a 1 from D while holding RESET to 0. Thus,
The D line can be observed at Q by holding RESET low and generating a falling
edge on the clock line C:
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Sequential Circuit Example
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Figure below shows the situation after two iterations. CC0(7)=CC0(6)+CC1(CL)+CC0(CL)=7+1+1=9. The CC1,SC0
and SC1 measures for both FFs.
Now, output controllabilities of INVERTER 2 change to(ꝏ,6) and
(ꝏ,1) This allows AND gate 3’s output CC1 measure to
change to 9 and its output SC1 measure to change to 1. For
NOR gate 4, the output 1-controllabilities are now defined,
because all of its input 0-controllabilities have been defined,
so gate 4 has CC1=14 ad SC1=1. AND gate 5 cannot have its
output measures updated, because the 1-controllabilities of its
and inputs are still undefined. The 1-controllabilities of OR
gate 6 can now be defined, because its topmost input now
has defined 1-controllabilities. So, CC1(6)=15 and SC1(6)=1.
At this point, Figure above shows the situation where the
controllabilities of both D inputs to the flip-flops are now
completely defined.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Figure below shows the situation after three iterations. flip-flop 7s output controllabilities to become (9,17) and
[1,2]. Flip-flop 8’s controllabilities become (5,11) and
[1,2]. INVERTER 2’s output controllabilities become
(12,6) and [2,1]. However, this causes no change in AND
gate 3’s output controllabilities. NOR gate 4’s CC1 stays
at 14, and AND gate 5’s CC1 is now defined as 27 and
its SC1 is now defined as 3. The changes at gates 4 and
5 now cause no change at gate 6: CC1 stays at 15.
Figure 6.15 illustrates the situation at this point.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Basics of CombinationalATPG
The only difficult step is computing CO from line CL to 7 which is • Functional vs Structural Test
CO=CO(Q)+CC1(CL)+CC0(CL)+CC0(D)+CC1(Q)=10+1+1+7 • ATPG
+17=36.
For same line
• Types of ATPG Algorithms
SO=SO(Q)+SC1(CL)+SC0(CL)+SC0(D)+SC1(Q)+1=1+0+0+0 • Fault propagation and Detection
+2+1=4 • Redundancy Identification
For the CO of the line from CL to line 8 • Fault cone and D-Frontier approach
CO=CO(Q)+CC1(CL)+CC0(CL)+CC0(D)+CC1(Q)=22+1+1+3
+11=38
Similarrly
SO=SO(Q)+SC1(CL)+SC0(CL)+SC0(D)+SC1(Q)+1=2+0+0+0
+2+1=5 Therefore,CO(CL)=min(36,38)=36 and
SO(CL)=min(4,5)=4
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Pilani Campus
Automatic test-pattern generation (ATPG) is the process of • ATPG algorithms inject a fault into a circuit, and then use a variety
generating patterns to test a circuit, which is described strictly of mechanisms to activate the fault and cause its effect to
with a logic level netlist (schematic.) propagate through the hardware and manifest itself at a circuit
output.
These algorithms usually operate with a fault generator program,
• The output signal changes from the value expected for the fault-free
which creates the minimal collapsed fault list so that the
circuit, and this causes the fault to be detected.
designer need not be concerned with fault generation.
• E-beam testing allows observation of internal circuit signals by
In a certain sense, ATPG algorithms are multi-purpose, in that “developing” a picture of the circuit that shows the internal nodes
they can generate circuit test-patterns, they can find redundant charged to logic 0 in one color and those charged to logic 1 in a
or unnecessary circuit logic, and they can prove whether one different color.
circuit implementation matches another circuit • This eliminates the need to propagate fault effects to primary
implementation. outputs (POs.) However, this method is impractically expensive, is
only used for very specialized applications
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Fault effects are propagated from an AND/NAND • A scan-chain inserter adds special-purpose MUX and
gate input to its output by setting other inputs to 1, clocking hardware to every circuit flip-flop for testing.
a non- controlling value for AND/NAND.
• In scan mode, the flip-flops are converted into a giant shift
• Fault effects are propagated from an OR/NOR gate
register, and the entire state of the microprocessor can be
input to its output by setting other inputs to 0, a non-
controlling value for OR/NOR. shifted out through a special test-mode port, scan_out.
• Fault effects are propagated from an XOR/XNOR • Desired initial flip-flop state can be serially shifted into
gate input to its output by setting all other inputs to 0 or flip-flops through a special test-mode port called scan_in.
1 as is convenient.
• Scan design coupled with combinational ATPG is the
• ATPG algorithms are valuable, in that they propagate most popular test method with microprocessors and other
an abnormal voltage reading from the internals of the
VLSI chip designers because it is very likely to generate a
circuit to a PO, where an ATE can examine the
voltage and determine whether it is correct. test set with close to 100% fault coverage.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Scan-Design for Microprocessor Testing Search Space Abstractions
• The approach converts a difficult sequential circuit ATPG • All ATPG programs need a data structure
problem into a more tractable combinational circuit ATPG describing the search space for test patterns:
problem, at the expense of:
– Binary Search Trees
i. Using 5 to 20% of the chip area for the scan chain
hardware in large chips. – Binary Decision Diagrams
ii. Slowing down all flip-flops because of the added scan
chain MUX delays.
iii. Reserving one or more additional pins for
scan chain control.
iv. Lengthening the test-pattern sequence.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• The leaf nodes of the tree are labeled with the good
machine output that the corresponding input values will
cause.
• All ATPG algorithms implicitly search this tree to find
test patterns, and in the worst case, must examine the
entire tree to prove that a fault is untestable.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• BDD – Follow the path from source to sink node – the • Definition: The algorithm is complete if it ultimately can
product of literals along the path gives the Boolean value search the entire binary decision tree, as needed, to
at the sink generate a test
• Rightmost path: AB C = 1 • Untestable fault – no test for it even after the entire tree
searched
• Problem: Size varies greatly
• Combinational circuits only – untestable faults are
with variable order
redundant, showing the presence of unnecessary
hardware
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Algorithm Completeness ATPGAlgebras:
Roth’s 5-Valued Algebras
• A test vector requires that a difference be maintained The ATPG algebra is a higher-order Boolean set notation with the purpose of
between the two machines representing both the “good” and the “failing” circuit (or machine) values
simultaneously. This has the advantage of requiring only one pass of ATPG
• It is computationally faster to represent both machines to determine signal values for both machines.
in the algebra, rather than maintaining them separately.
• Roth showed how multiple-path sensitization, required
to test certain combinational circuits, could be done with
his five-valued algebra given in Table next
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Random-Pattern Generation Boolean Difference Symbolic Method
Use Shannon’s Expansion Theorem to characterize Boolean circuits. For example, an
• Flow chart for arbitrary Boolean function F(X1,X2, ….Xn) can be expanded about any variable, say
method X2 as:
• Use to get tests for
60-80% of faults,
then switch to D- Assuming logic function g = G (X1, X2, …, Xn)for the
algorithm or other fault site we express o/p as
ATPG for rest fj = Fj (g, X1, X2, …, Xn) 1jm
Xi = 0 or 1 for 1 i n
Notice that these output equations express the circuit outputs in terms of the
primary inputs Xi and the fault site signal g
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example
They express the fault detection requirements for g s-a-0 at output fj as:
Equ 01
Equ 02
Equation 01 says that to test a stuck-at-0 fault at g, the logic gate G must
sensitize the fault site by driving it to logic 1. Equation 02 says that in order
to detect the fault, the Boolean difference of some output with respect to
the fault site g must be 1 (i.e., the output must change its signal value when
the fault site signal switches from 1 to 0.) Unfortunately, due to high
complexity the Boolean difference is not an efficient way to compute test
patterns for large circuits.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Path sensitization at the logic gate level of • Test set by considering the individual faults on all wires in a
representation is currently the preferred ATPG method. circuit is not attractive from practical point of view.
• The approach consists of three steps: • Too many wires and too may faults.
i. Fault sensitization • A better alternative to deal with several wires that form a path.
ii. Fault propagation • Fault sensitization, in which a stuck-at fault is activated
iii. Line justification
by forcing the signal driving it to an opposite value from
the fault value.
• This is necessary to ensure a behavioral difference
between the good circuit and the faulty circuit.
• Fault sensitization is also known as fault activation or
fault excitation.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Path Sensitization Methods Path Sensitization Methods
• Fault propagation, in which the fault effect is propagated • Line justification, in which the internal signal
through one or more paths to a PO of the circuit. assignments previously made to sensitize a fault or
• For some faults, it is necessary to simultaneously propagate its effect is justified by setting PIs of the
propagate the fault effect over multiple paths to test it. circuit.
• In general, the number of paths may rise exponentially in
the number of logic gates in the circuit.
• Fault propagation is also known as path sensitization
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Redundancy Identification
• Fault cone and D-Frontier
approach
• PODEM Algorithm
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Pilani Campus
ATPG Algorithms D-Calculus and D-Algorithm (Roth)
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
There are two kinds of D-cubes: (1) Those where only one input coordinate is D or
and (2) Those where multiple input coordinates are D or T
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The D-frontier consists of all the gates in the circuit whose output value is x The J-frontier consists of all the gates in the circuit whose
and a fault-effect (D or D’)is at one or more of its inputs. In order for this to output values are known (can be any of the five values in
occur, one or more inputs of the gate must have a “don’t care” value. For
example, at the start of the D algorithm, for a target fault f there is exactly
the 5-valued logic) but is not justified by its inputs. Figure
one D (or D’) placed in the circuit corresponding to the stuck-at fault. All illustrates an example of a J-frontier.
other signals currently have a “don’t care” value. Thus, the D-frontier
consists of the successor gate(s) from the line with the fault f .Example:
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Definition 5:fault cone Definition 6: forward implication
The fault cone is the portion of a circuit whose signals are A forward implication results when the inputs to a logic gate
reach able by a forward trace of the circuit topology are significantly labeled so that the output can be
starting at the fault site. uniquely determined. Example:
Example:
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Backward implication is the unique determination of all The implication stack is a push-down stack that records each
inputs of a gate for given output and possibly some of signal set in the circuit by the ATPG algorithm, and whether
the inputs. the alternate signal value has already been tried for that signal.
Example: This is an efficient way of representing which portion of the
circuit’s binary decision tree has already been traversed by the
ATPG algorithm, so that search of that tree portion is not
repeated. Example: (Refer circuit in next slide)
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
In the circuit assume that signals were set in the order A, C, E, and B.
Furthermore, assume that the ATPG algorithm first tried setting signal B to 1, and
that this failed, so B has been set, instead, to 0. Figure 7.15 shows the implication
stack.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Backtrack Condition: Definition 9: Back-trace
The ATPG algorithm may decide to backtrack (or backup) when Back-trace is an operation used to determine which PI should be set to achieve
it finds one of the following conditions: an objective. It is most frequently implemented using Gold stein’s
combinational controllability and observability measures.
• The D-frontier becomes empty, meaning that there is no
possibility of propagating a fault effect through the circuit.
• A signal must be simultaneously set to both 0 and 1 in order to
satisfy the testing conditions for the test vector, but this is
obviously impossible.
When a backtrack occurs, the ATPG algorithm removes one or
more signal assignments from the implication stack, and then
selects the alternate assignment for a signal already on the
stack. This causes the binary decision tree to be explored in The circuit shows the objective J=1.
depth-first fashion For OR gate J, we wish to trace backwards through it and find the easiest way to
justify J=1 at the PIs.
We need only set one input of OR gate J to 1, so we should pick the easiest one to set
(i.e., the one with lowest CC1), which is the bottom one
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Idea of D Algorithm
That means that back-trace determines that satisfies the objective
1. Generate the fault
with the least effort.
If the objective were J=0, then matters would be different. 2. Propagate the fault to one of the output
To justify that objective, we would set all three inputs to OR gate 3. Back propagate to get consistent assignments for inputs
J to 0.
We should begin by picking the hardest sub-objective first, which
will be setting the top input to 0, since it has the highest
controllability difficulty for logic 0 (CC0.)
We achieve a 0 on the top input to OR gate J with the signal
assignments A=1 and B=1 and by tracing the hardest
backwards path first, followed by setting E=0.
This allows us to proceed to justifying the middle input of J to 0,
which we achieve with the assignment C=0. Finally we assign
D=0 to justify J=0.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Step2:
Example to illustrate the 3 steps: Step -1
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Step -3 Example-2
Solution:
Example-3
Example 3 Fault A sa0
◼ Step 1 – D-Drive – Set A = 1
D
1 D
27
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
1
D
0 0
D D D D
1 D 1 D
28 29
Step 4 -- Example 3 Step 5 -- Example 3
◼ Step 4 – Consistency – Set g = 1 ◼ Step 5 – Consistency – f = 0 Already set
1 1 1 1
D D
0 0
D D D D
1 D 1 D
30 31
◼ Test cube: A, B, C, D, e, f, g, h, k, L
32 33
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PODEM PODEM High-Level Flow
• Backtracing obtained a PI assignment given the initial
objective. 1. Assign binary value to unassigned PI
• PODEM used the length of paths between its initial objective 2. Determine implications of all PIs
and POs to measure the difficulty of sensitizing a path. 3. Test Generated? If so, done
• This is logic level of the logic gate at the start of the path,
4. Test possible with more assigned PIs? If maybe, go to Step 1
which was the minimum number of logic gates between the 5. Is there untried combination of values on assigned PIs? If
start of the path and any PO. not, exit: untestable fault
• Objectives were selected by level to pick the easiest objective 6. Set untried combination of values on assigned PIs using
to achieve. objectives and backtrace. Then, go to Step 2
• After objectives were selected, backtracing determined PI
assignments to justify these objectives.
• Determined using controllability measures.
36 37
38
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• For selecting an objective, PODEM found the logic gate with • If all logic gate inputs had to be set to achieve the objective,
D or D on its inputs that was closest to a PO. PODEM back-traced through the hardest-to-control input first.
• If X-PATH-CHECK indicated that a path existed with
unassigned signals from that gate to a PO. • If controlling that input failed, it wasted no time trying easier-
• It would set the gate objective of obtaining a 1 on that gate to-control inputs.
output if it was an AND or an OR gate and a 0 if it was a
NAND or a NOR gate to propagate the D forward. • If only one logic gate input needed to be set to achieve the
• Opposite objectives were used to propagate D. objective, PODEM back-traced through the easiest-to-control
• Next, backtracing occurred by tracing backwards from the input.
objective.
• The selected input during back-tracing became the next
objective to satisfy.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example:
PODEM Objectives and Decisions for f Stuck-At-0
Consider the target fault f stuck-at-0. First, PODEM initializes all gate values
to x. Then, the first objective would be to set f =1. The back-trace routine
selects c=0 as the decision. After logic simulation, the fault is excited, together
with e = h = 0. The D-frontier at this time is g. The next objective is to advance
the D-frontier, thus get Objective() returns a =1. Because a is already a primary
input, back-trace() will simply return a =1. After simulating a = 1, the fault-
effect is successfully propagated to the primary output z, and PODEM is
finished with this target fault with the computed vector abc = 1X0.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
sa1
45
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
1 1
0
sa1 sa1
46 47
Example 2 -- Step 5 s sa1 Example 2 -- Step 6 s sa1
◼ Forward implications: d = 0, X = 1 ◼ Initial objective: set r to 1
1 1
1 1
0 0
0 0
sa1 sa1
48 49
50 51
52 53
Step 11 -- s sa1 Backtrack -- s sa1
◼ Set B = 0 (alternate assignment) ◼ Forward implications: d = 0, X = 1, m = 1, r = 0,
s = 1, q = 0, Y = 1, v = 0, Z = 1. Fault not sensitized.
1
1 0
0 0
0
0 1
0 sa1 1 sa1
1
0
1
0
1
54 55
1 1
1 1
sa1 sa1
56 57
1
0
1
58 59
Step 17 -- s sa1 Fault Tested -- Step 18 s sa1
◼ Set B = 1 (alternate assignment) ◼ Forward implications: d = 1, m = 1, r = 1, q = 0,
s = D, v = D, X = 0, Y = D
0
1 1
1 1
1
1 sa1 1 1 sa1 D
D
0
D
D
X
60 61
62 63
Backtrace (s,
vs) Pseudo- Challenges of Sequential ATPG
Code 1. FF/Latch states are uncontrollable and unobservable
v = vs;
while (s is a gate output) FF/Latches are unknown initial states.
if (s is NAND or INVERTER or NOR) v = v; 2. Long run time
if (objective requires setting all inputs) Comb ATPG complexity O(2number_of_PI)
select unassigned input a of s with hardest Sequential ATPG Complexity O(2number_of_PI x 9number_of_FF)
controllability to value v; 3. Large memory space required-Time frame expansion method
else 4.Low fault coverage-Much worse that combinational ATPG
select unassigned input a of s with easiest
controllability to value v;
s = a;
return (s, v) /* Gate and value to be assigned */;
64
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
ATPG for Single-Clock Synchronous Circuits
A synchronous circuit consists of combinational logic and flip- The combinational logic has two types of inputs.
flops, and is often represented in the form shown in Figure. 1. Those at the top are external inputs known as primary inputs (PI).
The circuit in the large block is purely combinational. Some 2. The inputs on the left side, called pseudo-primary inputs (PPIs) or
outputs of this block feed a set of flip-flops, which control present state (PS), are supplied by the flip-flops.
some inputs of the block. Similarly, the combinational logic has two types of outputs.
Those at the bottom are externally observable and are known as
primary outputs (PO).
The outputs on the right are called pseudo-primary outputs (PPO) or
next state (NS) and feed into flip-flops
Input vectors are applied to PIs and observable outputs are produced at
POs. It is the lack of a direct contact with the PPI and PPO that makes
the detection of a fault in the combinational logic difficult.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Time-frame expansion.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The general model for a sequential circuit is shown in Figure Fig illustrates an example of a sequential circuit which is unrolled
where flip flops constitute the memory/state elements of the into several time frames, also called an iterative logic array of
design. All the flip-flops receive the same clock signal, so no the circuit. For each time frame, the flip-flop inputs from the
multiple clocks are assumed in the circuit model. previous time frame are often referred to as pseudo primary
inputs with respect to that time frame, and the output signals to
feed the flip-flops to the next time frame are referred to as
pseudo primary outputs. Note that in any unrolled circuit, a
target fault is present in every time frame.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Differences between combinational and Time frame expansion example
sequential circuits.
The first difference is that a test for a fault in a sequential circuit Step 1:Create the fault
may consist of several vectors. Step 2: Create time frame 0 by removing FF
A combinational ATPG, on the other hand, is capable of a0=1, y1=0 and Y1=D’
generating only a single vector for a target fault.
The second difference is due to the uninitialized (assumed to be
unknown) memory states of the sequential circuit.
A combinational ATPG can deal with unknown (X) signal states,
but we find that the five-value logic system, usually effective
for combinational circuits, is insufficient for sequential
circuits.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Step 3: Fault effect propagate to time frame 1, Step 4: Fault activation back to time frame -1, a-1=0
a1=1.Evnthough fault is detected at Primary out we didn’t
justified PI zero.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
In the serial adder, When the nth bits An , Bn are applied to this
circuits, it produces the sum Sn and loads the carry Cn+1 in the
flip-flop. Thus , two 32 bits binary integers are added as follows:
Initialization – A 00 input is applied to initialize the flip-flop in
the 0 state. This corresponds to C0=0. The output at this time is
ignored.
Serial addition – Inputs (A0, B0), (A1, B1)…..,(A31, B31 ) are
applied as successive two bit vector while sum bits S0,
S1…..,S31 appear at the output. Then, a 00 input is applied to
force the final carry bit at the output as S32 while initializing the
flip-flop to 0 for the next addition.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Example illustration
Test generation by time-frame expansion method
Consider the s-a-0 fault shown in serial adder Figure. To apply the combinational ATPG procedures we can thus
We assume that the state of the flip-flop is unknown. “unroll” the sequential circuit into a larger combinational
So we set Cn=X and apply the D-Algorithm procedure to the circuit. This unrolling is called “time frame expansion.” The
combinational logic. following example illustrates test generation.
The fault is activated by An= Bn=1 but cannot be propagated to
the output Sn which assumes the unknown value.
We can easily see that we should set Cn to 1 to propagate a D’ to
Sn. We should, therefore, precede this vector by one or more
initialization vectors to set the circuit in the required state.
Alternatively Cn=0 could also have , propagated the fault effect
to Sn though Cn=X will not work.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
For generating a two-vector test we use the expanded circuit model of we refer to the right-most block as time-frame 0. This contains the
primary output where the fault is actually detected.
Figure shown in previous slide.
The left-most block (time frame –1 in this case) has its state inputs in
Here, the combinational logic is repeated twice. the unknown (X) state.
The right block (time-frame 0) receives its state input from the left In general, they can be in any other given known state. The fault is
block (time-frame –1) in the same way as the carry signal was present in all frames. So, we must generate a combinational test that
routed in the combinational adder. will detect the multiple fault.
In Figure of slide 19, this test consists of four input bits all of which
In fact, this circuit performs the same function as that of serial adder are 1. The sequential circuit test is an initialization vector 11
figure. However, it takes only half the number of clock cycles followed by another 11 vector that produces a D at the output.
(though the clock period may have to be doubled) since two inputs Notice that the fault is activated in both time-frames, although that is
are applied simultaneously. Similarly, this test generation model of not always necessary.
the circuit can be expanded to any desired length. As we shall later For example, another test 00 followed by 11 (had we used the
see, the maximum length of this expansion has a limit. alternative choice of Cn=0 activates the fault only in time-frame 0.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
A signal can assume different values in the fault-free and Figure Shows a circuit with two flip-flops, FF1 and FF2.
faulty circuits. Initially, the flip-flop states are unknown.
It is, therefore, convenient to denote both values as a FF2 is initialized after any input at A.
composite state. FF1 is initialized to 0 any time the A=0 input occurs and remains
In this system, a signal can assume any combination of the in that state thereafter. After the initialization of FF1, B tracks
three values (0,1,X) in the two circuits. A with one clock delay. We consider the s-a-1 fault on input A.
Thus a differing signal may be 0 in the fault-free circuit and In the faulty circuit the output B will be a constant 1 and the
X in the faulty circuit. We will designate it as 0/X . fault is thus detectable.
The following examples illustrate the advantage of the nine-
valued system. Consider a Test circuit.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Test generation with five Nine-Valued Logic (Muth) 0, 1,
valued logic 0,1, D, D, X 1/0, 0/1, 1/X, 0/X, X/0, X/1, X
Figure (b) is a two time-frame construction of the test generation process with the five-
Figure 8.5(c) repeats the process with the nine-value system and finds that an
valued logic, showing that the fault cannot be detected. This is because the five-valued D-
input A=0 after the application of one clock detects the fault at B as 0/1. Most
calculus assumes that if the fault-free signal is in a known state then the faulty signal can
differ from it but should also be in a known state. In this example, we notice that the fault implementations of sequential circuit test generators use the nine-valued
does not allow initialization of FF1 and produces signal state 0/X, which is regarded as X in system.
the five-valued system. https://www.youtube.com/watch?v=DvzHnGjhO2E
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Implementation of ATPG Complexity of Sequential ATPG
• Select a PO for fault detection based on drivability analysis. Synchronous circuit: All flip-flops controlled by clocks; PI and
• Place a logic value, 1/0 or 0/1, depending on fault type and PO synchronized with clock:
number of inversions. Cycle-free circuit– No feedback among flip-flops: Test
• Justify the output value from PIs, considering all necessary generation for a fault needs no more than dseq + 1 time
paths and adding backward time-frames. frames, where dseq is the sequential depth.
• If justification is impossible, then use drivability to select • Cyclic circuit– Contains feedback among flip-flops: Need 9Nff
another PO and repeat justification. time-frames, where Nff is the number of flip-flops. •
• If the procedure fails for all reachable POs, then the fault is Asynchronous circuit– Higher complexity.
untestable.
• If 1/0 or 0/1 cannot be justified at any PO, but 1/X or 0/X can
be justified, the fault is potentially detectable
max = Number of distinct vectors with 9-valued elements = 9Nff
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Cycle-Free Circuits
This classification is based on the connectivity structure of the dseq of the circuit is the maximum number of flip-flops on any
circuit. path between PI and PO.
The state of a flip-flop Fi is considered dependent on another flip- • Test sequence length for a fault is bounded by dseq + 1.
flop Fj if there exists a combinational path from Fj to Fi.
A test for a non-flip-flop fault in a cycle-free circuit can always
Dependence can be expressed by a directed graph, usually called
the s-graph. be found with at most dseq+1 time-frames, unless the fault is
untestable.
A cycle-free circuit is also called a feedback-free or pipeline
circuit.
Given a cycle-free structure, the fault-free circuit and the faulty
circuit with a non-flip-flop fault are always initializable.
Characterized by absence of cycles among flip-flops and a
sequential depth, dseq.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Modulo-3 Counter Adding Initializing Hardware
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Clock Faults and Multiple-Clock Circuits Clock Faults and Multiple-Clock Circuits
so far has focused on single-clock circuits. A fault in the clock line disturbs the synchronization and in some
Assumption: ways makes the faulty circuit asynchronous.
one input vector is applied per clock cycle.
• Approach provides simplicity to test generation. • A synchronous method for modeling flip-flops with explicit
• However, there is a loss of generality: clock and other signals that may be either synchronous or
First, faults on the clock line are not modeled and hence no tests asynchronous.
were obtained for them. • These models are frequently used for simulation and test
Second, many circuits that contain multiple clocks cannot be handled
as such. generation of sequential circuits and allow faults to be
Third, some memory elements in certain circuits may not be modeled for flip-flop inputs.
controlled by the clock signal. • These do not allow modeling of faults inside flip-flops
In a synchronous circuit, all signals are synchronized with respect to
the clock signal. The clock signal provides the time reference.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Asynchronous Circuits
Any number of clocks can be present in a circuit. A digital circuit is defined as combinational if its steady-state output is
• Clocks can even be gated by other signals or clock inputs of flip-flops can be completely determined by the present inputs.
fed by external or internal combinational signals. Thus, a combinational circuit does not store any data for the future time.
In actual implementation, these circuits contain logic gates without feedback signals.
• If the operation of the flip-flop is accurately modeled, then the test generator
will correctly deal with faults on clock, clear, and preset signals. Figure A sequential circuit, on the other hand, has combinational feedback which can store
signal states.
gives examples of different types of circuits.
Its output, therefore, depends on both primary inputs and internal states. The internal
states, in turn, may depend upon previous primary inputs.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The operation is termed asynchronous if: To isolate the combinational logic, split the asynchronous logic into
two parts:
i. Signals can change at any time. i. Feedback-free combinational logic
ii. Some signals may depend on the past inputs. ii. A set of delay elements synchronized with a fast model clock,
FMCK .
iii. Steady state signal values may depend on circuit FMCK runs much faster than the system clock CK.
delays. Its purpose is to repeatedly evaluate the combinational logic and
stabilize asynchronous signals before CK clocks the flip-flops, applies
new PIs, or observes POs.
A set of signals, called the feedback set, is found such that if the
corresponding interconnects are cut then the circuit will have no
feedback.
The minimum number of signals that must be cut is known as the
feedback index.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Test Generation Model for Asynchronous Circuits Test Generation Model for Asynchronous Circuits
All combinational gates are assumed to have zero delay, these
delay elements hold the signal until all combinational signals
have been evaluated.
In Figure previous(slide) these delays are taken out in a separate
block (shown in ornage)
Thus, we have created a two-clock model for test generation. The
normal system clock CK controls all synchronous memory
elements (flip-flops.)
The modeling clock FMCK controls the asynchronous delays.
The FMCK clock is necessary because we have modeled the
logic with zero delays. A time-frame expansion type of test
generator deals with this circuit in two phases.
• Delays are taken out in a separate block (shown in orange).
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
1. System Clock (CK) Phase Time-Frame Expansion
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Asynchronous Circuits
Sequential Circuit ATPG Simulation-Based Methods
✓ Asynchronous circuits continue to be difficult to test. Difficulties with time-frame method:
✓ Tools and techniques are only adequate for small circuits. ✓ Long initialization sequence
✓ The situation often encountered involves large synchronous circuits ✓ Difficult to guarantee initialization with three-valued logic
with a small amount of asynchronous circuitry embedded in the
combinational logic. ✓ Circuit modeling limitations
✓ Tests for faults in the clock circuitry require asynchronous ✓ Timing problems – tests can cause races/hazards
techniques. ✓ High complexity
✓ The difficulty of finding good tests for asynchronous circuits arises ✓ Inadequacy for asynchronous circuits
due to the inadequate treatment of delays.
Advantages of simulation-based methods:
✓ Analysis of races and hazards can improve the tests, but requires
additional computation. ❑ Advanced fault simulation technology
✓ Logic simulators are more advanced than test generators, when it ❑ Accurate simulation model exists for verification
comes to handling of delays. ❑ Variety of tests – functional, heuristic, random
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Delay Test Delay Test Definition
◼ Delay test definition ◼ A circuit that passes delay test must produce correct outputs
◼ Circuit delays and event propagation when inputs are applied and outputs observed with specified
timing.
◼ Path-delay tests
◼ For a combinational or synchronous sequential circuit, delay
▪ Non-robust test
test verifies the limits of delay in combinational logic.
▪ Robust test
◼ Delay test problem for asynchronous circuits is complex and
◼ Path-delay fault and other fault models not well understood
◼ Transition Faults
◼ Summary
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Synchronized
With clock ▪ A delay fault means that the delay of one or more paths (not
necessarily the critical path) exceeds the clock period.
time
Clock period
9
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Circuit Delays Event Propagation Delays
• Single lumped inertial delay modeled for each gate
◼ Switching or inertial delay is the interval between input change and • PI transitions assumed to occur without time skew
output change of a gate: Path P1
▪ Depends on input capacitance, device (transistor) characteristics
and output capacitance of gate. 1 3
0 1
▪ Also depends on input rise or fall times and states of other inputs
▪ Approximation: fixed rise and fall delays (or min-max delay 2 4 6
range, or single fixed delay) for gate output.
P2 1
12
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Propagation of Transitions
Single faulty path and Multiple faulty paths
◼ Examine the three activated paths: ◼ Consider two cases:
1. Path P1: A – H – K
◼ Single faulty path:
2. Path P2: B – E – Q – H – K
▪ Examine the output at 7 units of time.
3. Path P3: B – E – G – J – K
▪ As long as the delay of path P3 is 6 units or less, the output will have
◼ Input and output signals (irrespective of whether or not they are risen to logic 1 value irrespective of delay of path P1 or P2.
latched) are synchronized with a clock of period T.
▪ The delay faults of P1 and P2 will not be detected by this input
◼ Delays have been derived from the analysis of the design data vector pair.
(device parameters, routing capacitances, etc.), the critical path has ▪ If the delay of path P3 exceeds 7 units, due to some manufacturing
a delay of 6 units in the fault-free circuit. defect, then the last edge in the output will be shifted to the right and
◼ Path P3 is one of the two critical paths. we will observe a 0 instead of 1.
◼ If T = 7, any path will be faulty if its delay exceeds 7 units. ▪ Delay fault of path P3 is detectable by this vector-pair
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Path-Delay Test Non-robust Path-delay Test
◼ Important fault model used in delay testing. ◼ A test that guarantees to detect a path-delay fault, when no
◼ The delay defect in the circuit is assumed to cause cumulative other path-delay fault is present.
delay of a combinational path to exceed some specified duration. ◼ A path-delay fault for which a non-robust test exists is called
◼ The combinational path begins at a primary input or a clocked flip-
a singly-testable path-delay fault.
flop, contains a connected chain of gates, and ends at a primary
output or a clocked flip-flop. ◼ A non-robust path delay test applies a transition (two-
◼ The specified time duration can be the duration of the clock period vectors) at the input of the path and measures the output
(or phase), or the vector period. value after a specified interval (clock period.)
◼ The propagation delay is the time that a signal event (transition) ◼ For the test to be an effective measure of the path delay, the
takes to traverse the path. “expected or correct” output value must be uniquely
◼ Both switching delays of devices and transport delays of controlled by the transition propagating through the path.
interconnects on the path contribute to propagation delay.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Circuit Outputs
◼ Figure shows a hypothetical (though typical) output ◼ The initial value (0) is the steady-state output of V1 and the
waveform produced by combinational logic when a vector-pair final value is the steady-state output of V2.
(V1, V2) is applied at the input. If this logic is a part of a ◼ Each transition produced by the vector-pair can potentially
clocked sequential circuit, the output value at the end of the propagate through some path and produce a transition at the
clock period T(CK) is of interest. output at a time determined by the delay of that path.
◼ The transitions propagating through paths whose:
• Delays are smaller than T(CK) are shown as “fast transitions”.
• Delays greater than T(CK) are shown as “slow transitions”.
◼ If the delay of a path increases, the corresponding transition
at the output will move to the right.
◼ If the delay reduces, the transition will move to the left.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Target
path
• Static sensitization guarantees a test when the target path is the only faulty
path, test is, therefore, called non-robust.
• It is a test with minimal restriction. A path with no such test is a false path.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
▪ Robust test
◼ Produce real events (different steady-state values for V1 and
V2) on all on-path signals.
◼ All on-path signals must have controlling events arriving via
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Robust path delay sensitization for rising and falling Signal Description
transitions
◼ Real events on target path. Controlling events via target • S0 and S1 are steady (without glitch) 0 and 1 values for both
path. vectors V1 and V2.
• U0 and U1 specify the final value as 0 and 1, respectively,
V1 V2 V1 V2
and leave the initial value as don’t care or X.
V1 V2
U1
V1 V2 U0 • F0 and R1 are falling and rising transitions on the on-path
U1 U0 signals.
U1/R1 U0/F0 U0/F0 • For an off-path signal, F0 and R1 are treated same as U0 and
U1/R1
U1, respectively.
S1
V1 V2 V1 V2 • In addition, XX is used to denote both vectors in the don’t
S0
S1
care state.
S0
U0/F0 U0/F0 U1/R1 • The value set (S0, U0, S1, U1, XX) is a five-valued algebra.
U1/R1
28
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Let us try to generate a robust test for path-delay fault ↑P2 in Figure . For a non-robust test we change S0 and S1 to U0 and U1,
We proceed as follows: respectively (static sensitization.) Now the Step 5 requirement
becomes J = U0, which is consistent with Step 3. The non-
robust test is A = U1, B = R1, C = U0 (changed from S0); or
V1 = X0X, V2 = 110.
11
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
◼ A path for which both (rising and falling) path-delay faults (PDFs) ◼ Two PDFs (rising & falling transitions) for each physical path.
are singly (non-robustly) testable is called a testable path.
◼ Total number of paths is an exponential function of gates.
◼ A path having one singly testable PDF and one singly untestable
PDF is called a partially testable path. ◼ Critical paths, identified by STA, must be tested.
◼ When no non-robust test exists for both PDFs of a path, that path is ◼ Three types of PDFs:
called a singly-untestable path. ▪ Singly-testable – has a non-robust or robust test.
◼ Such a path can be eliminated by circuit transformations that ▪ Multiply-testable – a set of singly untestable faults that has a
preserve the logic function. non- robust or robust test.
◼ A combinational circuit may have paths whose delays cannot ▪ Untestable– PDF that is neither singly nor multiply testable.
affect the time of signal change at the output, these paths are called
false paths. ◼ A singly-testable PDF has at least one single-input
◼ The paths of singly-untestable PDFs are not always false paths. change (SIC) non-robust test.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Transition Faults Transition Faults
◼ A transition fault on a line makes signal change on that line slow. ◼ Tests for transition faults can detect localized (spot) delay defects of
◼ The two possible faults are slow-to-rise and slow-to-fall types. large (gross) delay amounts.
◼ For detecting a slow-to-rise fault on a line, we take a test for a stuck-
◼ Because of sensitization of short paths these tests may fail to detect
at-0 fault on that line.
distributed defects, where small delay increases in a large number of
◼ This test will set the line to 1 in the fault-free circuit and propagate
gates cause a long path to fail.
the state of the line to a primary output.
◼ The advantages of the transition fault model are:
◼ Vector V2 and precede it with any vector V1 that sets the line to 0.
▪ Number of faults has an upper bound of twice the number of lines
◼ Vector-pair (V1, V2) is a test for the slow-to-rise transition fault on
the line. ▪ Tests are easy to generate
▪ S-a-f test generator can be modified to produce tests for transition faults
◼ V1 sets the line to 0 and V2 sets it to 1.
▪ Circuits that either have, or are modified to have, a high stuck-at fault
◼ V2 also creates an observation path to a primary output.
◼ If the line is slow to rise then that effect will be observed as a 0 at coverage also have high transition fault testability
the output instead of the expected value of 1. ◼ Transition fault tests have been used in the industry.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
◼ Practical application of delay tests depends on the type of ◼ Timing correctness of VLSI circuits is as important as their
circuit under test and the DFT hardware used. logical correctness.
◼ The design of a VLSI chip is verified via timing simulation and
◼ Different test methodologies are: timing analysis.
1. Slow-Clock Combinational Test ◼ A careful timing design increases the manufacturing yield but
2. Enhanced-Scan Test cannot guarantee that every chip will function correctly.
3. Normal-Scan Sequential Test ◼ Tests developed for detecting stuck-at faults, when applied at a
slower than the rated-clock frequency, uncover many manufacturing
4. Variable-Clock Non-Scan Sequential Test defects.
5. Rated-Clock Non-Scan Sequential Test ◼ Results of timing analysis are used to improve the design and test:
1. Timing simulation
2. Critical path tests
3. Layout optimization
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Timing simulation:
◼ Ad-Hoc DFT Methods
▪ Critical paths are identified by static timing analysis tool.
▪ Timing or circuit-level simulation using designer-generated ◼ Scan Design
functional vectors verifies the design. ▪ Scan Design Rules
2. Critical path tests:
• Critical path of a circuit is the longest delay combinational path between clocked
▪ Tests for Scan Circuits
flip-flops.
▪ Multiple Scan Registers
• Critical path delay determines the clock period.
• Tests of a chip normally include test vectors that propagate ▪ Overheads of Scan Design
signal transitions through critical paths.
3. Layout optimization: ▪ Design Automation
▪ Critical path data are used in placement and routing.
▪ Physical Design and Timing Verification of Scan
▪ Delay parameter extraction, timing simulation and layout
are repeated for iterative improvement. ◼ Partial-Scan Design
◼ Testing: Some form of at-speed test is necessary.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Introduction
◼ A fault is testable if there exists a well-specified procedure to ◼ For a VLSI chip to be manufactured, we must have a
expose it, which can be implemented with a reasonable cost verified design and a set of tests.
using current technologies. ◼ Following questions characterize testing of complex
◼ Design for testability (DFT) refers to those design techniques systems:
that make test generation and test application cost-effective. ▪ Can tests that detect all faults be assured?
◼ The term DFT refers to a class of design methodologies which ▪ Can test development time be kept low enough to
put constraints on the design process to make test generation be economical?
and diagnosis easier. ▪ Can test execution time be kept low enough to be economical?
◼ No DFT approach is free from: ◼ DFT refers to those design practices that allow us to
▪ Manpower and tool costs answer the above questions in the affirmative.
▪ Area overhead and performance penalty ◼ No single DFT technique is effective for all kinds of circuits.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
◼ Collections of ideas aimed at reducing the combinational explosion ◼ Good design practices learnt through experience are used as
guidelines:
of testing. ▪ Avoid asynchronous (unclocked) feedback
◼ Represent a bag of tricks developed over the years by designers to ▪ Make flip-flops initializable
avoid the overhead of a systematic approach to testing. ▪ Avoid gates with a large number of fan-in signals
▪ Provide test control for difficult-to-control signals
◼ Goal is to increase controllability, observability and/or
predictability. ◼ Design reviews conducted by experts or design auditing tools,
◼ Objective: Adherence to design guidelines and testability design reviews are:
▪ Manual analysis
improvement techniques.
▪ Conducted by experts
◼ Frequently multiplexers can be used to provide alternative
▪ Programmed analysis
signal paths during testing. ▪ Using design auditing tool
◼ A complete scan-based testing methodology is recommended for ▪ Programmed enforcement
all digital circuits. ▪ Must use certain design practices and cell types.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Ad-Hoc DFT Methods Scan Design
Disadvantages: ◼ The main idea in scan design is to obtain control and observability for flip-
◼ Ad-hoc techniques are useful for small designs. flops.
◼ Experts and tools not available. ◼ This is done by adding a test mode to the circuit such that when the circuit
◼ Test generation is often manual with no guarantee of high fault
is in this mode, all flip-flops functionally form one or more shift registers.
coverage. ◼ The inputs and outputs of these shift registers (also known as scan
◼ Design iterations may be necessary. registers) are made into primary inputs and primary outputs.
As the size and complexity of digital systems grew, an alternative form of ◼ Thus, using the test mode, all flip-flops can be set to any desired states by
DFT, known as structured DFT gained popularity. shifting those logic states into the shift register.
In structured DFT, extra logic and signals are added to the circuit so as to ◼ Similarly, the states of flip-flops are observed by shifting the contents of the
allow the test according to some predefined procedure. scan register out.
Apart from the normal functional mode, such a design will have one or ◼ All flip-flops can be set or observed in a time (in terms of clock periods)
more test modes. Commonly used structured methods are scan and built-in that equals the number of flip-flops in the longest scan register
self-test
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Scan Flip-Flop (SFF) Level-Sensitive Scan Design
D Master latch Slave latch
TC
◼ Another popular design style is Level-sensitive scan design
Q (LSSD), uses two non-overlapping clock signals.
Logic
overhead ◼ Figure shows a scan flip-flop with two function clocks, MCK
and SCK.
MUX
SD Q ◼ When MCK is high, data D is latched in the master latch.
◼ When SCK is high, the state of master latch is copied in the
CK slave latch.
D flip-flop
◼ For a proper operation of a general sequential circuit, MCK
and SCK are never turned high, simultaneously.
CK Master open Slave open ◼ In the scan mode, MCK is held low and scan data SD is
t
latched in by using clocks TCK and SCK as master and slave
Scan mode, SD selected
clocks, respectively
TC Normal mode, D selected
t
Rule-1: ◼ If extra pins are not available, then any normal primary input
Only D-type master-slave flip-flops should be used. can be used as scan-in and any PO pin can be multiplexed as
This rule prohibits the use of other types of flip-flops (JK, scan-out
toggle, etc.) or other forms of asynchronous logic ◼ In Figure TC (test control) is the only pin added.
(unclocked RS latches, combinational feedback ◼ Primary input PI2 serves as SCAN IN and primary output
elements.) pin PO2 also outputs SCANOUT.
Rule-2:
At least one primary input pin must be available for test
. In general, flip-flops can be connected as multiple scan
registers each of which will require a scan-in and a
scan-out terminal.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Rule-3 R-3 Correcting a Rule Violation
All flip-flop clocks must be controllable from primary inputs: ◼ All clocks must be controlled from Pis.
This rule is necessary for flip-flops to function as a scan register.
Some violations of this rule, if they exist, can be removed by a Comb.
logic D1 Q
simple work-around.
FF Comb.
Figure shows an example. Here the clock signal (CK) is gated by D2 logic
a combinational signal, D2. Thus, when D2 = 0, the clock is
inhibited and the flip-flop FF retains its state Q.
When D2 = 1, the clock CK stores D1 as the new state. In Figure
(b), the clock is applied directly to FF and a multiplexer is Comb.
logic
added to the combinational logic to regenerate data for FF.
Q
The two circuits are functionally identical and the modified circuit D1
D2 FF Comb.
satisfies the rule R-3. logic
CK
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Rule:4: ◼ Testing of scan circuits is done in two phases. The first phase tests
the scan register by a shift test. The circuit is set in scan mode by
Clocks must not feed data inputs of flip-flops: setting TC = 0. All flip-flops now form a shift register between
A violation of this rule can potentially lead to a race condition in SCANIN and SCANOUT. Scan register must be tested prior to
the normal mode. application of scan test sequences.
◼ A shift sequence 00110011 . . . of length nsff + 4 in scan mode
Thus the value captured in the flip-flop cannot be guaranteed to (TC=0) produces 0->0, 0->1, 1->1 & 1->0 transitions in all flip-
be the state of the signal produced by the combinational logic. flops and observes the result at SCANOUT output.
In scan design, flip-flops play a dual role. They capture ◼ Total scan test length: nsff + 4 + (nsff + 1) ncomb + nsff
combinational data in the normal mode and then carry the data =(ncomb + 2) nsff + ncomb + 4 clock periods.
out for observation in the scan mode. ◼ Example: 2000 scan flip-flops, 500 combinational vectors, total
The test procedure relies on the flip-flop correctly capturing data scan test length ~ 106 clocks.
in the normal mode and hence no race condition is permitted. ◼ Multiple scan registers reduce test length.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Multiple Scan Registers
To reduce the time of scan test, sometimes flip-flops are arranged in multiple
scan registers. Each scan register requires separate SCANIN and SCANOUT
pins. If extra pins are not available, added fanouts from normal primary input
pins can provide SCANIN signals to scan chains. This is possible because the
normal primary inputs and SCANIN are never simultaneously used. Similarly,
the SCANOUT signals can be multiplexed with the normal primary output
pins under the control of the test control (TC) signal.
PI/SCANIN PO/
Combinational
M SCANOUT
logic U
SFF X
SFF
SFF
TC
CK
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
◼ One or more additional I/O are required. The use of scan design has two types of penalties. The scan hardware
increases the chip size (area overhead) and slows the signals down
◼ With a given set of test patterns, test time per pattern is increased (performance overhead.) In the early stages of a design, it is useful
because of the need to shift the pattern serially into the scan path, to estimate the gate overhead.
total test time increases. ▪ Gate overhead = [4 nsff/(ng+10nsff)] x 100%,
where ng = comb. gates; nsff = flip-flops;
◼ A slower clock rate may be required because of the extra delay in ▪ Example: ng = 100k gates, nsff = 2k flip-flops, overhead = 6.7%.
the scan-path flip-flop or latches, resulting in a degradation in ▪ Accurate estimate must consider scan wiring and layout area.
performance. ◼ Performance overhead:
▪ performance penalty can be minimized by employing storage ▪ Multiplexer delay added in combinational path; approximately
cells that have no additional delay in series with data inputs. two gate-delays.
◼ Test generation costs can be significantly reduced. ▪ Flip-flop output loading due to one additional fanout
▪ can also lead to higher fault coverage. approximately 5 to 6%.
◼ Some designs are not easily realizable as scan designs. ▪ Scan design can reduce the clock speed by 5 to 10%.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Area overhead: Scan design requires a significant amount of routing that can
Figure a shows standard cell and b shows scan layout. First, flip-flop
impact the chip area. The test control signal (TC) is routed to all flip-flops cells (uniformly distributed among cell rows and shown cross-
and the output of each flip-flop is routed to the scan data (SD) input of the hatched) are replaced by corresponding scan flip-flop cells.
next flip-flop in the scan register chain. The impact of scan routing on the These cells are wider due to the added multiplexer.
chip area increase can be reduced by: (a) flip-flop placement on the layout
Next, two types of interconnects are added. A test control (TC) signal
for optimum routing and (b) selecting the flip-flop order in the scan chain. feeds all scan flip-flop cells. As shown in Figure (b) by bold lines,
this takes at most one track in every alternate routing channel.
The second set of interconnects forms a chain between the SCANIN
and SCANOUT pins.
When flip-flops are suitably ordered, as the wires with small arrows
show, this is also accomplished by one track per alternate channel.
Thus, two tracks per alternate channel, or an average of one track per
channel, can accommodate the scan wiring. The track overhead can
go higher if the scan layout is not optimized.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
We will only consider the active area, which is the area of cells We will use the following notation:
and routing. The active area in Figure is a rectangle of linear
dimensions X and Y, which expand to X' and Y', respectively.
The increase in X is due to wider scan cells and that in Y is due
to the extra tracks used for the scan wiring. The cell width is
measured in a normalized unit called a grid.
Similarly, the channel height is measured in the number of tracks.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Design Automation
The combined height of a cell row and one adjoining routing The full-scan design is considered the best DFT discipline.
channel is T+Tβ/(1-β)= T/(1- β) tracks. It can be completely automated using commercially available
Therefore, the number of routing channels=Y(1-β)/(yT) design tools.
The scan routing on average adds one track per routing channel. Over the years, it has gained wide-spread acceptability in system
Therefore Y’=Y+ry=Y+Y(1-β)/T. design environments. Figure (next slide) shows a typical
Upon substituting scenario of scan design.
DFT practically impacts every aspect of design. First, scan design
audits are applied during the design phase. Audit programs
analyze the topology of the circuit.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Physical Design and Timing Verification of Scan
Independent of the physical design, a combinational circuit netlist Physical design of a scan chain requires timing verification
is generated by removing flip-flops and clocks from the because its integrity is crucial to the application of scan tests.
audited netlist. Several problems should be checked:
Flip-flop output signals appear as pseudo-primary inputs (PPIs) ◼ Small delays in scan path and clock skew can cause race
and flip-flop input signals appear as pseudo-primary outputs condition.
(PPOs) in the combinational circuit. ◼ Large delays in scan path require slower scan clock.
A combinational ATPG program is used to generate test vectors ◼ Dynamic multiplexers can cause momentary shorting of D and
for all single stuck-at faults in this circuit. SD inputs.
Next, the combinational vectors and the flip-flop chain order ◼ Power dissipation during scan: Random signal activity in
information obtained from the layout are used to generate combinational circuit during scancan cause excessive power
scan-in and scan-out sequences. dissipation.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
◼ A subset of flip-flops is scanned. ◼ Select a minimal set of flip-flops for scan to eliminate
◼ Objectives: all cycles.
▪ Minimize area overhead and scan sequence length ◼ Alternatively, to keep the overhead low only long cycles may
yet achieve required fault coverage be eliminated.
▪ Exclude selected flip-flops from scan: ◼ In some circuits with a large number of self-loops, all cycles
▪ Improve performance other than self-loops may be eliminated.
▪ Allow limited scan design rule violations ◼ The structure graph (s-graph) of a sequential circuit
▪ Allow automation: clearly shows the difficulty caused by feedback.
▪ In scan flip-flop selection
◼ Each flip-flop is represented by a vertex in the s-graph.
▪ In test generation
▪ Shorter scan sequences
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
PI PO
Combinational
circuit
CK1
FF
FF
CK2 SCANOUT
SFF
TC
SFF
SCANIN
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
s-graph is a Directed Acyclic Graph (DAG)
▪ The structure graph (s-graph) of a sequential circuit clearly The DAG of Figure (b) can be levelized.
shows the difficulty caused by feedback. Vertices without any incoming edge are placed in level 1.
▪ Each flip-flop is represented by a vertex in the s-graph. A
directed edge from vertex i to vertex j means that a For any other vertex, the level is one higher than the level of the
combinational path from flip-flop i to flip-flop j exists. highest level vertex that feeds into it.
▪ Figure illustrates the construction of the s graph for a For example, vertex 6 is fed by 1 and 5, of which vertex 5
feedback-free circuit. Shaded regions marked as Cl, C2, C3, belongs to the highest level of 2.
and C4 are combinational logic blocks. Flip-flops FF1 through Thus, vertex 6 has a level 3. The maximum level in the s-graph (3
FF7 are represented by vertices 1 through 7 in Figure (b). in this example) is called the sequential depth.
▪ Primary inputs and primary outputs are not represented in the
s-graph. Since the circuit has no feedback, its s-graph is a
directed acyclic graph
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
A Partial-Scan Method
▪ consider the circuit with added feedback paths from FF5 ◼ Complexity of a circuit with feedback can be reduced by
and FF7. scanning a selected set of flip-flops.
▪ The circuit does not have any combinational feedback ◼ A scan flip-flop is controllable and observable via a test
and hence is a proper synchronous sequential circuit. mode, its output is treated as a primary input and its input is
▪ The corresponding s-graph is shown in Figure (b). treated as a primary output.
▪ This is no longer a DAG as it contains several cycles. ◼ Vertices corresponding to scan flip-flops are deleted from the
Because of cycles, it is not possible to levelize the graph. s-graph.
▪ Hence, we cannot talk about a sequential depth or ◼ If we scan FF5 and FF7, then vertices 5 and 7 will be deleted
bound the length of sequences to control flip-flops. and the s-graph becomes acyclic with a sequential depth of 2.
▪ In general, the test length and ATPG run time for such ◼ Finding the smallest set of vertices is known as the minimum
circuits can be quite large feedback vertex set (MFVS) problem.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
A Partial-Scan Method Summary
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BIST Response Compaction
Definitions Definitions
Aliasing: Due to information loss, signatures of good and some Compression schemes, are impractical for BIST response
bad machines match. analysis, because they inadequately reduce huge
Compaction: Drastically reduce number of bits in original circuit volume of data, use only compaction schemes.
response during testing in which some information is lost. Signature analysis: A method of circuit response
Compression: Reduce # bits in original circuit response so that compaction during testing, whereby the entire good
no information lost so the original output sequence can be fully circuit response is compacted into a good machine
regenerated from the compressed sequence. signature. The actual circuit signature is generated
Signature analysis: A statistical property of a circuit, usually a during the testing process on the CUT, and then
number computed for a circuit from its responses during compared with the good machine signature to determine
testing, with the property that faults in the circuit usually cause whether the CUT is faulty
the signature to deviate from that of the good machine
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Distinguish between compression and compaction.
Circuit response compression is lossless, because the original output sequence can
Transition Count Response Compaction: be completely regenerated from the compressed sequence.
A method of response compaction in which the number of Compaction, however, results in information loss, so regenerating the original
circuit response information is not possible.
transitions from 0 to 1 and 1 to 0 at circuit POs are Compression schemes, at present, are impractical for BIST response analysis,
counted to create a testing signature. because they inadequately reduce the huge volume of data, so we use only
compaction schemes.
Trivial schemes for response compaction are: In mathematical words, compression functions are invertible, but compaction
functions are not.
Parity checking, where we form parity across all circuit
Signature analysis is the process of compacting the circuit responses into a very
responses . small bit length number, representing a statistical circuit property, for
economical on-chip comparison of the behavior of a possibly defective chip
Ones counting, where we count the number of ones in the with a good machine chip.
output responses from the circuit. Also, the signature must preserve as much of the fault information contained in the
circuit output response before compaction as possible, and the circuitry used to
implement the compacter should be small .
All compaction techniques require that the fault-free circuit signature be known
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
The transition count C(R) is the number of times signals in the In order to maximize the test set fault coverage, in
circuit response R change during BIST. transition count testing we must make C(R0) the
Figure shows an example circuit with the fault a stuck-at-1. In transition count of the good machine, as large or as
Figure (a), we see the circuit responses to five test-patterns, small as possible.
where the faulty machine response is shown above the good
machine response. Transition count testing aliases less than ones counting,
because it not only checks for the correct number of
Figure (b) shows the sum of 0->1 and 1-0> transitions, with those
of the faulty machine shown above those of the good machine ones and zeroes in the circuit output response, but also
partially tests for the correct ordering of the ones and
In Figure (b) at PO x1, the good machine has a transition count
of 1, but the faulty machine count is 3. zeroes in the response.
One advantage of transition count compaction is that |C(R)|, the
number of bits to represent C(R), is
bits in R. ri is the circuit output response at time i. Then:
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
LFSR for Response Compaction
Frohwerk introduced the LFSR for response compaction by signature The final state of the standard LFSR is not always the polynomial
analysis. remainder of this division, but is related to the true remainder
The signature is any statistical property of the circuit that is used for through a different state assignment.
checking its correct operation.
He used the data compaction method of the cyclic redundancy check The error detection hypothesis is that a faulty data stream
(CRC) code generator, which requires an LFSR hardware device. changes the output data stream, and hence the remainder of
In this method, the circuit output data stream is treated as a descending this polynomial division, which is used as the signature in this
order coefficient polynomial. compaction method.
The output response compacter LFSR performs polynomial division of The LFSR must be initialized to the seed value, and after data
this data stream polynomial by the characteristic polynomial of the
compaction, the signature must be observed and compared
LFSR.
with the known good-machine signature .
The final state of the modular LFSR is the polynomial remainder of this
division. The signature analyzer circuit is easily testable.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Signature by LFSR
Figure shows how 8 clock periods are simulated after the LFSR is
initialized to “00000”.
It also shows the long division of reversed data stream
polynomial by reversed charactistics polynomial of LFSR.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Signature by Polynomial Division Multiple-Input Signature Register (MISR)
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Modular MISR Example Multiple Signature Checking
It implements the following equation system: Use two different testing epochs:
1 st with a MISR with one polynomial .
2 nd with MISR with different polynomial
Reduces probability of aliasing.
Unlikely that both polynomials will alias for the same fault. Low
hardware cost:
A few XOR gates for the 2nd MISR polynomial and 2-1 MUX
to select between two feedback polynomials
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• B1 B2 = “0 0”
• Dark lines show enabled data paths
Control Inputs Mode of Operation
B1B2
0 0 Serial scan chain
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BILBO LFSR Pattern Generator Mode BILBO in D FF (Normal) Mode
• B1 B2 = “0 1” • B1 B2 = “1 0”
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Test-Per-Scan BIST Systems Test-Per-Scan BIST Systems
• Each new set of faults that is tested requires one clock to • One problem in test-per-scan systems is that usually a new set
conduct the test and a series of shifts of the scan chain to of circuit input patterns is generated using a pseudo-random or
complete that test and read out all of the test results. exhaustive technique.
• Significantly more time required/test than test/clock. • However, because the input patterns are time shifted and
• Advantage: Judicious combination of scan chains and MISR repeated to the circuit through the scan chain, the patterns
reduces MISR bit width. become correlated.
• Disadvantage: Much longer test pattern set length, causes fault • Reduces the pattern effectiveness for fault detection, so very
simulation problems. frequently it is necessary to provide an input network of XOR
gates to phase shift the inputs and de-correlate them.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Alternative Test-per-scan Systems Circular Self-Test Path System
In the CSTP configuration, all primary inputs and primary
outputs are reconfigured as external scan cells.
They are connected to the internal scan cells to form a circular
path.
If the entire circular path has n scan cells, then it corresponds to a
MISR with characteristic polynomial f(x) = 1+xn.
During self-test, all primary inputs are connected as a shift
register, whereas all internal scan cells and primary outputs are
reconfigured as a MISR.
The MISR consists of a number of self-test cells connected in
series, where in self-test mode, each self-test cell takes as input
from an XOR gate output of input Yi and its previous scan cell
output Xi−1, as shown in Figure b.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• It is very important in random logic BIST to initialize all flip- • All such uninitializable flip-flops must then be initialized by
flops in the circuit when BIST is used with partial scan. adding master set or reset lines to them.
• Otherwise, X logic values in a 3-valued logic system will be • Another approach is to break all cycles (loops of flip-flops) in
clocked into the MISR. the circuit, and then apply a partial BIST pattern sequence that
synchronizes all flip-flops to a known state.
• In the real hardware, different chips will randomly initialize • Then, the response compacter can be turned on to compact the
their flip-flops to different values. circuit’s response.
• Initialization problems can be discovered by setting all flip- • If the BISTed circuit uses a full-scan chain, then it is important
flops initially to the X state, running the BIST cycle, and to initialize the flip-flops in scan mode before initiating BIST
simulating the system in a 3-valued logic simulator. • The initialization hardware significantly increases the chip
• If the MISR or other response compacter finishes the test area overhead of BIST.
session with bits in the X state, then initialization is not
correct.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Device Level BIST
• It is necessary to isolate the BIST circuitry and the circuit-under-test One possibility for isolation is to loop back circuit outputs into
from normal system data during testing. circuit inputs .
• Inputs to the CUT can be isolated by multiplexers (known as the A signal from outside the circuit indicates that the circuit should
Input MUX) or by blocking gates. perform a self-test.
• The Input MUX switches input to the CUT from the normal system The test controller sets a series of loop backs on the chip to allow
inputs (port 0) to the BIST pattern generator (port 1.) data to circulate through the VLSI chip and not interfere with
• When blocking gates, such as AND gates, are used, a constant ‘0’ the rest of the system.
would be applied to the second AND gate input, to block the normal
The BIST procedure would exercise each VLSI chip using the
system input arriving from the first AND gate input.
loopback circuit. Then, the boundary scan chain can be used to
• Most importantly, note that neither the Input MUX nor the blocking
test the interconnections between the VLSI chips
gate will be thoroughly tested by the BIST hardware.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Test points can be used to increase the circuit’s fault coverage Figure below shows an example where one control point and one
to a desired level. Figure shows two typical types of test observation point are inserted to increase the detection
points that can be inserted. probability of a six-input AND-gate.
• A control point can be connected to a primary input, an
existing scan cell output, or a dedicated scan cell output.
• An observation point can be connected to a primary output
through an additional multiplexer, an existing scan cell input,
or a dedicated scan cell input.
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Summary
By splitting the six-input AND gate into two fewer-input AND • Logic BIST system architecture:
gates and placing a control point and an observation point • Advantages: Higher fault coverage, At-speed test, Less system
between the two fewer input AND gates, we can increase the
test, field test & diagnosis cost
probability of detecting faults in the original six-input AND
gate (eg, output Y stuck-at-0 and any input Xi stuck-at-1), • Disadvantage: Higher hardware cost
thereby making the circuit more RP-testable. • BIST has overheads:
After the test points are inserted, the most difficult fault to detect • Input MUX, pattern generator, response compacter, test
is the bottom input of the four-input AND gate stuck-at-1. In controller, extra circuit delay, DFT to initialize circuit and test
that case, one of inputs X1,X2, and X3 must be 0, the control the test hardware
point must be 0, and all inputs X4X5, and X6 must be 1, • Architectures: BILBO, test / clock, test / scan.
resulting in a detection probability of 7/128=(
7/8×1/2×1/2×1/2×1/2) • LFSR pattern generator and MISR response compacter –
preferred BIST methods
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Summary