DFT Basics
DFT Basics
DFT Basics
DFT stands for Design for Testification. DFT engineers try to make the
testing of design more cost effective by introducing some structures into
the design itself. By doing so, the overall test cost, and hence, cost of
production comes down.
Design for testability (DFT) makes it possible to: • Assure the detection of
all faults in a circuit. • Reduce the cost and time associated with test
development. • Reduce the execution time of performing test on fabricated
chips.
We will focus on DFT techniques for digital logic, although it is relevant
for memory and Analog/mixed-signal components as well. An example
chip level DFT technique is called Built-in self-test (BIST)
The DFT techniques discussed focus on improving testability of SAFs.
DFT for other fault models, e.g., delay faults, is described in the literature.
DFT stands for “Design for Test”. There are two main modes in any
design operation. Functional mode and Scan mode.
Generally the scan part can be understood as a way to discover stuck at
faults, at speed faults.
Stuck at fault: It models manufacturing defects which occurs when a
circuit node is shorted to VDD (stuck-at-1 fault) or GND (stuck-at-0
fault) permanently. The fault can be at the input or output of a gate.
At speed fault: This is related to the delay at the input and output
nodes of the design under consideration. So each port is tested for
logic 0-to-1 transition delay (slow-to-rise fault) or logic 1-to-0
transition delay (slow-to-fall fault).
Not sure about this one, but will try to provide an analogy.
According to me the reset needs to be dedicated.
For example, The scan-mode and scan-enable are two different
signals. During the test operation of the chip, scan mode will always
remain high (means active), but scan-enable will toggle (it will be 1
during scan chain loading and unloading, while it will be 0 during
the capture cycle in the test-operation mode.
Well controlling the reset pin of the flop is only to increased the scan
coverage.
if there is not enough pads for that, the reset should in the inactive
state to be able to shift in/out the scan chains. The main reason why
test reset should be used is that you will not cover paths to
SET/RESET pins of the DFF, as functional reset should be inactive
during scan test. Thus any defect on reset path (except stuck-at
which will prevent scan chain from shifting) will not be detected.
Generally you need only 1 extra pin - 'test_mode' for DFT. Any
other can be multiplexed. (In some cases internally generated
test_mode can be used, but this technique is far more complex).
a reset signal can also be internally generated in the design, during
scan shift this reset signal can get activated and reset a particular
flop in the chain, if this happens then all the flops proceeding to the
reset flop will receive reset value and not the intended input pattern.
Hence a flop which needs to be included in the scan chain must have
its reset completely controlled in the DFT mode. With the complete
control-ability the reset will be held inactive during scan shift and
during capture the control should be given to the functional path.
Scan chains are stitched using the Flip Flops present in the design,
which is used for testing the combinatorial logic of the chip. For
testing the memories, Built in Self-Test (BIST) is performed.
Automatic Test Pattern Generation (ATPG) is a major step in this
process where patterns are generated, which are simulated (pattern
validation) to test for possible causes of failure of the chip.
SCAN
SCAN Styles
There are three types of scan styles that are commonly talked about in the
industry. They are, 1. Multiplexed Scan Style 2. Dual Clock Scan Style
and 3. LSSD (Level Sensitive Scan Design) style
Even though all the above three methods achieve the same goal, there are
preferences among the designers and foundries to follow one of the above
three methods. The most commonly used method is the first one
(MUXScan style) and this is a simpler method too. Most of the tools and
ASIC vendors support this method of scan design. The second method is
also not a very difficult one. The difference here is that there will be a
separate clock for the scan mode, apart from the normal functional mode
clock. These two methods are more suitable for flip-flop based designs.
The third method is more suitable for latch based designs and the ASIC
vendor has to support this scan design using special types of cells
particularly designed for this method. These scan cells occupy almost
double the size of the normal flop cell and hence there is a huge area
impact on the chip. This method is not very widely used. IBM supports
this method in their design flow due to some special reasons. In this
document we will be discussing only about the most commonly used scan
design, the muxscan design. In this flow, each of the flops in the logic will
be replaced by an equivalent scan cell. The scan cell differs from the
normal flop by the fact that it has a multiplexer in front of the input pin
“D”. The figure below shows the normal flop and an equivalent scan flop.
The multiplexer has two inputs and a select line. During the normal mode
the “TE” (test enable) pin of the scan flop will be “zero” and the MUX
selects the normal mode input to the “D” pin of the actual flop. During the
test mode, the “TE” pin will be driven to “one” for applying the input
vectors. When the “TE” pin is “one” the test input (TI) is selected by the
MUX and applied to the input pin “D” of the flop. With this arrangement
of the flop with a multiplexer, we can hook up a scan chain to test various
portions of the die.