Вы находитесь на странице: 1из 22

DFT Quick Reference

Guide

Kavita Chaturvedi

1
Outline
• Purpose
• DFT Basics
• DFT Issues & Fixes
• Scan Compression
• Tool Usage
– Scan Insertion Flow in RC
– Scan Compression Flow in RC
– ATPG Flow (For SAF) in ET
– ATPG Flow (For TDF) in ET

2
Purpose
• The purpose of this document is to serve as a DFT guidelines for
beginners.
• This gives an overview of design-for-test (DFT) issues and shows the
use of Cadence tools usage as part of typical DFT design flow.

3
DFT Basics: Why DFT?
• DFT is performed for manufacturing test which ensures that design
parts are manufactured correctly.
• Design needs to be testable to perform scan. A circuit is “testable” if all
internal nodes of interest can be set to logic 0 or 1, and any change in
the desired logic value at a node of interest, due to a fault, can be
observed externally.

4
DFT Basics: Testability Measurement
• Quality of test is measured in terms of coverage.
• Coverage is calculated in two forms: test coverage and fault coverage.
– Test coverage is defined as the percentage of detected faults out of total
detectable faults. This coverage is a more meaningful evaluation for test
pattern quality.
– Fault coverage is defined as the percentage of detected faults out of all
faults, including the undetected faults.

5
DFT Basics: Scan Process

Once the FFs are


Every flip-flop in the replaced, they are
design is replaced with stitched together to form
scan-able flop. a long shift register.
6
DFT Basics: Scan Process Cont’d

Capture Mode: The


Scan Mode: The scan- design is in functional
mode and scan-enable mode (scan-enable is off)
pins are enabled to shift to capture the functional
data into and out of the response from the
scan cells combinational logic. 7
DFT Basics: Types of Fault
• Stuck-at Fault (SAF) : There are two types of stuck-at faults:
– ST1 fault when the output node is always at logic 1 value even if applied a
logic 0 on the input.
– ST0 fault when the line is applied a logic 1, it produces a logic 0.
• Transition Delay Fault (TDF): The transition-delay fault model is
similar to the stuck-at fault model, except that it attempts to detect slow-
to-rise and slow-to-fall nodes, rather than stuck-at-0 and stuck at-1
nodes.
– A slow-to-rise fault means that a transition from 0 to 1 on the node does not
produce the correct results at the maximum operating speed of the device.
– Similarly, a slow-to-fall fault means that a transition from 1 to 0 on a node
does not produce the correct results at the maximum operating speed of the
device.
– Two vectors (launch & capture) are required to detect slow-to-rise/fall fault;
the APTG process launches a transition with one clock edge and then
captures the effect of that transition with another clock edge.
8
DFT Basics: SAF vs TDF

Stuck-at Fault Transition Delay Fault


9
1a - DFT Issues & Fixes

>> Derived Clock : It is


generated by a flip-flop,
1a- Derived Clock

a latch, or any internal


clock generator-a PLL,
a frequency divider, or a
pulse generator—in the
circuit.
>> These clocks can
render a large part of
the design un-testable
because you cannot
control the flip-flops
from any primary
input—you cannot scan Example
in values.
10
1a - DFT Issues & Fixes Cont’d
>> This problem can
be addressed by
1a- Derived Clock

adding a MUX in front


of the clock pin.

Fixes

11
1b - DFT Issues & Fixes
>> Gated clocks are used
to reduce power
consumption by
1b- Gated Clock

temporarily “turning off”


part of the circuit when it
is not in use.
>> It is generated
internally from an external
clock. If the clocks of
these flip-flops cannot be
controlled from primary
inputs, the gated clocks
make it impossible to
scan in data.
>> Solution is ,ORed the
test_enable (TE) port with
enable which makes the Fixes
clock active during shift-
mode.
12
2 - DFT Issues & Fixes
>> Internally
Generated
asynchronous set/reset
2 – Asynchronous

signals of scan cells


that are not directly
Set/Reset

controlled from primary


inputs can prevent
scan chains from
shifting data properly.
>> To avoid this
problem, these
asynchronous set/reset
signals are forced to
an inactive state during
the shift operation .
Fixes

13
3 - DFT Issues & Fixes
>> Combinational loops
may lead to races, and
results in unpredictable
3 – Combinational

circuit behavior.
Feedback Loop

>> Since the value stored


in the loop cannot be
controlled or determined
during test, this can lead
to an increase in test
generation complexity or
fault coverage loss.
>> The best way is to
rewrite the RTL code.
>> If re-writing the RTL is
not possible then add
controllability in feedback-
loop. Fixes

14
4 - DFT Issues & Fixes
>> Bus contention
4 – Bus Contention
occurs when two
drivers are driving
different values on the
same bus.
>> It can cause severe
damage to the chip.
Therefore, you must
prevent bus conflicts
during both normal
operation and scan
operation.
>> Make sure only one
tri-state gate is
selected at any given Example
time during normal
operation.
15
4 - DFT Issues & Fixes Cont’d
>> During scan
operation, if the enable
4 – Bus Contention

signals are derived from


scan flip-flops, it is
possible that a scan
pattern may cause more
than one driver active at
the same time.
>> During the shift
operation, contention
can happen with
continuous 1’s
>> To avoid this problem,
combinational logic
gated with a Scan
Enable signal must be
added to the enable
logic.
When SE = 1 EN1=1, Fixes
EN2=0 and EN3=0 only
16
D1 enabled
5 - DFT Issues & Fixes

>> Each bidirectional I/O


5-Bi-Directional IOs

port must be externally


controllable.
>> During the shift
operation, the input/output
tri-state buffer may
become active, resulting in
a conflict if BO and the I/O
port driven by the tester
have opposite logic
values.
>> Solution is to force bi-
directional port to input or
output during scan shift to
avoid contention with the Fixes
tester.
17
Tool Usage: DFT Constraints File Format

Type of Ports In RTL Compiler (RC) In Encounter Test (ET)


Test Mode define_dft test_mode -name TM0 -active high assign pin=TM0 test_function= +TI;
scan_mode
Scan Enable define_dft shift_enable -name SE0 -active assign pin=SE0 test_function= +SE;
high scan_en
Asynchronous define_dft test mode -name SRst0 -active assign pin=SRst0 test_function= +SC;
Reset high scan_reset -scan_shift
Clock define_dft test_clock -name SClk0 -period assign pin=SClk0 test_function= -ES;
1000
Scan-in/out define_dft scan_chain -name c0 –sdi scanin\ assign pin=scanin test_function=
Ports –sdo scanout -shift_enable SE0 SI0;
assign pin=scanout test_function=
SO0;

18
Tool Usage: Scan-Insertion Flow in RC

19
Tool Usage: ATPG Flow (For SAF) in ET

20
Tool Usage: ATPG Flow (For TDF) in ET

21
Thank You

22

Вам также может понравиться