Professional Documents
Culture Documents
I. Introduction to DFT
Testing is one of the most expensive parts of chips Testing is one of the most expensive
parts of chips:
> Logic verification accounts for > 50% of design effort for many chips effort for
many chips.
> Debug time after fabrication has enormous opportunity cost opportunity cost.
> Shipping defective parts can sink a company.
Following the so-called Moore’s law [Moore 1965], the scale of ICs has doubled every 18
months so the defection is unavoidable. The reduction in feature size increases the
probability that a manufacturing defect in the IC will result in a faulty chip. A very small
defect can easily result in a faulty transistor or interconnecting wire when the feature size is
less than 100 nm.
Before the chip is manufactured, the designer must analyze the "test" strategy (plan)
of the chip to determine if the current design is capable of testing physical errors at
the chip level. Basically, the two main activities of DFT analysis and design are:
> Modeling physical errors (fault modeling) to predict errors may occur and
provide solutions to detect them.
> Logical design supports the detection of physical errors if necessary. Note,
adding DFT logic is to make testing at the chip level easier, but in some
cases, DFT logic does not need to be added but can still be tested.
Example 1. Design a circuit, with the following table and make the device testable
assign a13 = ~ (in1 & in 3); assign out_z = ~ (a12 & a13 & a23);
0 0 0 1 1 1 0
0 0 1 1 1 1 0
0 1 0 1 1 1 0
0 1 1 1 1 0 1
1 0 0 1 1 1 0
1 0 1 1 0 1 1
1 1 0 0 1 1 1
1 1 1 0 0 0 1
Table 1. Truth table
Figure 2. Circuit Diagram
If a physical error occurs such as a GND and VCC connection. This line’s value may
be stuck at level logic “0” (stuck- at 0) hoac “1” (stuck_at 1). These are fault models.
*) Test fault model for a12: At chip level, the control and monitoiring of internal
signals(lines) such as a12, a13, a23, is only possible through the pins(ports) chip,
such as in1, in2, in3, out_z. A connection line inside the chip is only tested when
it can be controlled to the desired value (controllable) and can
monitored(observable).
a12 is controlled to the expected value by in1 and in2; is monitored by out_z.
Stuck- at 1: Drive a12 driven to logic 0 and check a12. If a12 is equal to "0" then the
conclusion that a12 will not be stuck-at-1 error.
> Test-pattern 1: in1 = in2 = 1 to a12 = 0 and in3 = 0 to a13 = a23 = 1, the out_z
output will be monitored and checked with the desired value of out_z = 1. If
only test-pattern 1 is used, the result is not sufficient to confirm that "a12 does
not have a struck-at-1 error" because out_z = 1 may be due to a13 = 0 or a23 =
0 if either of these lines is stuck-at -0. So we need to add test- pattern to
confirm that a13 and a23 are not stuck-at-0.
> Test-pattern 2: ini = in2 = in3 = 0 to a12 = a13 = a23 = 1 and monitor the
output out_z = 0. The result of this test-pattern can confirm that a13 and a23
cannot be stuck-at-0 because out_z = 0 only if a12 = a13 = a23 = 1.
Stuck- at 0: Drive a12 driven to logic 0 and check a12. If a12 is equal to "0" then the
conclusion that a12 will not be stuck-at-1 error.
fault coverage (%) = (total number of detected errors / total number of detected
errors) * 100
Fault coverage evaluates the error detection capability of a test-pattern set for a given
fault model, such as a stuck-at fault model.
Example 2. Design a multiplexer circuit, with the following table and make the
device test-able.
i0 i1 sel z
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Table 2. Truth table
Fig 6 gives a diagram, where we have attempted to generate PFT, which can detect a stuck at
‘0’ fault at the node ‘n4’ as shown in Fig 4 and also Fig 5. The output q0, which is also the
‘scan_out’ from the design, is drawn in green, and red color. Green means, no fault was
reported, as it will be in pre-production fault simulation, or in post-production testing, if
there was no stuck at ‘0’ fault detected in the physical device. Red shows an error, and is only
possible in post-production test.
Figure 6. Fault Simulation to evaluate stuck at ‘0’ fault at net ‘n4’
Summary:
> The circuit given to us in Fig 2 was modified in order to make the internal nodes in
the design ‘controllable’ and ‘observable’, so that we can now perform fault-
simulation, before production of the device, then save those sets of PFT to be used by
a Tester, on physical device after production. We can now say that we have added
DFT circuit to our original design, to make it DFT-able. The resulting DFT- able of
Fig2 is Fig 3.
> This method of DFT will only be able to detect stuck at faults in the design.
>
> Any sequential design may be made DFT-able to detect the stuck-at faults in the
design, by the method shown above.
> The process of DFT is independent of the functional specification of the circuit. c)
Example of complex Digital chip (loading...)
Boundary Scan
DIGITAL
Memory
MBistControl [do
update retain
1FD
IFA
OJ'U
ANALOG
Figure 7. Digital Block
bs chain in TDu
IAr ( O N I ROLLER
dr chain in
~ TMS~ TL’K mi ] KM
2.2) DFT technique
- Ad-hoc (difficult to use in large circuit)
DFT technique
1 ■■
Many different types of scan FF. The following example to convert DFF to Scan DFF.
Scan Design Testing Sequence:
Step 5: Apply Clock to capture results in scan chain (Scan mode =0).
Step 6: Scan-out results and scan-in next test vector (Scan mode =1).
example
Specialized software such as DFT compiler (Synopsys) will do this. Each library of
technology used to synthesize supports two types of FFs, the normal-function type
(non-scan FF) and the type of scanning support function (FF scan)
Testing boards is also difficult. Boundary scan build capability of observing and controlling
pins into each chip to make board test easier.
(Loading ...)