Tvlsi Class
Tvlsi Class
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
1
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Course Overview
2
Scope and Objective of the
course
• ATPG Algorithms
Assignment 20%
INTRODUCTION
10
System On Chip (SoC)
PLATFORM ➢ Memories
DIGITAL IPs
➢ IOs
DIGITAL
IPs
FLASH
RAM ➢ Analog blocks
ANALOG
PADI
IOSS TCU
Design Structures
• Combinational Logic
• Sequential Logic
• Inputs & Outputs (I/O)
• Memories
• Analog
Combinational Logic
A3 n1
A2
Y
n2 n3
A1
A0
Sequential Logic
Step Q
0 111
1 011 CLK
Q[0] Q[1] Q[2]
Flop
Flop
Flop
2 101 D D D
3 010
4 001
5 100
6 110
7 111 (repeats)
Memory
ANALOG Block
• Combinational logic
• Sequential logic
Digital Basics
• Logic gates
– AND, OR , NOT, XOR..
– NAND, NOR..
• Truth tables
Digital Basics
• Flip flops
HDL - Verilog
RTL Netlist
ASIC / SOC Design FLOW
Design Architecture
Floor Planning,P&R
RTL
Design/Verification
Timing Analysis
Logic Synthesis
ATPG and Pattern Pattern
simulation conversion
DFT/Scan Insertion
ATPG
(SCAN,JTAG,BIST)
Tapeout
Incremental Synthesis
What is next?
• Post TAPEOUT?
• The Fabrication of IC
May not be ..
OPEN Short
Defects In Silicon
▪ IC manufacturing process is defect-prone
Defects : Particles
▪ Caused by impurities
• Shorts for additive material
• Opens for subtractive material
How to find defective parts?
TESTING
FAIL
❑ Quality – Defective Parts Per Million (DPPM)
TESTING & Diagnosis
Manufacturing Test
❑ Exercise the system and analyze the response to
ascertain whether it behaves correctly
Diagnosis
❑ To locate the cause of misbehavior after the
incorrect behavior is detected
Functional Test
• Does the chip simulate correctly?
– Usually done at HDL level
– Verification engineers write test bench for HDL
• Can’t test all cases
• Look for corner cases
• Try to break logic design
• Ex: 64-bit adder
– Test all combinations of corner cases as inputs
• 0, 1, 2, ……., 263-1
Functional vs. Structural ATPG
Carry Circuit
Functional vs. Structural
• Functional ATPG – generate complete set of tests for circuit input-
output combinations
– 129 inputs, 65 outputs:
– 2129 = 680,564,733,841,876,926,926,749,
214,863,536,422,912 patterns
– Using 1 GHz ATE, would take 2.15 x 1022 years
• Structural test:
– No redundant adder hardware, 64 bit slices
– Each with 27 faults (using fault equivalence)
– At most 64 x 27 = 1728 faults (tests)
– Takes 0.000001728 s on 1 GHz ATE
• Designer gives small set of functional tests – augment with
structural tests to boost coverage to 98+ %
Manufacturing Test
• A speck of dust on a wafer is sufficient to kill
chip
• Yield of any chip is < 100%
– Must test chips after manufacturing before
delivery to customers to only ship good parts
• Manufacturing testers are
very expensive
– Minimize time on tester
– Careful selection of
test vectors
Silicon Debug
• Test the first chips back from fabrication
– If you are lucky, they work the first time
– If not…
• Logic bugs vs. electrical failures
– Most chip failures are logic bugs from inadequate simulation
– Some are electrical failures
• Crosstalk
• Dynamic nodes: leakage, charge sharing
– A few are tool or methodology failures (e.g. DRC)
• Fix the bugs and fabricate a corrected chip
Shmoo plots
• How to diagnose failures?
– Hard to access chips
• Pico probes
• Electron beam
• Laser voltage probing
• Built-in self-test
• Shmoo plots
– Vary voltage, frequency
– Look for cause of
electrical failures
Cost of Test escapes
• Testing is one of the most expensive parts of
chips
– Logic verification accounts for > 50% of design
effort for many chips
– Debug time after fabrication has enormous
opportunity cost
– Shipping defective parts can sink a company
❑ Scan Design
❑ Boundary Scan
PLATFORM ➢ Memories
DIGITAL IPs
➢ IOs
DIGITAL
IPs
FLASH
RAM ➢ Analog blocks
ANALOG
PADI
IOSS TCU
SoC with Design For Testability
➢ Memories
PLATFORM
PLATFORM
(scan inserted)
DIGITAL
DIGITAL IPs
IPs ➢ IOs
(scan inserted)
DIGITAL
DIGITAL
IPs
IPs ➢ Analog blocks
RAM
FLASH (scan inserted)
with RAM BIST
ANALOG
ANALOG
with wrapper
IOSS
PADI TCU JTAG
with test muxing
DFT comes free ?
• Area penalty
• Test Cost
• Performance penalty
TESTABILITY
▪ Controllable : The ability to set a node in a design to a
desired state, ie logic 0 or 1
81
Manufacturing Defect Space
• A manufacturing defect is a physical problem that
occurs during the manufacturing process, causes
device malfunction
Node-B stuck at - 1
At-Speed Test
• Circuit operates correctly at a slow clock rate and
then fails when run at the normal system speed
Inputs = 4 A
B Y
Outputs = 1 C
Possible faults = 2(4+1) = 10 D
Bridge Fault Model
• Bridge fault model is to test against potential
bridge sites (net pairs) extracted from the design
ATPG tools create test patterns that test each net pair against
all four faulty relationships
Transition Fault Model
• Transition faults model large delay defects at
gate terminals in the circuit under test
– slow-to-raise
models a device pin that is defective because its
value is slow to change from 0 to a 1
– slow-to-fall
models a device pin that is defective because its
value is slow to change from 1 to a 0
Path Delay Fault Model
• Path delay faults model defects in circuit
paths (no localized fault sites)
• Testing the combined delay through all
gates of specific paths (critical paths)
Path Sensitization
• Determine values necessary at x1 &
x2 that set y1 to a 1
• Select a path to propagate the response of the
fault site to a primary output
• Specify the input values to enable detection
at primary output. X3 must be set to a 1
S-a-0
X1
y1
X2
y2
X3
Path Delay Fault Testing
A
C
B
P Q
R D
11
➢ Propagation delays of all paths in a circuit must be less than one clock cycle
P1
U
G G
1 G
D Q 1 3 G U
CLK1 5 6
CK D 5 Q
U CK
D 2 Q
CK
U G U
D 3 Q 2 D 6 Q
CK G G CK
4 7
U
D 4 Q
td : Propagation delay
CK td T cycle
CLK1
T cycle
MCP and False Paths
False path
➢ Functionally never exercised
➢ Source register data will not be captured
in destination register
Fault Classes
• Untestable (UT)
– Unused (UU)
– Tied (TI)
– Blocked (BL)
– Redundant (RE)
• Testable
– Detected (DT)
– Posdet (PD)
– Atpg_untestable (AU)
– Undected (UD)
Untestable (UT)
• Untestable (UT) faults are faults for which
no pattern can exist to either detect or
possible-detect them.
– Detected (DT)
– Posdet (PD)
– Atpg_untestable (AU)
– Undected (UD)
Detected (DT)
• The detected fault class includes all faults
that the ATPG process identifies as detected.
The detected fault class contains two
subclasses,
• det_simulation (DS) - faults detected when
the tool performs fault simulation.
• det_implication (DI) - faults detected when
the tool performs learning analysis.
The det_implication subclass normally includes faults in the scan path
circuitry. The scan chain test, which detects a binary difference at an
observation point, guarantees detection of these faults.
Posdet (PD)
By default, the calculations give 50% credit for posdet faults. You can adjust
the credit percentage with the Set Possible Credit command.
ATPG_untestable (AU)
• The ATPG_untestable fault class includes all
faults for which the test generator is unable to
find a pattern to create a test, and yet cannot
prove the fault redundant.
# DT + (# PD * posdet_credit)
--------------------------------------- X 100
# testable faults
DT -> Detected
PD -> Possible Detected
Fault Coverage
• Percentage of faults detected from among
all faults that test pattern set tests
# DT + (# PD * posdet_credit)
-------------------------------------------- X 100
# full faults
DT -> Detected
PD -> Possible Detected
Significance of Fault & Test Coverage
ATPG Effectiveness
• ATPG tool’s ability to either create a test for a
fault
• Test cannot be created for the fault under the
restrictions placed on the tool
TEST FUNDAMENTALS
125
‘AND’ & ‘INV’ S@
o A0 {0110} {0111} Y
o n1 {1110} {0110} A1
n2 n3
o n2 {0110} {0100} A0
o n3 {0101} {0110}
o Y {0110} {1110}
D Q functional_data 0
D Q
scan_data 1
scan_en
sys_clk sys_clk
SCAN Basics
(A) (B)
OUT1 A_IN OUT1
A_IN Combination Combinational
B_IN al logic B_IN logic
D Q D Q D Q D Q D Q D Q
SC_IN SCL SCL SCL
SEN SEN SEN
CLK CLK CLK
CLK CLK CLK
CLK
CLK
Before modification,
After inserting scan cells, the resulting circuit looks like that shown in (B)
SCAN Operation
Combinatorial Logic
Functional D To Scan
0 D D
Data Q Out port
From Scan 1 Q Q
in Port SI FF SI FF SI FF
From Scan
enable Port S S
S E E
E
From clock
Port CLK
Clock signal
Scan chain
Functional Path
SCAN OPERATION
• Select Scan Shift mode. {SE = 1}
• Shift in scan cell values. {PULSE SHIFT CLOCK}
• Select Capture mode. {SE = 0}
• Force primary input values.
• Measure primary outputs.
• Capture circuit response into scan chains. {PULSE CAPTURE CLOCK}
• Select Scan Shift mode. {SE = 1}
• Shift-out the scan data. {PULSE SHIFT CLOCK}
– shift-in the next set of scan cell values
SCAN OPERATION
139
Scan Chain Operation for Stuck-at Test
140
Scan Chain Operation for Stuck-at Test
141
Scan Chain Operation for Stuck-at Test
142
Scan Chain Operation for Stuck-at Test
143
Scan Chain Operation for Stuck-at Test
144
Scan Chain Operation for Stuck-at Test
146
Scan Chain Operation for Stuck-at Test
147
Scan Chain Operation for Stuck-at Test
148
Full Scan Design
Partial Scan
FULL vs PARTIAL SCAN
Test time and Test Data
How to calculate Test Time and Test Data for the chip?
➢ Scan Chain Length
➢ Number of patterns
➢ Test Time
➢ ATE Memory
Scan compression
SCAN OUTs
SCAN OUTs
SCAN INs
SCAN INs
CMP MODE
Scan Compression Blocks
➢ Decompressor
➢ Compactor
Mask Controls
DECOMPRESSOR
s
Mb
Internal Chains
X-MASK
COMPRESSOR
Scan compression Block diagram
Chain
Decompressor
Compactor
Chain
Input Output
Channel Channel
Clock B
Core design
Bypass
path
Fault Aliasing
Fault Aliasing contd..
SCAN INSERTION DRCs
(Design Rule Checks)
• Adoption of design-for-testability principles early
in the design process ensures the maximum
testability with the minimum effort.
INPUT1 D Q OUTPUT
DTC 10
INPUT2 D Q CLK
DTC 10
CLK CLK
Gated Clock
DFT Rule #1
• Clock is controllable with additional circuitry
INPUT1 D Q OUTPUT
DTC 10
A
INPUT2 D Q MU111 CLK
B
DTC 10
CLK CLK
TEST_MODE
DFT Rule #2
• Avoid implementation of combination feedback circuit. If present, the feedback
loop be broken to test
• The gate output is not testable for stuck-at faults as it is usually held constant
during test.
• The feedback signal may not be testable (observable) in test mode
Feedback Signal
Cannot
Cannot Observe
Control Input Output
(At All)
(Much)
Combinational
Logic
TEST_MODE
Combinational
Logic
INPUT OUTPUT
DFT Rule #3
▶Asynchronous SET/RESET pins of flip-flops must be controlled by a port
level RESET (primary input) in scan test mode
Combinational
Logic
R
D Q
CLK
DFT Rule #3
• Reset is controlled during scan mode using Test_mode signal
Test_mode
Combinational OR
Logic
R
D Q
CLK
DFT Rule #3
• Reset controllability is added
Test_mode
RESET from port
1
Combinational 0
Logic
R
D Q
CLK
DFT Rule #4
• Gated clock must be enabled in scan test mode
CLK
GATED CLOCK
C1
LATCH
HOLD D type D
CLK
C1
HOLD LATCH
D type D GATED CLOCK
TEST
D
SD
TEST
ENABLE
Process(DATA,ENABLE,TEST) C1
begin
LATCH
if(ENABLE =“1” or TEST=“1”)then DATA D
latch_signal<=DATA;
endif;
end process;
DFT Rule #6
• Do not replace flip-flops of the shift Process(CLK)
• For efficient area purposes, the if (RESET = “1” and SCAN_EN = “0”) then
flip-flops of the shift register shifter_bus <= (others => “0”);
structure will not be replaced by elsif (ACTIVE_SHIFT = “1” or SCAN_EN = “1”) then
equivalent scan flip-flops. The
shifter_bus(16 downto 1) <= shifter_bus(15 downto 0);
SCAN_EN signal have to be
shifter_bus(0) <= DATA_IN;
added in your VHDL RTL code of
the shift register to allow the shift endif;
end process;
DFT Rule #7
• Clock should not be used as data in
scan test mode D
DATA
• For ATPG to be successful, there CLK
Mux
Scan
should be minimal coupling between FF
the clocks and data. When there is
any coupling between clock and
data, the ATPG tool will have a set
of conflicting requirements to satisfy
at the same time. This results in loss
D
of test coverage. When the clock DATA
Mux
pulses, it can create race conditions TEST
Scan
too CLK FF
Memory
block
Test mode
DFT Rule #9
The SCAN_ENABLE signal must be buffered adequately.
• The scan enable signal that causes all flip flops in the design to be
connected to form the scan shift register, has to be fed to all flip flops in
the design. This signal will be heavily loaded.
• The problem of buffering this signal is identical to that of clock
buffering. The drive strength of scan enable port on each block of the
design must be set to a realistic value when the design is synthesized.
If this port is left unconstrained during synthesis, it could result in silicon
failure.
DFT Rule #10
Avoid multicycle paths as much as possible. Ideally Zero
• This restriction arises from the fact that most ATPG tools use unit delay or
zero delay simulation. The tools assume that the results of applying a test
vector will be available before the end of the clock cycle. This means that
the vectors generated by the tools may be functionally correct, but may
not work with timing. Because of large combinational delays, the scan flip
flops may not be able to capture data at the end of the clock cycle.
• Loss of coverage during at-speed testing
DFT Rule #11
Negative edge flops should be placed in the start of the scan chain.
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
FAULT Modeling
185
Why Modelling?
• In Engineering , Models bridge the gap
between the physical reality and
mathematical abstraction
– Is Error Permanent?
a c
b
Common Fault Models
• Single stuck-at faults
• Transistor open and short faults
• Memory faults
• PLA faults (stuck-at, cross-point, bridging)
• Functional faults (processors)
• Delay faults (transition, path)
• Analog faults
Single Stuck-at Fault
• Three properties define a single stuck-at fault
• Only one line is faulty
• The faulty line is permanently set to 0 or 1
• The fault can be at an input or output of a gate
• Example: XOR circuit has 12 fault sites ( ) and
24 single stuck-at faults
Faulty circuit value
Good circuit value
c j
0(1)
s-a-0
a d 1(0)
1 g h
z
0 1 i
b e 1
f k
Test vector for h s-a-0 fault
Multiple Stuck-at Faults
• A multiple stuck-at fault means that any set of
lines is stuck-at some combination of (0,1)
values.
• A circuit with n lines can have 3^n - 1 multiple
stuck line combinations since each line can be in
one of SA0, SA1 and fault-free.
• A single fault test can fail to detect the target
fault if another fault is also present, however,
such masking of one fault by another is rare.
• Statistically, single fault tests cover a very large
number of multiple faults.
Checkpoints
• Primary inputs and fanout branches of a
combinational circuit are called checkpoints.
• 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.
Checkpoints ( ) = 10
Fault Equivalence
• Number of fault sites in a Boolean gate circuit is
= #PI + #gates + # (fanout branches)
• Fault equivalence: Two faults f1 and f2 are
equivalent if all tests that detect f1 also detect f2.
• If faults f1 and f2 are equivalent then the
corresponding faulty functions are identical.
• Fault collapsing: All single faults of a logic circuit
can be divided into disjoint equivalence subsets,
where all faults in a subset are mutually equivalent.
A collapsed fault set contains one fault from each
equivalence subset.
Equivalence Rules
sa0 sa0
sa1 sa1
sa0 sa1 sa0 sa1 WIRE
sa0 sa1 sa0 sa1
AND OR
sa0 sa1
NOT sa0
sa1
s-a-1
s-a-1
s-a-0
A dominance collapsed fault set
Fault Dominance
Fault Dominance
Dominance Example
sa0 sa1
sa0 sa1
sa0 sa1
pMOS VDD
FETs IDDQ path in
faulty circuit
A Stuck-
1
short
0
B Good circuit state
C
0 (X)
nMOS
FETs Faulty circuit state
Summary
• Fault models are analyzable approximations of
defects and are essential for a test methodology.
• For digital logic single stuck-at fault model offers
best advantage of tools and experience.
• Many other faults (bridging, stuck-open and
multiple stuck-at) are largely covered by stuck-at
fault tests.
• Stuck-short and delay faults and technology-
dependent faults require special tests.
• Memory and analog circuits need other specialized
fault models and tests.
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Optional instruction
IDCODE Instruction
Purpose: Connects the component device
identification register serially between TDI
and TDO
▪ In the Shift-DR TAP controller state
MSB LSB
31 28 27 12 11 1 0
Version Part Manufacturer ‘1’
Number Identity
(4 bits) (16 bits) (11 bits) (1 bit)
USERCODE Instruction
• Purpose: Intended for user-programmable
components.
Instruction Status
BYPASS Mandatory
CLAMP Optional
EXTEST Mandatory
HIGHZ Optional
IDCODE Optional
INTEST Optional
RUNBIST Optional
SAMPLE / PRELOAD Mandatory
USERCODE Optional
Summary
Boundary Scan Standard has become
absolutely essential --
▪ No longer possible to test printed circuit
boards with bed-of-nails tester
▪ Not possible to test multi-chip modules
at all without it
▪ Supports BIST, external testing with
Automatic Test Equipment, and
boundary scan chain reconfiguration as
BIST pattern generator and response
compacter
▪ Now getting widespread usage
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
LOGIC SIMULATION
250
Logic Simulation
• What is simulation?
• Design verification
• Circuit modeling
• True-value simulation algorithms
• Compiled-code simulation
• Event-driven simulation
• Summary
Simulation Defined
• Definition: Simulation refers to modeling of
a design, its function and performance.
• A software simulator is a computer
program; an emulator is a hardware
simulator.
• Simulation is used for design verification:
• Validate assumptions
• Verify logic
• Verify performance (timing)
• Types of simulation:
• Logic or switch level
• Timing
• Circuit
• Fault
Simulation for Verification
Specification
Synthesis
Computed True-value
Input stimuli
responses simulation
Modeling for Simulation
• Modules, blocks or components described by
• Input/output (I/O) function
• Delays associated with I/O signals
• Examples: binary adder, Boolean gates, FET, resistors
and capacitors
• Interconnects represent
• ideal signal carriers, or
• ideal electrical conductors
• Netlist: a format (or language) that describes a
design as an interconnection of modules.
Netlist may use hierarchy.
Example: A Full-Adder
c HA;
a inputs: a, b;
e
outputs: c, f;
d f AND: A1, (a, b), (c);
b
HA AND: A2, (d, e), (f);
Half-adder OR: O1, (a, b), (d);
NOT: N1, (c), (e);
A D
Carry FA;
B
HA1 E F inputs: A, B, C;
C
HA2 Sum
outputs: Carry, Sum;
HA: HA1, (A, B), (D, E);
Full-adder
HA: HA2, (E, C), (F, Sum);
OR: O2, (D, F), (Carry);
Logic Model of MOS Circuit
pMOS FETs VDD
a Da
a Dc c
Ca b Db
c
b Cc
Da and Db are
Cb interconnect or
nMOS FETs
propagation delays
Dc is inertial delay
Ca , Cb and Cc are of gate
parasitic capacitances
Inertial Delay
Options for Inertial Delay
(simulation of a NAND gate)
Transient
a
region
Inputs
c (CMOS)
c (zero delay)
Logic simulation
c (unit delay)
0 5 Time units
Signal States
• Compiled-code simulation
• Applicable to zero-delay combinational logic
• Also used for cycle-accurate synchronous sequential circuits
for logic verification
• Efficient for highly active circuits, but inefficient for low-
activity circuits
• High-level (e.g., C language) models can be used
• Event-driven simulation
• Only gates or modules with input events are evaluated (event
means a signal change)
• Delays can be accurately simulated for timing verification
• Efficient for low-activity circuits
• Can be extended for fault simulation
Event-Driven Algorithm
(Example)
Scheduled Activity
events list
a=1 e=1 t=0 c=? d, e
c=1 0 2
1
g=1
2
2 2 d = ?, e = ? f, g
d=0
3
Time stack
4 f=0
b=1 4 g=?
5
g 6 f=? g
0 4 8
Time, t 7
8 g=?
Event-Driven Algorithm
(Example)
Scheduled Activity
events list
a=1 e=1 t=0 c=0 d, e
c=1 0 2
1
g=1
2
2 2 d = 1, e = 0 f, g
d=0
3
Time stack
4 f=0
b=1 4 g=0
5
g 6 f=1 g
0 4 8
Time, t 7
8 g=1
Time Wheel (Circular Stack)
Current max
time t=0
pointer Event link-list
1
2
3
4
5
6
7
Efficiency of Event-Driven Simulator
Steady 0
Steady 0 Large logic
block without
(no event)
0 → 1 event activity
Summary
• Logic or true-value simulators are essential
tools for design verification.
• Verification vectors and expected responses
are generated (often manually) from
specifications.
• A logic simulator can be implemented using
either compiled-code or event-driven method.
• Per vector complexity of a logic simulator is
approximately linear in circuit size.
• Modeling level determines the evaluation
procedures used in the simulator.
Fault Simulation
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
272
ADVANTEST Model T6682 ATE
T6682 ATE Block Diagram
T6682 ATE Specifications
• Uses 0.35μ VLSI chips in implementation
• 1,024 digital pin channels
• Speed: 250, 500, or 1000 MHz
• Timing accuracy: +/- 200 ps
• Drive voltage: - 2.5 to 6 V
• Clock/strobe accuracy: +/- 870 ps
• Clock settling resolution: 31.25 ps
• Pattern multiplexing: write 2 patterns in one
ATE cycle
• Pin multiplexing: use 2 pins to control 1
DUT pin
Pattern Generation
• Sequential pattern generator (SQPG):
stores 16 Mvectors of patterns to apply to
DUT -- vector width determined by # DUT
pins
• Algorithmic pattern generator (ALPG): 32
independent address bits, 36 data bits
– For memory test – has address descrambler
– Has address failure memory
• Scan pattern generator (SCPG) supports
JTAG boundary scan, greatly reduces test
vector memory for full-scan testing
– 2 Gvector or 8 Gvector sizes
Response Checking and Frame
Processor
• Response Checking:
– Pulse train matching – ATE matches
patterns on 1 pin for up to 16 cycles
– Pattern matching mode – matches pattern
on a number of pins in 1 cycle
– Determines whether DUT output is correct,
changes patterns in real time
• Frame Processor – combines DUT input
stimulus from pattern generators with
DUT output waveform comparison
• Strobe time – interval after pattern
application when outputs sampled
Probing
• Pin electronics (PE) – electrical buffering
circuits, put as close as possible to DUT
• Uses pogo pin connector at test head
• Test head interface through custom printed
circuit board to wafer prober (unpackaged chip
test) or package handler (packaged chip test),
touches chips through a socket (contactor)
• Uses liquid cooling
• Can independently set VIH , VIL , VOH , VOL, IH , IL,
VT for each pin
• Parametric Measurement Unit (PMU)
Probe Card and Probe Needles or
Membrane
TESTABILITY MEASURES
285
Testability Measures
• Definition
• Controllability and observability
• SCOAP measures
– Combinational circuits
– Sequential circuits
• Summary
SCOAP
* The result is incremented by 1 so that the value reflects the distance to the PIs
Controllability Formulas
(Continued)
Combinational Observability
To observe a gate input: Observe output and make other input
values non-controlling.
Observability Formulas
(Continued)
336
337
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
338
Define Built-In Self-Test
• Implement the function of automatic test
equipment (ATE) on circuit under test (CUT).
• Hardware added to CUT:
• Pattern generation (PG)
• Response analysis (RA)
• Test controller CK PG
Chips +/- + -
Boards +/- + - -
System +/- + - - - -
+ Cost increase
- Cost saving
+/- Cost increase may balance cost reduction
Economics – BIST Costs
▪ Chip area overhead for:
• Test controller
• Hardware pattern generator
• Hardware response compacter
• Testing of BIST hardware
▪ Pin overhead -- At least 1 pin needed to activate
BIST operation
▪ Performance overhead – extra path delays due to
BIST
▪ Yield loss – due to increased chip area or more
chips In system because of BIST
▪ Reliability reduction – due to increased area
▪ Increased BIST hardware complexity – happens
when BIST hardware is made testable
BIST Benefits
• Faults tested:
▪ Single combinational / sequential stuck-at faults
▪ Delay faults
▪ Single stuck-at faults in BIST hardware
• BIST benefits
▪ Reduced testing and maintenance cost
▪ Lower test generation cost
▪ Reduced storage / maintenance of test patterns
▪ Simpler and less expensive ATE
▪ Can test many units in parallel
▪ Shorter test application times
▪ Can test at functional system speed
BIST Process
• LOGIC BIST
• MEMORY BIST
LOGIC BIST
PG Scan register PI and PO
disabled
Comb. logic during test
Scan register
BIST
BIST Go/No-go Comb. logic
Control
enable signature
logic
Scan register
Comb. logic
RA Scan register
Memory BIST
Summary
• LFSR pattern generator and MISR response analyzer –
preferred BIST methods
• BIST benefits:
▪ At-speed testing for delay and stuck-at faults
▪ Drastic ATE cost reduction
▪ Field test capability
▪ Faster diagnosis during system test
▪ Less effort to design testing process
▪ Shorter test application times
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
ATPG Algorithms
397
Combinational ATPG
• Flow chart
for method
• Use to get
tests for 60-
80% of
faults, then
switch to D-
algorithm or
other ATPG
for rest
Path Sensitization Method Circuit
Example
1 Fault Sensitization
2 Fault Propagation
3 Line Justification
Path Sensitization Method Circuit
Example
▪ Try path f – h – k – L blocked at j, since
there is no way to justify the 1 on i
1 D
D D
1 D
D 0
1
1
Path Sensitization Method Circuit
Example
▪ Try simultaneous paths f – h – k – L and
g – i – j – k – L blocked at k because
D-frontier (chain of D or D) disappears
1 D
D 1
1
D D
D
1
Path Sensitization Method Circuit
Example
▪ Final try: path g – i – j – k – L – test found!
0
0 D
1 D
D D D
1
1
History of Algorithm Speedups
Algorithm Est. speedup over D-ALG Year
(normalized to D-ALG time)
D-ALG 1 1966
PODEM 7 1981
FAN 23 1983
TOPS 292 1987
SOCRATES 1574 † ATPG System 1988
Waicukauski et al. 2189 † ATPG System 1990
EST 8765 † ATPG System 1991
TRAN 3005 † ATPG System 1993
Recursive learning 485 1995
Tafertshofer et al. 25057 1997
ATPG Problem
• ATPG: Automatic test pattern generation
– Given
• A circuit (usually at gate-level)
• A fault model (usually stuck-at type)
– Find
• A set of input vectors to detect all modeled faults.
• Core problem: Find a test vector for a
given fault.
• Combine the “core solution” with a fault
simulator into an ATPG system.
What is a Test?
Fault activation
Fault effect
X Combinational circuit
1
0
0 1/0 1/0
Primary inputs
1 Primary outputs
(PI)
0 (PO)
1
X
X
Path sensitization
Stuck-at-0 fault
ATPG is a Search Problem
• Search the input vector space for a test:
• Initialize all signals to unknown (X) state – complete
vector space is the playing field
• Activate the given fault and sensitize a path to a PO
– narrow down to one or more tests
Vector Vector
Space Circuit Space Circuit
X X
X 0
sa1 sa1 0/1
X 1
001 101
Need to Deal With Two Copies of the
Circuit
Good circuit
X X
Alternatively, use a multi-valued
0
algebra of signal values for both
Different outputs
0 good and faulty circuits.
Same input
D 1 D X D 1
D 1 D X 1 D
Definitions
• Line Justification: Changing inputs of a gate if the
present input values do not justify the output
value.
• Forward implication: Determination of the gate
output value, which is X, according to the input
values.
• Consistency check: Verifying that the gate output
is justifiable from the values of inputs, which may
have changed since the output was determined.
• D-frontier: Set of gates whose inputs have a D or ,
D and the output is X.
D-Algorithm
• Use D-algebra
• Activate fault
• Place a D or D at fault site
• Do justification, forward implication and consistency check
for all signals
• Repeatedly propagate D-chain toward POs through a gate
• Do justification, forward implication and consistency check
for all signals
• Backtrack if
• A conflict occurs, or
• D-frontier becomes a null set
• Stop when
• D or D at a PO, i.e., test found, or
• If search exhausted without a test, then no test possible
Definition: Singular Cover
• A singular cover defines the least restrictive
inputs for a deterministic output value.
• Used for:
• Line justification: determine gate inputs for specified
output.
• Forward implication: determine gate output.
a X Singular
0 a b c
c covers
b X
SC-1 0 X 1
Example: XX0 ∩ 110 = 110
SC-2 X 0 1
SC-3 1 1 0
Definition: D-Cubes
• D-cubes are singular
covers with five- D-cube a b c
valued signals
• Used for D-drive D-1 D 1 D
(propagation of D D-2 1 D D
through gates) and
forward implication. D-3 D 1 D
D-4 1 D D
D-5 D D D
a X D-6 D D D
X
c D-7 D 0 1
b D
D-8 0 D 1
Examples: XDX ∩ 1DD = 1DD D-9 D D 1
0DX ∩ 0D1 = 0D1
DDX ∩ DD1 = DD1 D-10 D D 1
An Example: XOR
a2
d
a1 c1
a c
b f
c2
b1
e
b2
6
(4,2)3
5
(1,1)6 7 (3,2)5
(5,5)0
7
(1,1)6 5
6
(4,2)3
Podem: Objective and Backtrace
2&3. Backtrace to a PI 1. Objective 1: set fault site to 1
and simulate
6
(4,2)3
5 1
(1,1)6 7 (3,2)5 sa0
0 D (5,5)0
7
1
(1,1)6 5
6
X-path check fails
(4,2)3 → Back up:
Erase effects of steps 2&3
Try alternative backtrace
Podem: Back up
4&5. Alt. backtrace to a PI 1. Objective 1: set fault site to 1
and simulate
6
(4,2)3
5
(1,1)6 7 (3,2)5 sa0
D (5,5)0
0 1
(1,1)6 7 5 X-path
1
X-path check: OK
6 Objective 1 achieved
(4,2)3
Podem: D-Drive
5. Backtrace to a PI 4. Objective 2: D-drive, set line to 1
and simulate
6
(4,2)3
1
5 D
(1,1)6 7 (3,2)5 sa0
1 D (5,5)0
7
0 1 D
(1,1)6 5
1 D at PO
6 →Test found
(4,2)3
Another Podem Example,
Find out (CC0, CC1)CO values of this circuit
S-a-1
Another Podem Example
3. Logic simulation for A=0 2. Backtrace “A=0” 1. Objective “0”
S-a-1
(9, 2)
0
0
0
S-a-1
0
(9, 2)
0
0
0
0
0
S-a-1
0
(9, 2)
0
0
0
0
0
S-a-1
0 0
(9, 2)
0
Fault simulator
yes
yes
Compact Coverage no
vectors Sufficient?
Random-Pattern Generation
• Easily gets
tests for 60-
80% of faults
• Then switch
to D-
algorithm,
Podem, or
other ATPG
method
Vector Compaction
• Objective: Reduce the size of test vector set
without reducing fault coverage.
• Simulate faults with test vectors in reverse
order of generation
• ATPG patterns go first
• Randomly-generated patterns go last (because they
may have less coverage)
• When coverage reaches 100% (or the original maximum
value), drop remaining patterns
• Significantly shortens test sequence – testing
cost reduction.
• Fault simulator is frequently used for
compaction.
• Many recent (improved) compaction
algorithms.
– Static & Dynamic compaction
Static and Dynamic Compaction of
Sequences
• Static compaction
• ATPG should leave unassigned inputs as X
• Two patterns compatible – if no conflicting values
for any PI
• Combine two tests ta and tb into one test tab = ta ∩ tb
using intersection
• Detects union of faults detected by ta and tb
• Dynamic compaction
• Process every partially-done ATPG vector
immediately
• Assign 0 or 1 to PIs to test additional faults
Compaction Example
• t1 = 0 1 X t2 = 0 X 1
t3 = 0 X 0 t4 = X 0 1
MEMORY TESTING
452
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
APPENDIX
498