Beruflich Dokumente
Kultur Dokumente
Santosh Biswas
IIT Guwahati
Course Plan
Specifications Manual
RTL Design
Front-end
Logic Synthesis
Test Planning
Fabrication
Manufacturing Test
Chips to Customers
Introduction to Philosophy of Testing
• “If anything can go wrong, it will”--A very well
known statement known as Murphy’s Law.
• Testing a system comprises subjecting it to
inputs and checking its outputs to verify
whether it behaves as per the specifications
targeted during design.
Example: Electrical Iron
• Plug it in 220V AC and see if is heating.
– “functional” specification, that also partially.
• Safety:
– All exposed metal parts of the iron are grounded
– Auto-off on overheating
• Detailed Functionality
– Heating when powered ON.
– Glowing of LED to indicate power ON.
– Temperature matching with specification for different
ranges that can be set using the regulator (e.g.,
woolen, silk, cotton etc.)
Example: Electrical Iron
• Performance
– Power consumption as per the specifications
– Time required to reach the desired temperature when
range is changed using the regulator
Tests for ONLY electrical parameters.
• Tests for mechanical parameters, like maximum
height from which there is resistance to breaking
of plastic parts if dropped on a tiled floor etc.
• Number of tests performed depends on the time,
equipments etc. which in turn is decided by the
target price of the product.
Example: NAND Gate
v1
v2 o1
Input Output
v1 v2 o1
0 0 1
0 1 1
1 0 1
1 1 0
This test for the NAND gate is just the starting point
Detailed tests for the NAND gate
• Digital Functionality
– Verify input/output of Table 1
• Delay Test
– 0 to 1: time taken by the gate to rise from 0 to 1.
• v1=1, v2=1 changed to v1=1, v2=0; After this change in
input, time taken by o1 to change from 0 to 1.
• v1=1, v2=1 changed to v1=0, v2=1; After this change in
input, time taken by o1 to change from 0 to 1.
• v1=1, v2=1 changed to v1=0, v2=0; After this change in
input, time taken by o1 to change from 0 to 1.
Detailed tests for the NAND gate
– 1 to 0: time taken by the gate to fall from 1 to 0.
• v1=0, v2=0 changed to v1=1, v2=1; After this change in
input, time taken by o1 to change from 1 to 0.
• v1=1, v2=0 changed to v1=1, v2=1; After this change in
input, time taken by o1 to change from 1 to 0.
• v1=0, v2=1 changed to v1=1, v2=1; After this change in
input, time taken by o1 to change from 1 to 0.
• Fan-out capability:
– Number of gates connected at o1 which can be
driven by the NAND gate.
Detailed tests for the NAND gate
• Power consumption of the gate
– Static power: measurement of power when the output of the
gate is not switching.
– Dynamic power: measurement of power when the output of
the gate switches from 0 to 1 and from 1 to 0.
• Threshold Level
– Minimum voltage at input considered at logic 1
– Maximum voltage at input considered at logic 0
– Voltage at output for logic 1
– Voltage at output for logic 0
• Test at extreme conditions
– Performing the tests at temperatures (Low and High
Extremes) as claimed in the specification document.
v1 v2
T1
-
T2
o1
Drain +
I DS
Body
v1 T3
VBS
VDS
Gate
v1 T4 VGS
Source
GND
Nmos (T3)
CMOS implementation for the NAND gate
Detailed tests for the NAND gate
• Output Characteristics
– a set of IDS vs VDS curves for different constant values of
the gate-source voltage VGS
• Transfer characteristics
– a set of IDS vs VGS curves for different values of the
substrate-source voltage VBS, at constant VDS
• Threshold Voltage Test
– Threshold Voltage obtained in test, matches the
specifications
Detailed tests for the NAND gate
• Test for the NAND gate should be such that results are accurate (say
99% above) yet time for testing is low (less than a millisecond).
– Table 1 for the NAND gate and at proper time
I1=1, I2=1,….,I25=1, is a
test pattern for the stuck-
at-0 fault at net I1
Structural Testing with Stuck-at Fault Model
I1=0, I2=1,….,I25=1, is
a test pattern for the
stuck-at-1 fault at net
I1.
Structural Testing with Stuck-at Fault Model
I1=0, I2=1,….,I25=1, is a
test pattern for the stuck-
at-1 fault at net output
of G1.
Fault propagation: In this step a path is selected from the fault site to some
primary output, where the effect of the fault can be observed for its
detection.
Line justification: In this step the signals in (internal) nets or some primary
inputs, which were assigned for fault sensitization/propagation, are
justified by setting (remaining) primary inputs of the circuit.
In the second and third steps, a conflict may occur, where a necessary
signal assignment contradicts some previously-made assignment. When
conflicts occur we need to take a new alternative path for fault propagation
and see if all signals can be justified.
Roth’s five value algebra
1 (1/1) 1 1
X (X/X) X X
D (1/0) 1 0
(0/1) 0 1
Example to illustrate Roth’s five value algebra
1
I1
D (Normal: 1, Fault: 0)
G1 0
1 (s-a-1)
I2 O1 (s-a-0) I1
X (Normal: X, Fault: X)
G1
X
I2 O1
0
I1
D (Normal: 0, Fault: 1)
G1
0
I2 O1 (s-a-1)
Path Sensitization Based ATPG: Example
a f
D
e D
b=1 g D
h
s-a-0
i j
D
c
a f
D
e D
b=1 g D
h
s-a-0
i D j 0
D
c
d=1
e
b=1 g D
h
s-a-0
iD j D
c
D
d
a=0 f
0
e
b=1 g D
h
s-a-0
iD j D
c=1
D
d=1
c
a e
s-a-0
f 1
d Q
2 D
b
clock
primary output g
D c
a=1 e
s-a-0 X
f 1
d Q
2 D
b=X
clock
primary output g
X
D c
a=X e
s-a-0 X
f 1
d Q
X 2 D
0
b=0
clock
primary output g
X
Indirect controlling of f to 0
ATPG of sequential circuits: Example
D c
a=1 0 e
s-a-0 0
f 1
d Q
0 2 D
b=X
clock
primary output g
D
ATPG for combinational blocks in sequential circuits require more than one pattern.
In this example, the first pattern is a=X, b=0 and clock edge followed by a=1 and
b=X.
Final pattern is according to combinational ATPG (that sensitize the fault and
propagates the effect to a primary output) and all other initial patterns are to bring the
secondary inputs to their required value.
Controllability and observability of flip-flops
•Set and reset lines
One of the simplest way to directly control flip-flops is through set-reset lines. Set-
reset lines can directly make the output of a flip-flop to be 1/0 without any input
and clock pulse. set
input
D Q
clock
reset
Scan in
mode
A scan flip-flop
normal input
NI
Scan out
Scan Flip SI Q
Scan in
Flop Scan Flip
Q
Flop
clock clock
mode M
D Q Scan out
normal input from NSF Mux secondary inputs (An additional output)
Scan in clock
mode
Scan out
D Q
normal input from NSF
Mux secondary inputs
clock
Scan in
mode
Scan out
normal input from NSF D Q
Mux secondary inputs
clock
Scan in
(An additional input) mode
Scan Chain based Testing and ATPG for sequential circuits
Flip-flops in scan chain mode
D Q Scan out
normal input from NSF Mux secondary inputs (An additional output)
Scan in clock
mode=1
Scan out
D Q
normal input from NSF
Mux secondary inputs
clock
Scan in
mode=1
Scan out
D Q
normal input from NSF
Mux secondary inputs
clock
Scan in
(An additional input) mode=1
Scan Chain based Testing and ATPG for sequential circuits
Flip-flops in normal mode
D Q Scan out
normal input from NSF Mux secondary inputs (An additional output)
Scan in clock
mode=0
Scan out
D Q
normal input from NSF
Mux secondary inputs
clock
Scan in mode=0
clock
Scan in
(An additional input) mode=0
ATPG and testing using scan chain : An Example
The sequential circuit (running example) now with scan chain--To test
the s-a-0 fault at net j, the signal values at nets d and i are to be 1.
ATPG and testing using scan chain : An Example
So both the flip-flops are to be set to 1; this was achieved by making the set input
as 1 and reset input as 0 in case of testing using set/reset flip-flops.