Microsoft Word - Digital Logic Design v_4_6a

(lily) #1

6.4. Design for Testability (DFT)


During the design phase, you need to consider the testing needs. Here are a few key types of testing to
consider:


 Go/No Go Testing
The goal of this test is to ensure that the product is functional before delivering it to the customer.
This type of test indicates whether the product is functional and can be shipped or not.


 Diagnostic Test
As the name implies, this test is typically used to find which subsystem is failing, so it can be replaced
or repaired. This type of test benefits from testability consideration during the design phase.


With the proper attention to Design For Testability (DFT), the diagnostic test will:

1) Be easier to develop.
2) Be more effective in finding problems earlier.
3) Reduce downtime, and may even test while the system is operating, which leads to failure
prediction.
4) Reduce cost of a failed product in production phase as well as within warranty.

 Testing
Digital designs are tested by applying test vectors, which are a set of input values and expected
output values.


 Simplification Assumptions
In the worst case scenario, we require 2 n vectors to test an n-input combinational circuit. So,
engineers make assumptions about the type of errors in order to simplify the process:

 Single bit fault
Here the assumption is that only one bit (or line or pin) may be stuck at 1 or 0 incorrectly.

Using an 8-input AND gate to demonstrate the benefit of this simplification, instead of
needing 2^8 or 256 vectors, we can fully test this circuit with the following nine vectors (walking
the 0):

[11111111] [01111111] [10111111]... [11111011] [11111101] [11111110]

 Test-generation programs
When the system is more complex, it is hard to impossible to create test vectors by hand.
There are programs designed to create test vectors based on circuit design to ensure that the
product functions so that all design requirements (customer needs) are met.

DFT methods attempt to simplify test-pattern generation by enhancing the “controllability” and
“observeability” of logic elements in the circuit.


  • In a circuit with good controllability, it is easy to produce any desired values on the
    internal signals of the circuit by applying an appropriate test-vector input combination to
    the primary input. You may even add additional inputs just for testing.

  • In a circuit with good observeability, any internal signal value can be easily propagated to
    a primary output for comparison with the expected output. You may even add additional
    outputs just for testing.

Free download pdf