Ilovepdf Merged
Ilovepdf Merged
1994
Prof. Thomas Nicely reports bug in Pentium
Restoring Division
Logic error not caught until > 1M units shipped
Recall cost $450M (!!!)
1997-2000
All major micro-processor manufacturers adopt
formal verification.
Verification Testing
➢ Verifies correctness of design. ➢ Verifies correctness of manufactured hardware.
➢ Performed by simulation, hardware ➢ Test generation: software process executed
emulation, or formal methods. once during design
➢ Performed prior to manufacturing. ➢ Test application: electrical tests applied to
➢ Responsible for quality of design. hardware on every manufactured device.
➢ No limit on number of test points/test ➢ Responsible for quality of devices.
vectors ➢ Limited on number of test points/test vectors
based on the I/O pins
Not Logic
Verification.
Testing is done for
faults in
fabrication.
GDS-II
Testing
Technology specific
Power, Performance
and Area (PPA) Goal 4
RTL to gate-level netlist conversion is done using our synthesis tool called Genus.
Synthesized netlist can be imported using Cadence Composer
r0 gnt0
gnt1
r1
ClK
r0 g0
r1 g1
g1
g0 g1
14
15
1.Static Verification
2.Functional Simulation
17
DFTT
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=1 18
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=1
19
Wafer Sort is a process where a die is tested electrically while still in wafer form.
Wafer Sort process done with the presence of equipment called wafer prober and Tester.
21
2. Parametric Tests
➢ DC parametric tests include shorts test, opens test, maximum current test, leakage test,
output drive current test, and threshold levels test.
➢ AC parametric tests include propagation delay test, setup and hold test, functional
speed test, access time test, refresh and pause time test, and rise and fall time test.
3. Functional Tests.
➢ These consist of the input vectors and the corresponding responses. They check for proper
operation of a verified design by testing the internal chip nodes.
➢ Functional tests cover a very high percentage of modeled (e.g., stuck type) faults in logic
circuits and their generation is the main topic of this course.
22
23
24
https://www.semiconductoronline.com/doc/shmooplot-0001
25
1. Fixed Costs (FC): These are the costs of things that are necessary but do not change with
use. Example machinery. Fixed cost per product reduces with increase in product output.
2. Variable Costs (VC): These costs increase with production output. E.g., Labor, raw
material energy etc. Variable cost per product may remain constant reduces with increase in
product output.
4. Average Cost : These are obtained by dividing the total costs by the number of units
produced.
26
27
The average product, or the product per unit of input, is called the technological
efficiency. We maximize this efficiency by setting:
28
29
(2) Specialization.
32
Benefit-Cost Analysis
Benefits include income from sale of products or services, savings in cost and
time, etc. Costs refer to the costs of labor, machinery, energy, finances, risks, etc.
All items are normally quantified and expressed in the same units (e.g., dollars.)
We then define the benefit-cost ratio as follows:
For buying a car, the benefits could include convenient transportation to work or school and
saving time.
33
It is widely accepted in the electronics industry that chips must be tested before they are
assembled onto printed circuit boards (PCBs), which, in turn, must be tested before they are
assembled into systems. This is because experience has shown that the rule of ten holds. If a
chip fault is not caught by chip testing, then finding the fault costs 10 times as much at the
PCB level as at the chip level. Similarly, if a board fault is not caught by PCB testing, then
finding the fault costs 10 times as much at the system level as at the board level.
34
Yield The process yield of a manufacturing process is defined as the fraction (or
percentage) of acceptable parts among all parts that are fabricated.
The term wafer yield is sometimes used to refer to the average number of good
chips produced per wafer.
35
A good testing procedure can reject all (or most) defective parts. Testing, however, cannot
improve the process yield. There are two ways of improving the process
yield:
(1) Diagnosis and Repair. The parts that are found defective after test are diagnosed for
specific failures which are then repaired. Although the yield is improved, this procedure
increases the cost of manufacturing. The reason is that we first allow the process to make
errors which are then corrected. A more economical procedure is to eliminate the source
errors. (Fault Tolerant Design).
(2) Process Diagnosis and Correction. The defects found in the failed parts are
traced to specific causes, which may be defective material, faulty machines,
incorrect human procedures, etc. Once the cause is eliminated, the yield
improves. Process diagnosis is the preferred method of yield improvement.
36
Process variations, such as impurities in wafer material and chemicals, dust particles on
masks or in the projection system, mask misalignment, incorrect temperature control, etc.,
can produce defects on wafers. The term defect generally refers to a physical imperfection
in the processed wafer
The term fault is used to refer to electrical, Boolean, or The term fault is used to refer to
electrical, Boolean, or functional malfunctions functional malfunctions.
In general, a physical defect in a chip can produce multiple faults. Thus, the spatial
distribution of faults on a wafer is also clustered, sometimes even more so than the defects.
37
System DPM
Chip DPM X Number of chips in the system
E.g.
If system has 10 Chips and Chip has DPM of 1000 (0.1% IC is defective)
System DPM = 1%
If 1 Million system is manufactured 10,000 will be defective
38
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=2
39
𝑑
𝐹𝐶 = , 𝑤ℎ𝑒𝑟𝑒 𝑑 𝑖𝑠 𝑓𝑎𝑢𝑙𝑡𝑠 𝑑𝑒𝑡𝑒𝑐𝑡𝑒𝑑 𝑎𝑛𝑑 𝑡 𝑖𝑠 𝑡𝑜𝑡𝑎𝑙 𝑓𝑎𝑢𝑙𝑡𝑠
𝑡
𝑑
𝑡 1− 𝑡
𝐹𝑟𝑎𝑐𝑡𝑖𝑜𝑛 𝑜𝑓 𝐺𝑜𝑜𝑑 𝐼𝐶 𝑝𝑎𝑠𝑠𝑖𝑛𝑔 𝑡𝑒𝑠𝑡 = (1 − 𝑞)𝑡−𝑑 = (1 − 𝑞) = 𝑌 (1−𝐹𝐶)
In the Williams-Brown model, dies are assumed to have equal faults to model the impact
of actual defects.
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=2
40
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=2
41
https://www.youtube.com/watch?v=yfcoKOUV5DM&list=PLvd8d-SyI7hjk_Ci0zpTqImAtpEjdK5JF&index=2
42
1. “Essentials of Electronic Testing, for Digital, Memory and Mixed-Signal VLSI Circuits”,
Michael L. Bushnell and Vishwani D. Agrawal, Kluwer Academic Publishers (2000).
43
3. Structural Faults: The structure of a circuit may refer to its topology or to physical
geometry. Examples of structural faults are single stuck-at faults and bridging faults.
Focus is on manufacturing defects not functional aspect of DUT.
10
11
𝐾 = 𝐴ҧ𝐵𝐶 ҧ 𝐶ҧ + 𝐴𝐵𝐶
ത + 𝐴𝐵 ҧ
𝐾 = 𝐴(ҧ 𝐵𝐶 ҧ
ത + 𝐵 𝐶+𝐵𝐶)
ҧ + 𝐶)
𝐾 = 𝐴(𝐵
𝐾 = 𝐴 + (𝐵 + 𝐶)
12
13
Different
Algorithms
Hughes, J.L.A., and E.J. McCluskey, “An Analysis of the Multiple Fault Detection Capabilities of
Single Stuck-at Fault Test Sets,” Proc. of Int’l Test Conf, Philadelphia, PA, Oct. 1984, pp. 52–58.
14
1
0(1)
0(1)
SA0
15
SA1
1(0)
1
0(1)
SA0
What should be the test vector ? 010 detects the MSF {c SA0, a SA1}.
16
Test Vectors for Input and Output Stuck-at Faults cover Input-to-Output Shorts
17
Test Vectors for Input and Output Stuck-at Faults cover Input-to-Output Shorts
18
High Resistance Bridges do not affect the logic value, and hence are undetectable by a
static logic test.
19
[Millman 88] S.D. Millman, McCluskey, “Detecting bridging faults with stuck-at test sets,”
ITC 1988.
21
Delay Fault
Slow to rise (STR), slow to fall Transition (STF), faults due to Vt Variation, Doing
Variation, Improper contacts etc
No fault detected at static and low frequency operation but glitches can be there at
high operating frequencies and cause errors in sequential circuits
Delay Faults requires two test vectors 22
Can be modelled a RC delay but can be because of poor MOSFET being fabricated
or nay other fab defects .
23
24
26
AND3 Check : A=0 , Will render Both AND1 and AND 3 to Low
A=1, B=0 will activate AND2 and B=0 will activate AND 14
27
29
OS
Two types of Transistor Faults
http://ece-research.unm.edu/jimp/vlsi_test/slides/html/faults2.html
30
31
33
3X1 Mux
Hapke, Friedrich & Redemund, Wilfried & Glowatz, Andreas & Rajski, Janusz & Reese, M. & Hustava, Marek
& Keim, Martin & Schlöffel, Jürgen & Fast, Anja. (2014). Cell-Aware Test. Computer-Aided Design of
Integrated Circuits and Systems, IEEE Transactions on. 33. 1396-1409. 10.1109/TCAD.2014.2323216.
36
3X1 Mux
Hapke, Friedrich & Redemund, Wilfried & Glowatz, Andreas & Rajski, Janusz & Reese, M. & Hustava, Marek
& Keim, Martin & Schlöffel, Jürgen & Fast, Anja. (2014). Cell-Aware Test. Computer-Aided Design of
Integrated Circuits and Systems, IEEE Transactions on. 33. 1396-1409. 10.1109/TCAD.2014.2323216.
37
Hapke, Friedrich & Redemund, Wilfried & Glowatz, Andreas & Rajski, Janusz & Reese, M. & Hustava, Marek
& Keim, Martin & Schlöffel, Jürgen & Fast, Anja. (2014). Cell-Aware Test. Computer-Aided Design of
Integrated Circuits and Systems, IEEE Transactions on. 33. 1396-1409. 10.1109/TCAD.2014.2323216.
38
3. http://ece-research.unm.edu/jimp/vlsi_test/slides/html/faults2.html
39
𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛𝑎𝑙 𝑇𝑒𝑠𝑡
𝑇𝑒𝑠𝑡 𝑉𝑒𝑐𝑡𝑜𝑡𝑠 2129 = 6.8 ∗ 1038
𝑅𝑒𝑞𝑢𝑖𝑟𝑒𝑑 𝑡𝑖𝑚𝑒 𝑤𝑖𝑡ℎ 𝐶𝑙𝑜𝑐𝑘 𝑜𝑓 1 𝐺𝐻𝑧 ≈ 22 𝑦𝑒𝑎𝑟𝑠
8/6/2023 6
X3 =1
8/6/2023 7
G5
G4 >> G5>> z
8/6/2023 8
8/6/2023 9
8/6/2023 10
Complete detection test set: A set of tests that detect any detectable faults
in a class of faults
8/6/2023 11
1. Two faults of a Boolean circuit are called equivalent iff they transform the circuit
such that the two faulty circuits have identical output functions.
8/6/2023 12
Input Output
A B Good A/0 B/0 C/0 A/1 B/1 C/1
0 0 0 0 0 0 1 1 1
0 1 1 1 0 0 1 1 1
1 0 1 0 0 0 1 1 1
1 1 1 1 1 0 1 1 1
8/6/2023 13
Input Output
A B Good A/0 B/0 C/0 A/1 B/1 C/1
0 0 1 1 1 0 1 1 1
0 1 1 1 1 0 0 1 1
1 0 1 1 1 0 0 0 1
1 1 0 1 1 0 1 1 1
8/6/2023 14
Input Output
Good in/0 in/1 out/0 out/1
0 1 1 0 0 1
1 0 1 0 0 1
8/6/2023 15
8/6/2023 16
8/6/2023 17
8/6/2023 18
8/6/2023 19
Example:
E/0 is equivalent to F/0
but not equivalent to L/0
The other faults are NOT equivalent
8/6/2023 20
8/6/2023 21
For F1 sa1
01
8/6/2023 23
g
f
𝒇↔ 𝒈↔𝒉 𝒇→ 𝒈→𝒉
8/6/2023 25
If this is passed
obviously C is
not Sa0
Input Output
A B Good A/0 B/0 C/0 A/1 B/1 C/1
0 0 1 1 1 0 1 1 1
0 1 1 1 1 0 0 1 1
If this is
1 0 1 1 1 0 1 0 1
passed
1 1 0 1 1 0 0 0 1 obviously A
and B are is
not Sa0
8/6/2023 26
→ DFC 7 faults
8/6/2023 28
→ DFC 7 faults
8/6/2023 29
Checkpoint theorem: “A test set that detects all single (multiple) stuck-at
faults on all checkpoints of a combinational circuit, also detects all single
(multiple) stuck-at faults in that circuit.”
8/6/2023 30
DFC has issues in sequential circuits and EFC is most preferred technique
for ATPG
True-value means that the simulator will compute the response for given input stimuli without
injecting any faults in the design. The input stimuli are also based on the specification.
A frequently used strategy is to exercise all functions with only critical data patterns. This is
because the simulation of the exhaustive set of data patterns can be too expensive
8/6/2023 34
Simulation is used in this way for verifying very large electronic systems.
The weakness of this method is its dependence on the designer’s heuristics used
in generating the input stimuli.
8/6/2023 35
Note: This optimization is possible because of same blocks (FA) being used
8/6/2023
and each test vector verifying similar faults in all blocks 36
8/6/2023 37
8/6/2023 38
39
True-value means that the simulator will compute the response for given input stimuli without
injecting any faults in the design. The input stimuli are also based on the specification.
A frequently used strategy is to exercise all functions with only critical data patterns. This is
because the simulation of the exhaustive set of data patterns can be too expensive
8/13/2023 2
8/13/2023 3
Simulation is used in this way for verifying very large electronic systems.
The weakness of this method is its dependence on the designer’s heuristics used
in generating the input stimuli.
8/13/2023 4
Note: This optimization is possible because of same blocks (FA) being used
8/13/2023
and each test vector verifying similar faults in all blocks 5
8/13/2023 6
8/13/2023 7
8/13/2023 8
endmodule
8/13/2023 9
8/13/2023 10
This is the lowest level and represents the ultimate in accuracy for the simulation of
electronic systems. The circuit is assumed to be composed of electrical elements such
as resistors, capacitors, inductors, and transistors. Equations relating branch or loop
currents and node voltages are developed and solved by numerical methods
8/13/2023 11
8/13/2023 12
If both control inputs are turned on, If both control inputs are turned on, as,
Results in High Currents the 1 input will dominate.
8/13/2023 13
8/13/2023 14
Z = ABCD
module Sample (
input A, B, C, D,
output Z,
inout w1, w2, w3 );
and g1(w1,A,B);
and g2 (w2, C,D);
and g3 (Z,w1,w3);
endmodule
15
Z = ABCD
initial begin
A = 0;
B = 0;
C = 0;
D = 0;
#10;
A = 1;
B = 1;
C = 1;
D = 1;
#10;
$finish;
end
16
Z = ABCD
Z = AB+CD
module Sample (
input A, B, C, D,
output Z,
inout w1, w2, w3 );
and g1(w1,A,B);
and g2 (w2, C,D);
or g3 (Z,w1,w3);
endmodule
18
Z = AB+CD
initial begin
A = 0;
B = 0;
C = 0;
D = 0;
#10;
A = 1;
B = 1;
C = 1;
D = 1;
#10;
$finish;
end
19
module mux_2_1(
input sel,
input i0, i1,
output y);
assign y = sel ? i1 : i0;
endmodule
21
module tristate_buffer(
input x,
input enable,
output y);
assign y = enable? x : 'bz;
endmodule
22
module Mux_using_buffer
(input x1,x2,s1,s2,
output y);
tristate_buffer g1 (x1,s1,y);
tristate_buffer g2 (x2,s2,y);
endmodule
23
24
25
Simulation
Testing
26
27
28
29
30
1. Circuit Simplification
2. Circuit Levelized
3. Signals are treated as variables in the code
4. For every input vector, the code is repeatedly executed until all variables
have attained steady values
5. Compiled-code simulators are very effective where two-state (0,1)
simulation suffices
6. Timing are not modeled in a compiled-code simulator
31
Circuit Simplification
33
34
35
36
Zero delay
Nominal delay Event-driven Faster then CC
Data structure
It is based on the recognition that any signal change (event) must have
a cause, which is also an event. Thus, an event causes new events, which in turn may
cause more events. An event-driven simulator follows the path of events.
Gates whose inputs now have events are called active and are placed in
an activity list. The simulation proceeds by removing a gate from the activity list
and evaluating it to determine whether its output has an event.
38
39
G3 taken
as 1
G2 taken
as 1
G2 taken
as 0
42
43
Netlist
Fault Statistics
Collapsed fault list Fault Simulator
A0, A1, B0…
8/20/2023 2
SPJ is a lengthy process needs to be done for fault separately, but we can get 100% fault
coverage of detectable faults.
8/20/2023 3
90
80
70
% Fault Coverage
60
50
40
30
20
10
0
0 20 40 60 80 100 120 140 160 180 200
RTP is a very fast process, detects multiple faults in each run, but we may not get 100%
fault coverage of detectable faults.
8/20/2023 4
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 . The same vectors are applied to all blocks and the outputs
of the faulty circuits are compared in the comparators shown as Comp. Event Driven can
save time as one circuit to other not much change
When fault fn is detected for the first time by vector 35, the simulation of block C(fn) is
suspended beyond that vector. This procedure, known as fault dropping, considerably speeds
up the fault simulation process .
8/20/2023 5
Fault dropping considerably speeds up the fault simulation process . Max time for Algorithm
is M(n+1), M is max total test vectors of each block, n is number of faults. While testing only n
vectors max required, Algorithm finds those n vectors. Could be less than n as multiple faults
can be detected by a same vector.
8/20/2023 6
MZ M0
Fault Free 1 0
S-a-1 X 1
S-a-0 0 0
𝒁′ = 𝒁&𝑴𝒁 |𝑴𝟎
Each faut site to be modeled as above and in test bench values of MZ and M0 are be set
for different runs
8/20/2023 7
8/20/2023 8
8/20/2023 9
Advantages:
Easy to implement
Ability to handle a wide range of fault models (stuck-at, delay, Br, …)
Very fast combinational simulation
Disadvantages:
Many simulation runs required
CPU time prohibitive for VLSI circuits
8/20/2023 10
8/20/2023 11
1 1 1 1
1 W5 1 0 1 0
s-a-0 s-a-0
1
W1 1 0 1 0
1 1 1 0 1 0 1 0 W6
O2
s-a-1
W4 0 0 1 0
1 1 1 0 0 0 1 1
https://www.youtube.com/watch?v=eLUhlph4VCQ
8/20/2023 12
Advantages:
A large number of faults are detected by each pattern when simulating the
beginning of test sequence.
„ isadvantages:
D
Only applicable to the unit or zero delay models
Faults cannot be dropped unless all (w-1) faults are detected
8/20/2023 13
All signal values in each faulty circuit are deduced from the fault-free
circuit values and the circuit structure. Since the circuit structure is the same
for all faulty circuits, all deductions are carried out simultaneously. Thus, a
deductive fault simulator processes all faults in a single pass of true-value
simulation augmented with the deductive procedures. This gives the deductive
simulators a tremendous speed, but only when the modeling conditions can be
satisfied.
https://www.youtube.com/watch?v=zTLI2i69tKQ
8/20/2023 14
1 c 0/1
e 0/1
b
Lb=[b0] Le=[a1, c1, e1]
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
https://www.youtube.com/watch?v=zTLI2i69tKQ
8/20/2023 15
0 c 0/1
e 0/1
b
Lb=[b1] Le=[b1, c1, e1]
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 0 0 (𝐿𝑏 ∩ 𝐿𝑎) ∪ 𝑐1
https://www.youtube.com/watch?v=zTLI2i69tKQ
8/20/2023 16
0 c 0/1
e 0/1
b
Lb=[b1] Le=[La.Lb ,c1, e1]
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 0 0 (𝐿𝑏 ∩ 𝐿𝑎) ∪ 𝑐1
AND 0 0 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
8/20/2023 https://www.youtube.com/watch?v=zTLI2i69tKQ 17
1 c 1/0
e 1/0
b
Lb=[b0] Le=[a0, bo, co, d0]
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 0 0 (𝐿𝑏 ∩ 𝐿𝑎) ∪ 𝑐1
AND 0 0 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 1 1 (𝐿𝑎 ∪ 𝐿𝑏) ∪ 𝑐0
8/20/2023 https://www.youtube.com/watch?v=zTLI2i69tKQ 18
1 c 1/0
e 1/0
b
Lb=[b0] Le=[a0, bo, co, d0]
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 a1, c1
AND 1 0 0 b1, c1
AND 0 0 0 c1
AND 1 1 1 a0, b0, c0
8/20/2023 https://www.youtube.com/watch?v=zTLI2i69tKQ 19
0 c 0/1
b
Lb=[a1]
8/20/2023 20
Lb=[a1, b0]
La=[a1] Lc=[b0, c1]
0
b 1/0
c 0/1
La=[a1]
0
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 0 0 (𝐿𝑏 ∩ 𝐿𝑎) ∪ 𝑐1
AND 0 0 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 1 1 (𝐿𝑎 ∪ 𝐿𝑏) ∪ 𝑐0
8/20/2023 21
Lb=[a0, b1]
La=[a0] Lc=[ao,b1, c1]
1
b 0/1
c 0/1
La=[a0]
1
Inputs Output
Gate Type a b c O/P Fault List
AND 0 1 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 0 0 (𝐿𝑏 ∩ 𝐿𝑎) ∪ 𝑐1
AND 0 0 0 (𝐿𝑎 ∩ 𝐿𝑏) ∪ 𝑐1
AND 1 1 1 (𝐿𝑎 ∪ 𝐿𝑏) ∪ 𝑐0
8/20/2023 22
Single Vector Simulation will give what are the faults which can
be detected and what should be the correct expected result.
8/20/2023 23
8/20/2023 24
Advantages:
Very efficient
Simulate all faults in one pass
Disadvantages:
Not easy to handle unknowns
Only for zero-delay timing model Potential
memory management problem
8/20/2023 25
✓ ✓ ✓ ✓
8/20/2023
Good event
Events that happen in good circuit
Affect both good gates and bad gates
Bad event
Events that occur in the faulty circuit of corresponding fault
Affect only bad gates
Diverge
Addition of new bad gates
Converge
Removal of bad gates whose I/O signals are the same as corresponding good gates
8/20/2023
8/20/2023 29
Not Computed
data from previous
simulation retained
8/20/2023 30
8/20/2023 31
Advantages
Efficient
Faults can be simulated in any modeling style or detail supported in true-
value simulation (offers most flexibility.)
Faster than other methods
Disadvantages
Potential memory problem
Size of the concurrent fault list changes at run time
8/20/2023 32
Speed
Serial fault simulation: slowest
Parallel fault simulation: O(n3), n: num of gates
Deductive fault simulation: O(n2)
Concurrent fault is faster than deductive fault simulation
Memory usage
Serial fault simulation, parallel fault simulation: no problem
Deductive fault simulation: dynamic allocate memory and hard to predict size
Concurrent fault simulation: more severe than deductive fault simulation
8/20/2023 33
In Roth’s D-calculus D = (1,0) and D’=(0,1). D algebra will be covered in subsequent classes.
8/20/2023 34
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
35
Netlist
8/27/2023 2
We need an algorithm to find which are difficult fouls to detect using random sequence of
Test vectors to apply Sensitization , Propagation and Justification
8/27/2023 3
1
𝐶𝐶1 =
4
3
𝐶𝐶0 =
4
1 How difficult to
𝐶𝐶1 = 1
detect sa1 32 ∗ 4
3
4
Inefficient Algorithm
8/27/2023 4
SCOAP consists of six numerical measures for each signal (l) in the circuit:
1. Combinational 0-controllability, CC0(l)
2. Combinational 1-controllability, CC1(l)
3. Combinational observability, CO(l)
4. Sequential 0-controllability, SC0(l)
5. Sequential 1-controllability, SC1(l)
6. Sequential observability, SO(l)
8/27/2023 5
1. Set the difficulty of controlling each primary input (PI) to 0 (called CC0) to the
value 1 and the difficulty of controlling each PI to 1 (called CC1) to the value 1.
(ii) If a logic gate output can only be produced by setting all inputs to a
non-controlling value, then:
8/27/2023 6
8/27/2023 7
8/27/2023 8
8/27/2023 9
(1, 1)
(2, 3)
(1, 1) (1, 1)
(3, 6)
(1, 1) (2, 2)
8/27/2023 10
(1, 1) (1, 1) X
Y
(3, 6)
(1, 1) (2, 2)
8/27/2023 11
(1, 1) (1, 1) X
Y
(3, 6)
(1, 1) (2, 2)
(CC0, CC1)
(1, 1)
(2, 3)
(1, 1) (1, 1) X
Y
(3, 6)
(1, 1) (2, 2)
(CC0, CC1)
(1, 1) 5
(2, 3) 0+2+1=3
(1, 1) (1, 1) 5 X
Y
(3, 6) 0
(1, 1) 5 (2, 2)
0+3+1=4
To check sa1 here
difficulty level 2+4
8/27/2023 14
8/27/2023 15
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
16
Lecture 6B:
Introduction to Automatic Test Pattern
Generation
https://www.infratec.eu/thermography/thermography-on-the-trail-of-the-fault/
8/27/2023 2
Netlist
ATPG
8/27/2023 3
The first seven vectors cover all stuck-at faults. One may, therefore, use only the
first seven vectors in the manufacturing test.
Possible only for Modular Structures.
8/27/2023 5
The circuit is partitioned into cones of logic, each with 15 or fewer inputs. We can then
perform exhaustive test-pattern generation for each cone.
However, those faults that require multiple cones to be activated in a synergistic way
during testing may not be tested.
Vast changes in compute time, depending on the order in which circuit PIs are
expanded in the BDD
8/27/2023 6
8/27/2023 7
𝐹 = 𝐴𝐵 + 𝐵𝐶 + 𝐶𝐴
𝐹 = 𝐴ҧ 𝐵𝐶 + 𝐴 𝐵 + 𝐶 + 𝐵𝐶 𝑆ℎ𝑎𝑛𝑜𝑛
𝐹 = 𝐴ҧ 𝐵𝐶 + 𝐴 𝐵 + 𝐶
𝐹𝑔 = 𝐵𝐶⨁ 𝐵 + 𝐶 =1
𝑇𝑒𝑠𝑡 𝑣𝑒𝑐𝑡𝑜𝑟(𝑏, 𝑐) = 1,0 , 0,1 S-a-0 at A
𝛿𝐹 𝐴𝐵 + 𝐵𝐶 + 𝐶𝐴
𝐵𝑜𝑜𝑙𝑒𝑎𝑛 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒, 𝑜𝑟 𝐵𝑜𝑜𝑙𝑒𝑎𝑛 𝑝𝑎𝑟𝑡𝑖𝑎𝑙 𝑑𝑒𝑟𝑖𝑣𝑎𝑡𝑖𝑣𝑒 =
𝛿𝐴 𝛿𝐴
𝛿𝐹 (𝐴𝐵+𝐶𝐴)
= 𝐵𝐶 = 𝐵𝐶 𝐵 + 𝐶 = (𝐵ത + 𝐶)ҧ 𝐵 + 𝐶 = 𝐵𝐶
ത + 𝐵 𝐶ҧ
𝛿𝐴 𝛿𝐴
𝐹 = 𝐴𝐵 + 𝐵𝐶 + 𝐶𝐴
𝐹 = 𝐴ҧ 𝐵𝐶 + 𝐴 𝐵 + 𝐶 + 𝐵𝐶 𝑆ℎ𝑎𝑛𝑜𝑛
𝐹 = 𝐴ҧ 𝐵𝐶 + 𝐴 𝐵 + 𝐶
𝐹𝑔 = 𝐵𝐶⨁ 𝐵 + 𝐶 =1
𝑇𝑒𝑠𝑡 𝑣𝑒𝑐𝑡𝑜𝑟(𝑏, 𝑐) = 1,0 , 0,1 S-a-0 at A
BC BC BC
00 01 11 10 00 01 11 10 00 01 11 10
0 0 1 1 1 0 0 0 1 0 0 0 1 0 1
A A A
1 0 0 1 0 1 0 1 1 1 1 0 1 0 1
ҧ + 𝐵𝐶 + 𝐶 𝐴ҧ
𝐹 = 𝐴𝐵 𝐹 = 𝐴𝐵 + 𝐵𝐶 + 𝐶𝐴
8/27/2023 9
𝐹𝑔 = 𝐶⨁ 𝐵 + 𝐶 =1
𝑇𝑒𝑠𝑡 𝑣𝑒𝑐𝑡𝑜𝑟(𝑏, 𝑐) = 1,0 S-a-0 at A
𝛿𝐹 𝛿(𝐴𝐵 + 𝐶)
= ҧ
= 𝐶𝐵
𝛿𝐴 𝛿𝐴
BC BC BC
00 01 11 10 00 01 11 10 00 01 11 10
0 0 1 1 1 0 0 1 1 0 0 0 0 0 1
A A A
1 0 1 1 0 1 0 1 1 1 1 0 0 0 1
ҧ +𝐶
𝐹 = 𝐴𝐵 𝐹 = 𝐴𝐵 + 𝐶
8/27/2023 10
0 d 0/1
1 c 0/1
e 0/1
8/27/2023 11
8/27/2023 12
8/27/2023 13
D D D
𝟎 𝑫 𝑫
0 1 D
ഥ
𝑫 ഥ
𝑫 ഥ
𝑫
𝟎 ഥ
𝑫 ഥ
𝑫
0 1 ഥ
𝑫
X X 𝟎
𝑿
1 0
8/27/2023 14
8/27/2023 15
1 1
1
Combinational ATPG algorithms provide a major side benefit. They can determine when
the circuit has unnecessary, or redundant, hardware.
In combinational circuits untestable faults indicate redundant hardware.
In testing, one can remove redundant hardware and the circuit will still function exactly
the same way as before.
8/27/2023 17
8/27/2023 18
19
20
0 1
1
D D
8/27/2023 21
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
22
Lecture 07:
Automatic Test Pattern Generation for
Combinational Circuits
Roth’s D-Algorithm (D-ALG) , established the calculus and algorithms for ATPG using
D-cubes.
The next development was Goel’s PODEM algorithm. He efficiently used path
propagation constraints to limit the ATPG algorithm search space, and introduced the
notion of backtrace.
The third significant development was Fujiwara and Shimono’s FAN algorithm . They
efficiently constrained the backtrace to speed up search, and took advantage of signal
information to limit the search space.
9/3/2023 2
BC BC
00 01 11 10 00 01 11 10
0 0 1 1 0 0 0 1 1 0
A A
1 0 0 1 1 1 0 0 1 1
9/3/2023 3
Definition 1. The singular cover of a logic gate is the minimal set of input signal
assignments needed to represent essential prime implicants in the Karnaugh map of that
logic gate, for both output cases of 0 and 1.
9/3/2023 4
Definition 2. The D-frontier consists of all gates whose output value is currently x but have
one or more error signals (either D’s or D’s) on their inputs. Error propagation consists of
selecting one gate from the D-frontier and assigning values to the unspecified gate inputs so
that the gate output becomes D or D. This procedure is also referred to as the D-drive
operation. If the D-frontier becomes empty during the execution of the algorithm, then no
error can be propagated to a PO. Thus an empty D-frontier shows that backtracking should
occur.
D
sa0
9/3/2023 5
Definition 3. The Unique D-frontier. There is only one gate in the D-frontier and the fault
needs to be propagated through it.
D D
D
X
sa0 0
9/3/2023 6
D D
D
D
sa0 0
9/3/2023 7
1
D
D D
sa0 0
9/3/2023 8
Definition 5. A Propagation D-cube is a collapsed truth table entry that can be used to
characterize an arbitrary logic block..
9/3/2023 9
Definition 6. Primitive D-cubes of failure (PDCF) model faults in a logic circuit, and can
model any (1) stuck-at-0 fault, (2) stuck-at-1 fault, (3) bridging fault (short
circuit), or (4) arbitrary change in logic gate function (e.g., from AND to OR.)
9/3/2023 10
Definition 7. Forward implication results when the inputs to a logic gate are significantly
labeled so that the output can be uniquely determined. Gate is removed from D-frontier List
9/3/2023 11
Definition 8. Backward implication is the unique determination of all inputs of a gate for
given output and possibly some of the inputs.. Gate is removed from J-frontier List
9/3/2023 12
Procedure.
9/3/2023 13
Step A B C E F H G1 G2 G3 G4 G5 G6
1. Choose a fault. 1 1 X X X X D X X X X X PCDF G1
Sa0 at G1. DF{G3}
2. Forward 1 1 X X X X D 0 D X X X JF{G2}
Implication DF{G5. G6}
3. Forward 1 1 X X X X D 0 D 0 D X JF{G2, G4}
Implication
Choose G5
4. Backward 1 1 X 0 X X D 0 D 0 D X JF{G2}
Implication
5.Backward 1 1 1 0 X X D 0 D 0 D X Done
9/3/2023 14
Step 1 2 3 4 5 6 7 8 9 10 11 12
1. Choose a fault. X 1 1 X X D’ X X X X X X PCDF G2
Sa0 at G2. DF{G5,G6}
2. Choose G5. 1 1 1 X X D’ X X D X X X DF{G8}
Forward Implication
3. Forward 1 1 1 X X D’ X 1 D 1 1 D’ JF{G4, G6,G7}
Implication.
4.Backward 1 1 1 0 0 D’ 0 1 D 1 1 D’ JF{G1, G3}
Implication
5.Backward 1 1 1 0 0 D’ 0 1 D D 1 X Contention for G7
Implication
9/3/2023 1 16
Step 1 2 3 4 5 6 7 8 9 10 11 12
1. Choose a fault. X 1 1 X X D’ X X X X X X PCDF G2
Sa0 at G2. DF{G5,G6}
6. Choose G5 & G6 1 1 1 1 X D’ X X D D X X DF{G8}
7. Forward 1 1 1 1 X D’ X 1 D D 1 D’ JF{G4, G7}
Implication.
8.Backward 1 1 1 1 0 D’ 0 1 D D 1 D’
Implication
9/3/2023 17
Advantage
Disadvantage
1. Internal nodes are also assigned values hence the search space is large
2. Does not help in choosing best D-Frontier and relies on back tracking
9/3/2023 18
9/3/2023 19
G4
G5
1
D
G1 sa0
1 D
G3
0 G6
G2
1
Minimum number of logic gates between the start of the path and any PO. Objectives were
selected by level to pick the easiest objective to achieve. After objectives were selected,
backtracing determined PI assignments to justify these objectives.
9/3/2023 20
The basic idea of PODEM is to limit the search space to primary inputs without
compromising the completeness. That is done by using the backtrace
9/3/2023 21
9/3/2023 22
Headlines. Fujiwara and Shimono developed the notion of headlines, which are points
where the circuit can be partitioned such that a cone of logic driven by PIs can be isolated
from the rest of the circuit by cutting a single line, called the headline. This means that
either a logic 0 or a logic 1 can be justified from the headline back to the circuit PIs.
9/3/2023 23
PODEM will make six backtraces to justify C=0. The first backtrace sets objectives of
B=1 and A=0 and finally assigns PI1 as 1. This process is laboriously repeated five more
times until we have PI2 =1, PI3 =1, PI4=1 PI5=1 and PI4=1 as internal node are not
assigned any value. This is happening because PODEM backtraces in a depth-first
fashion.
9/3/2023 24
9/3/2023 25
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
26
Lecture 08:
Testing of Sequential Circuits
Clk
pseudo-primary inputs (PPIs) or present state (PS)
9/10/2023 2
OS
NS
Clk
9/10/2023 3
1. The circuit contains internal memory whose state is not known at the beginning of the
test. The test must, therefore, initialize the circuit to a known state.
2. After test inputs are applied, the final state of the internal memories must be inferred
only indirectly from primary outputs. Only in special cases can the internal memory be
made controllable and observable for testing, sometimes at the cost of extra hardware
Thus, the test of a fault may be a sequence of several vectors that must be applied in the
specified order.
9/10/2023 4
9/10/2023 5
9/10/2023 6
9/10/2023 7
Assumptions
9/10/2023 8
OB
NS
Test vector to detect sa0 at a ? (1,X) puts “D with f2=1 it gets propagated to Z
9/10/2023 9
OS
NS
9/10/2023 10
OB
NS
9/10/2023 11
Definitions
1. Sequential Depth of FF
(a) Sequential Depth is one if O/P of FF controlled by Primary I/Ps
(b) Sequential Depth is n if O/P of FF controlled by Primary I/Ps and also by at least one
Sequential Depth n-1 FF
2. Sequential Circuit is Non-Cyclic there are no FFs whose I/P is dependant on its O/P
Cyclic
9/10/2023 12
Sa0
a b c F1 F2
T=0 X 0 1 X 1
9/10/2023 13
Sa0
D
a b c F1 F2
T=0 X 0 1 X 1
T=-1 X 1 X 1 X
9/10/2023
T=-2 1 X X X X 14
Sa0
b=1
a b c d e F1 F2
T=0 X 1 1 1 0 1 1
T=-1 1 1 X X X 1 X
T=-2 1 X X X X X X
9/10/2023 15
Sa0
9/10/2023 16
Test vector to detect sa1 at A ? A=0 puts D’ at A, But cannot initialise FF1 to 0
9/10/2023 18
Sa0
After Initialising FF to 0
Sa0
9/10/2023 20
Sa0
9/10/2023 21
Consider the fault Z s-a-0. For any input, the output will be X/0.
9/10/2023 22
Requires
FF1=1 and
FF2=1 as
initial state
the CLR input will set the circuit in state. Since the state is set on the application of
the clock after CLR becomes 1, this operation is called synchronous initialization
9/10/2023 23
Our discussion so far has focused on single-clock circuits. All flip-flops were
controlled by one clock, which was a primary input to the circuit. For test generation
this clock was modeled only implicitly. That is why many of our circuit diagrams
show flip-flops without clock signals. It was assumed that one input vector is applied
per clock cycle This approach provides simplicity to test generation. However, there is a loss
of generality.
9/10/2023 24
The logic in the shaded region in Figure is used for modeling the function of the
flipflop. Faults inside this logic are usually not modeled.
9/10/2023 25
In Phase 1 initialization vectors are generated. The purpose of these vectors is to bring
flipflops in the circuit to known states irrespective of their starting state.
Phase 2 begins with vectors that are either supplied by the designer or generated in Phase 1.
A fault list is generated in the conventional manner. For example, this list may
contain all single stuck faults or a subset of such faults. These faults are simulated
using a fault simulator. If the coverage is adequate, the test generation would stop.
Otherwise, tests are generated with all undetected faults as targets. In the initial
stages of test generation, the fault list is usually long and the objective of this phase
is to generate tests by concurrently targeting all undetected faults.
Phase 2, if the fault coverage has not reached the required level then Phase 3 is
initiated. In this phase, test vectors are generated for single faults targeted one at
a time.
9/10/2023 26
0
1
After simulation of a trial vector, the “trial cost” is computed as the number of flip-flops that are in the
unknown state. If the trial cost is lower than the current cost, then the trial vector is saved. If the trial cost
is zero, then the initialization phase is complete
9/10/2023 27
Phase 2: Concurrent fault detection. The initialization vectors may already have detected
some faults. Some others may have been activated but not detected. As a result, effects of
active faults will be present at internal nodes of the circuit. a suitable cost function is the
shortest distance to a primary output from any fault effect caused by the fault.
9/10/2023 28
Phase 2: Concurrent fault detection. The initialization vectors may already have detected
some faults. Some others may have been activated but not detected. As a result, effects of
active faults will be present at internal nodes of the circuit. a suitable cost function is the
shortest distance to a primary output from any fault effect caused by the fault.
Phase 2: Concurrent fault detection. The initialization vectors may already have detected
some faults. Some others may have been activated but not detected. As a result, effects of
active faults will be present at internal nodes of the circuit. a suitable cost function is the
shortest distance to a primary output from any fault effect caused by the fault.
When there are several undetected faults, cost is computed for each fault i for some
input vector and internal state. Similarly, the cost is obtained for a candidate trial
vector. A comparison of and determines whether to accept the candidate vector or
reject it. Since there can be several undetected faults, there are two lists of cost
functions instead of just two numbers. The search for tests should be guided by a
group of faults instead of a single target fault. One can devise simple rules to
determine the acceptance of a vector. For example, if the combined cost of
10% of the lowest-cost undetected faults is found to decrease, then the new vector
may be accepted.
9/10/2023 30
Dynamic Controllability
9/10/2023 31
Dynamic Controllability
9/10/2023 32
Dynamic Observability
9/10/2023 33
9/10/2023 34
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
35
Lecture 09:
Testing of Memory
10/1/2023 2
2. Static Random Access Memory (SRAM) has the fastest possible speed, with a 2 ns
access time. Bits are stored in cross-coupled latches, and the memory need not be refreshed.
3. Cache DRAM (CDRAM) combines both SRAM and DRAM on the same chip, in order
to accelerate block transfer between the SRAM cache and the slow DRAM.
10/1/2023 3
10/1/2023 4
10/1/2023 5
➢ Whole Chip not discarded for a single fault. Fault detecting and correction
➢ Static faults
➢ Dynamic Fault
10/1/2023 6
➢ Stuck-at faults
➢ Transition faults
➢ Coupling faults
10/1/2023 7
2.
10/1/2023 8
10/1/2023 9
10/1/2023 11
10/1/2023 13
10/1/2023 14
10/1/2023 15
6.
10/1/2023 16
6.
6.1 Active NPSF (ANPSF) [645] (also called dynamic), the base cell changes due to a
change in the pattern of the deleted neighborhood. One deleted neighborhood cell has a
transition, while the rest of the neighborhood (including the base cell) has a given pattern.
6.2 Passive NPSF (PNPSF) means that a certain neighborhood pattern prevents the base
cell from changing
10/1/2023 17
10/1/2023 18
10/1/2023 19
10/1/2023 20
10/1/2023 21
10/1/2023 22
10/1/2023 23
10/1/2023 24
10/1/2023 25
Gets detected as r0 is
done before wo
10/1/2023 26
Assumptions. We always assume that read operations of memory cells are fault-free in the
NPSF testing algorithms
1.There are two different possible values for the base cell (0 and 1),
2. k – 1 ways of choosing the deleted neighborhood cell which must undergo one of two
possible transitions
3. 2k-2 possibilities for the remaining neighborhood cell
4. The total number of active neighborhood patterns
2 states
of base
states of cell
cell
not under
Two transitions of transition
the selected
One cell selected neighbouring cell
at time for For each of the deleted neighborhood patterns, the two
transition possible transitions and must be verified .
10/1/2023 27
10/1/2023 28
29
Tiling Method. The tiling method totally covers memory with non-overlapping
neighborhoods. Reduces the pattern length from
30
31
The problems with the prior memory testing approaches are that DRAMs may be repaired or
may have their address lines deliberately scrambled. As a result, consecutive addresses may not
be adjacent, so the previously described coupling fault tests will not be effective.
A. J. van de Goor and I. Schanstra, "Address and data scrambling: causes and impact on memory tests,"
Proceedings First IEEE International Workshop on Electronic Design, Test and Applications '2002,
Christchurch, New Zealand, 2002, pp. 128-136, doi: 10.1109/DELTA.2002.994601.
32
Dekker performed this analysis [193, 194, 195] and found faults caused by actual defects
modeled as broken wires, shorts between wires, missing contacts, extra contacts, and newly-
created parasitic transistors. He mapped these defects into the following functional faults:
1. SAF in a memory cell.
2. A stuck-open fault (SOF) in a memory cell.
3. A TF in a memory cell.
4. A state coupling fault (SCF) between two memory cells.
5. A CFid between two cells
6. A data retention fault (DRF), caused by a broken pull-up device, in which the
cell loses its contents over time
33
34
Its organization is 256K words × 16 bits of DRAM core, 8 words × 16 bits of read data buffer (RB), 8
words × 16 bits of write data buffer (WB), and 1K words × 16 bits of SRAM.
35
ROM testing differs from RAM testing, in that the correct data that the ROM should contain is
already known. The SAF model used for ROMs is sometimes a restricted SAF model
The preferred ROM testing method is to cycle the ROM through all of its addresses and
compress the output bit stream at the ROM outputs using a linear feedback shift register
(LFSR) in the automatic test equipment (ATE).
36
DC Parametric Tests.
37
DC Parametric Tests.
2. Leakage Test
38
AC Parametric Tests.
1. Address Set-Up Time Sensitivity
39
AC Parametric Tests.
2. Access Time Tests
40
AC Parametric Tests.
3. Running Time Tests
41
AC Parametric Tests.
4. Tests for Sense Amplifier Recovery Fault. Sense amplifiers can become saturated after
reading/writing a long string of identical data values, at which point
they are too slow to read the opposite data value
42
AC Parametric Tests.
5. Test for Write Recovery Fault. Write recovery faults occur when a write is followed by a
read/write at a different address. The two types are read-after-write and write-after-read.
43
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
44
Lecture 10:
Delay Testing
1. The input signal consists of two vectors: Delay tests consist of vector-pairs
2. All input transitions occur at the same time. This, is an idealized illustration though it
closely represents the real situation eve in pipelined structures with FFs.
3. Delay is determined by the last transition, or the delay of the longest combinational path
4. Should considering all possible input vector-pairs, “the longest delay combinational path”
of the circuit is known as the critical path. There can be more critical paths than one if
several paths meet the maximum delay criterion.
5. The delay of critical paths determines the smallest clock period at which the circuit can
function correctly
10/15/2023 2
Gates are modeled with equal rise and fall lumped delays that are integer multiples of some
small time unit (nanosecond or picosecond.)
10/15/2023 3
Single faulty path: Test vector 010→ 100 can only detect delay fault of P3. It masks
delay faults of P1 and P2.
10/15/2023 4
The specified time duration can be the duration of the clock period (or phase), or the
vector period.
10/15/2023 5
10/15/2023 6
Since this is a non-robust test, it is not guaranteed to work when other paths are faulty. For
example, if an additional delay fault ↑ A – C is present (either due to increased routing delay
or due to increase in the delay of the AND gate), then the signal C may remain as constant 0.
Top input node of and gate charge to high slowly or fault within and gate
10/15/2023 7
Glitches
10/15/2023 8
S0 and S1 are steady (without glitch) 0 and 1 values for both vectors V1 and V2.
U0 and U1 specify the final value as 0 and 1, respectively, and leave the initial value
as don’t care or X.
E.g. ↓P3
1. Place a transition at the path origin, B = F0.
2. Propagate value F0 to line E, set C = S0/U0, E = F0.
3. G = F0 J = R1.
4. F0 is interpreted as U0 for off-path logic, Q = U0.
5. Propagate value R1 from J to K, set H = S0 K = R1.
6. Justify H = S0, set A = S0.
7. Test is A = S0, B = F0, C = S0; or V1 = 010, V2 = 000
10/15/2023 10
E.g. ↑P2
1. Place a transition at path origin, B = R1.
2. Propagate R1 to E, set C = S0.
3. R1 is interpreted as U1 for off-path logic, G = U1 J = U0.
4. Q = R1, Propagate R1 to H, set A = S1.
5. H = R1, Propagate R1 to K, must set J = S0 conflict since J = U0 in step 3.
6. Since no step has any alternatives, a robust test is not possible.
By including the six robust tests we can ensure that if the circuit passes those, there
will be no delayed signal at off-path inputs of the path P2. We can conclude that in the
presence of the other four tests, the non-robust test for ↑P2 is as good as a robust test.
Such a test is called a validatable non-robust (VNR) test
10/15/2023 12
A path for which both (rising and falling) path-delay faults (PDFs) are singly (i.e., non-
robustly) testable is called a testable path. A path having one singly testable PDF and one
singly untestable PDF is called a partially testable path. When no non-robust test exists for
both PDFs of a path, that path is called a singly-untestable path. Such a path can be
eliminated by circuit transformations that preserve the logic function.
10/15/2023 13
K = A(B+C) + B’C’
K= A +BC
In general, a partially testable path may not have a redundant stuck-at fault.
However, there are procedures for modifying the circuit to expose redundant faults that can
be removed. The resulting circuit always has fewer paths, a greater percentage of testable
paths.
10/15/2023 14
10/15/2023 15
1. Vertices in Path-status graph PSG correspond to inputs, outputs and gates with multi-fanouts.
Single fanout are not represented in the PSG.
10/15/2023 16
10/15/2023 17
10/15/2023 18
➢ The basic assumption in this test is that the faulty delay of the signal rise has to be
large, since the observation path may be, and often is, a short path. Besides, the effects
of hazards and glitches can interfere with the observation of the output value. As
a result, the tests for transition faults can detect localized (spot) delay defects of
large (gross) delay amounts. Because of sensitization of short paths these tests may
fail to detect distributed defects, where small delay increases in a large number of
gates cause a long path to fail.
10/15/2023 19
• The number of faults has an upper bound of twice the number of lines.
• Tests are easy to generate. A stuck-at fault test generator can be easily modified to
produce tests for transition faults.
• Circuits that either have, or are modified to have, a high stuck-at fault coverage
usually also have high transition fault testability.
10/15/2023 20
A two-vector delay test assumes that all signals due to the first vector V1 will have reached
their steady state when V2 is applied. If this assumption is not valid, then the actual circuit
may still have some transient signals when V2 is applied. These transients can interfere with
the testing of the targeted path. To avoid this problem, vectors are applied at a slower than
the rated clock frequency.
10/15/2023 21
10/15/2023 22
10/15/2023 23
10/15/2023 24
All vectors, either functional or those generated to cover any types of faults, are applied at
the rated speed. A target delay fault can be activated in several time frames. If robust
detection is desired, one must consider all delay combinations to be potentially possible.
Even fault simulation requires massive computation. Nevertheless, it shows a much reduced
PDF coverage for vectors generated for variable-clock test.
“Static timing analysis.” done with enough slack in commercial tools like Primetime
➢ Timing simulation
➢ Critical path tests
➢ Layout optimization
10/15/2023 25
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
26
Lecture 11:
Design for Testability
10/22/2023 2
10/22/2023 8
Level-sensitive scan
design (LSSD), uses two
non-overlapping clock
signals.
Normal Operation
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 slave latch
Scan mode
MCK is held low and scan data SD is latched in
by using clocks TCK and SCK as master and
slave clocks
10/22/2023 9
The SD input of one SFF is supplied by another new primary input SCANIN. All SFFs are
chained by connecting the Q output of one SFF to the SD input of the next SFF. The Q
output of the last SFF in the chain is a new primary output SCANOUT. This design has the
advantage of reducing the effort of test generation. The wiring added for scan design shown in
broken lines. Especially for the case of full-scan, where all flip-flops are scanned,
10/22/2023 10
R-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. If extra pins are not available, then any normal primary input
can be used as scan-in and any primary output pin can be multiplexed as scan-out.
10/22/2023 Scan design with a single extra pin for test control (TC) 11
10/22/2023 12
1.The first phase tests the scan register by a shift test. The circuit is set in scan mode by setting
TC = 0. All flip-flops now form a shift register between SCANIN and SCANOUT. A toggle
sequence, 00110011 . . ., of length nsf + 4 where nsf is the total number of flip-flops, is
applied at SCANIN. The toggle sequence is clocked through the shift register using the
normal clock signal. This sequence produces all four transitions, and in each flip-flop and
shifts the outputs to the observable output SCANOUT. It covers most, if not all, single stuck-at
faults in the flip-flops, and verifies the correctness of the shift operation of the scan register.
10/22/2023 13
10/22/2023 15
(12+2)2+12+4=44
10/22/2023 16
10/22/2023 17
10/22/2023 18
10/22/2023 19
The combined height of a cell row and one adjoining routing channel is
Depending on the cell height (T) that is around 8-10 tracks, this part can
10/22/2023 contribute up to about 10% in a cell-dominant chip. 20
21
22
combinational circuit
netlist is generated
by removing flip-flops
and clocks from the
audited netlist
1.Very small delay in scan path. Because there is no logic gate in the scan path, signal
propagation between two consecutive flip-flops of the scan registers may be very quick. A
comparatively larger delay (skew) of the clock signal at the second flip-flop can produce a
race condition.
10/22/2023 24
10/22/2023 25
10/22/2023 26
10/22/2023 27
A sequential ATPG
If we scan FF5 and FF7, program can achieve a
then vertices 5 and 7 will fault coverage in excess
be deleted and the s-graph of 95% when about 25
becomes acyclic with a to 50% of the flip-flops
sequential depth of 2. are scanned.
In the normal mode, TC = HOLD = 1. In the scan mode, TC = 1 and HOLD = 0. The state
inputs of combinational logic driven by the hold latch remain frozen at their pre-scan values.
1. Isolates the scan and non-scan portions of a circuit.
2. Delay testing requires the application of vector-pairs to a combinational logic problem. The
normal scan structure (with SFFs) places severe restrictions on the vector-pairs that can be
produced. The use of the hold latch converts the delay testing problem completely into a
combinational logic problem.
10/22/2023 3. 30
1. Set HOLD = 0 and TC = 0, and scan the state variable bits of into the scan register using the clock CK.
2. Set TC = 1.
3. Set HOLD = 1 and apply the primary input portion of Thus the entire vector appears at the inputs of the
combinational logic.
4. Change HOLD to 0.
5. Repeat Steps 1, 2, and 3 for This produces a transition at the
inputs of the combinational logic.
6. Change HOLD to 0, and capture the output of the combinational logic in FF by applying the clock CK.
7. Set TC = 0 and apply clocks to scan out the contents of flip-flops. This completes the application of
one vector-pair delay test.
10/22/2023 31
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
33
Lecture 12
Built-in Self-Test
10/29/2023 2
2. VLSI devices are increasingly dense and faster with sub-micron feature sizes.
3. There are increasingly long test-pattern generation and test application times.
4. Prohibitive amounts of test data must be stored in the automatic test equipment (ATE.)
6. Designers are unfamiliar with the gate-level structure of their designs, since
logic is now automatically synthesized from the VHDL or Verilog hardware
description languages. This compounds the problem of testability insertion.
Quality. Typical quality requirements are 98% single stuck-fault coverage or 100%
interconnect fault coverage. In huge systems, this is attainable only through design for
testability (DFT), and BIST is the preferred form of DFT.
10/29/2023 4
Test Application Problems. In-circuit testing (ICT) used a bed of-nails fixture
customized for the PCB-under-test. The bed-of-nails tester applied
stimuli to the solder balls on the back of the PCB where the component leads were
soldered to the PCB. Power was applied only to the component under test – all others
in the PCB were left unpowered. It was effective for chip diagnosis and board wiring
tests. However, ICT is not effective unless the PCB is removed from the system,
so it is not helpful in system-level diagnosis. Also, surface-mount technology (SMT)
components are often mounted densely on both sides of the board, and the PCB
wire pitch is also too small for accurate probing of the back of the board by the bed of-nails
tester. Therefore, ICT is no longer a solution. BIST, however, solves these
problems by eliminating expensive ATE.
10/29/2023 5
There is a slight cost increase due to BIST in design and test development, because of the
added time required to design and add pattern generators, response compacters, and
testability hardware. However, is that this is less costly than test development with ATPG.
Without BIST, maintenance test requires the presence of an expensive ATE at the site of the
failing system, and this is a significant cost. With BIST, there is no need for an ATE, so this
reduces system test cost. For boards and systems, BIST drastically reduces the diagnosis and
repair cost, by quickly determining and indicating which sub-assembly or component is
faulty, without the extensive labor and equipment normally required.
10/29/2023 6
CUT – Circuit-Under-Test
10/29/2023 7
10/29/2023 8
2. Linear feedback shift register (LFSR) : Uses very little hardware and is currently the preferred
BIST pattern generation method. (Random Test pattern generation. Coverage may not be not 100%)
3. Binary Counters : A binary counter can generate an exhaustive test sequence, but this can use too
much test time if the number of inputs is huge. For example, with 64 inputs and the test-pattern generator
clocked at 100 MHz, this takes 51,240,955.8 hours of test time to generate all patterns. Also, the binary
counter requires more hardware than the typical LFSR pattern generator. (exhaustive testing)
5. LFSR and ROM: LFSR as the primary test mode, and then generate test-patterns with an ATPG
program for the faults that are missed by the LFSR sequence.
6. Cellular Automaton: In this approach, each pattern generator cell has a few
logic gates, a flip-flop, and connections only to neighboring gates. The cell is
replicated to produce the cellular automaton.
10/29/2023 9
10/29/2023 10
3. Sensitized path segmentation, in which the circuit is partitioned so that sensitizing paths
are set up from PIs to the partition inputs, and then from the partition outputs to the POs. Each
partition is tested individually while the remaining partitions are simulated, so that non
controlling signals are set in the CUT to sensitize and propagate signals in the partition-under-
test.
10/29/2023 12
4 X 1 Mux
10/29/2023 13
10/29/2023 14
10/29/2023 15
These patterns have all of the desirable properties of random numbers, but are algorithmically
generated by the hardware pattern generator and are therefore repeatable, which is essential
for BIST. We no longer cover all input combinations, but long test-pattern sequences may
still be necessary to attain sufficient fault coverage.
10/29/2023 16
Circuit Initialization
It is very important in random logic BIST to initialize all flip-flops in the circuit when BIST is
used with partial scan.In the real hardware, different chips will randomly initialize their flip-
flops to different values. Initialization problems can be discovered by setting all flip-flops
initially to the X state, running the BIST cycle, and simulating the system in a 3-valued logic
simulator. If the MISR or other response compacter finishes the test session with bits in the X
state, then initialization is not correct. All such uninitializable flip-flops must then be
initialized by adding master set or reset lines to them.
10/29/2023 17
2. Compression – A method of reducing the number of bits in the original circuit response
during testing in which no information is lost, so the original output sequence can be fully
regenerated from the compressed sequence. Compression schemes, at present, are impractical
for BIST response analysis, because they inadequately reduce the huge volume
of data, so we use only compaction schemes.
3. Signature – A statistical property of a circuit, usually a number computed for a circuit from
its responses during testing, with the property that faults in the circuit usually cause the
signature to deviate from that of the good machine.
10/29/2023 18
19
20
21
22
10/29/2023 23
10/29/2023 24
10/29/2023 25
10/29/2023 26
10/29/2023 27
However, the parallel mechanism makes it difficult to test for memory coupling faults
between cells in the same row, so it may not be appropriate.
Random, or pseudo-random memory BIST is not generally used , because the march tests
achieve higher fault coverages with shorter pattern sequences than random or pseudo-
random memory tests.
10/29/2023 28
Concurrent BIST – A memory test mechanism where the memory can be tested
concurrently with normal system operation.
10/29/2023 29
(c) These two LFSRs can be combined into a single LFSR, by adding a few additional logic
gates.
10/29/2023 30
10/29/2023 31
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
33
Lecture 13
Analog and Mixed-Signal Testing
Functional test often assumes that the components are faulty and generates the
fault list using component deviations and catastrophic faults. The circuit parameter values
vary widely, even in good circuits. Deterministic models are inefficient for analog circuits.
Therefore, signals are specified by a nominal value, along with an acceptable range of values
around the nominal value.
Structural test uses manufacturing defect statistics, and the fault list may be either
catastrophic or parametric.
11/5/2023 2
3. Tester Measurement Error. Measurement errors at the analog circuit tester come from
analog offsets, the effect of the load of the measurement probe on the analog circuit behavior,
and the impedance of the analog probe. Also, random noise is a problem, so analog testers
are limited in bandwidth and measurement accuracy
4. For mixed-signal chips, transporting internal analog signals to output pins may alter
the signal and the circuit functionality. Capacitive coupling between high-frequency
digital signals and analog signals causes additional analog circuit noise. Analog tests
must create a difference in an analog output between the good and bad machines that
lies outside the measurement error of the test fixture and the ATE. Otherwise,
the fault effect is masked by measurement error.
11/5/2023 3
11/5/2023 4
11/5/2023 5
11/5/2023 6
11/5/2023 7
11/5/2023 8
Each class of analog circuits has its own separate set of specifications. (Op amp, ADC, DAC,
Filters,)
There already exist accepted and specific functional tests for each class of analog circuits.
There is no universal set of performance specifications.
Also, there are no general design techniques for all analog circuits.
Analog circuit tests can be classified into these three categories:
• Design characterization, to determine whether the design meets specifications.
• Diagnostics, which determine the cause of a device failure when it fails a test.
• Production tests used for large volumes of linear or mixed-signal circuits.
Specification-based tests are generated directly from the circuit specifications, without
reference to an analog fault model. This approach is easily adapted to wide varieties of
circuits. However, with large numbers of specifications, test application has become most
expensive, and its cost must be reduced. The test set can be reduced by locating dependencies
between specifications and eliminating unnecessary testing.
11/5/2023 9
Structural fault-model based Testing will target a specific set of modeled faults. This
allows quantification of a set of analog tests in terms of their fault coverage, so test
sets can be graded. The models also reduce the test set size, since test waveforms that
detect faults already covered by other waveforms can be deleted. However, advocates
of structural tests have been unable to establish a link between the fault coverage and
satisfaction of the design specifications. This makes designers reluctant to accept
structural analog testing.
11/5/2023 10
We first apply DC tests to analog circuits, and only if the circuit passes these do
we apply AC tests, which are more difficult to generate and more costly to apply. Finally,
only if the circuit passes AC testing do we apply transient or time-domain tests.
11/5/2023 11
11/5/2023 12
2. The transistor faults are modeled using switches, and these models are solved by an
operations research method call complementarity pivoting. This method does not have the
problem of Newton-Raphson iteration, which suffers from the extreme non-linearity coming
from analog circuit and fault modeling.
11/5/2023
Four Kind of simulations per device including fault free 13
11/5/2023 14
11/5/2023 15
11/5/2023 16
11/5/2023 17
11/5/2023 18
Differential sensitivity shows the effect of small variations in elements, and is defined as:
Incremental sensitivity shows the effect of large element variations, and is defined as:
11/5/2023 19
11/5/2023 20
5. Select parameters (or performances) to be measured during testing using the simplex
optimization method.
6. Perform testability analysis of the circuit by computing the analog fault coverage. For given
tolerance values, analog fault coverage is the ratio of detected faults over all possible faults.
7. Improve the circuit testability with design for testability (DFT) hardware. They add new
POs to increase observability of untestable elements.
11/5/2023 21
SFG inversion can calculate the parameter tolerances that the circuit components must meet (during manufacturing), in
order to ensure that the analog output waveforms remain within specifications. This new method avoids specifying
analog components to tighter parametric tolerances than is necessary, and this reduces cost.
11/5/2023 22
11/5/2023 23
11/5/2023 24
11/5/2023 25
11/5/2023 26
11/5/2023 27
A first well-known example is the generic oscillation test where the CUT is
reconfigured to oscillate by connecting it into a positive feedback loop, as shown in
Fig. The oscillation frequency and magnitude are information-rich signatures that
can be used to gain insight about the functionality of the CUT and to detect
abnormal behavior
11/5/2023 28
A first well-known example is the generic oscillation test where the CUT is
reconfigured to oscillate by connecting it into a positive feedback loop, as shown in
Fig. The oscillation frequency and magnitude are information-rich signatures that
can be used to gain insight about the functionality of the CUT and to detect
abnormal behavior
11/5/2023 29
A second example is the loop-back test for RF transceivers where the test signals
are generated in the baseband and the transmitter’s output is switched to the
receiver’s input through an attenuator to analyze the test response also in the
baseband
11/5/2023 30
11/5/2023 31
3. NPTEL Lectures
https://www.youtube.com/watch?v=M8VEEaYwlQ&list=PLbMVogVj5nJTClnafWQ9F
K2nt3cGG8kCF&index=31
32
Lecture 14
Fault Tolerant VLSI Design
Temporal redundancy requires a unit to perform an operation twice one after the other,
and then compare the results.
2r >= m+r+1
m is number of bits in original data
r is number of redundant bits to be added
n=m+r final number of bits in the coded data string
Example m = 4
r=1 : 2 >= 4 + 1 +1 22 21 20
r=2 : 4 >= 4 + 2 +1 m4 m3 m2 P3 m1 P2 P1
r=3 : 8 >= 4 + 3 +1
1 1 0 6 6 Example
1 1 1 7 7 7 Write and read from memory
10
General Techniques. To detect errors in a functional unit, we could simply treat the unit
as a black box and use physical or temporal redundancy
Another general approach to functional unit error detection is to use arithmetic codes.
Example
A+ B=C
10A+ 10B= 10C, If we get 10C it is error free
Error causes the adder to produce a result that is not a multiple of 10
11
12
With an appropriate choice of M, the modulus operation can be performed with little hardware
6 X 12 = 72
6 Mod5 X 12 Mod5 = 72 Mod5
1X2 =2
13
15
16
Watchdog Processors. Most of the invariant checkers we have discussed so far have been
tightly integrated into the core. A watchdog processor is a simple coprocessor that watches
the behavior of the main processor and detects violations of invariants. A typical watchdog
shares the memory bus with the main processor. The invariants checked by
the watchdog.
17
18
In most computers, the levels of the memory hierarchy below the L1 caches, including
the L2 cache and memory, are protected with ECC. The L1 cache is either protected
with EDC as in the Pentium 4, UltraSPARC IV , and Power4 or with ECC (as in the AMD
K8 and Alpha 21264.
The choice of error codes represents an engineering tradeoff. Using EDC on an L1 cache,
instead of ECC, leads to a smaller and faster L1 cache. However, with only EDC on the L1,
the L1 must be write-through so that the L2 has a valid copy of the data if the L1 detects
an error. The writethrough L1 consumes more L2 bandwidth and power compared to a
write-back L1
19
20
21
22
Design of Fault Tolerant Adders: A Review Ghashmi H. Bin Talib1 · Aiman H. El-Maleh1 · Sadiq M. Sait
23
24
25
P. Kumar, R.K. Sharma / Engineering Science and Technology, an International Journal 19 (2016) 1465–1472
26
Reversible Gates
27
Design of Fault Tolerant Adders: A Review Ghashmi H. Bin Talib1 · Aiman H. El-Maleh1 · Sadiq M. Sait
Arabian Journal for Science and Engineering https://doi.org/10.1007/s13369-018-3556-9
28
29