Motivation VLSI 12-33 Design

advertisement
Motivation
VLSI
Design
Course
12-33
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Motivation
Chapter 13
Testing and Design for Testability
13.1 Motivation
Stable chip manufacturing costs
Increasing testing costs:
{ Increasing number of gates/device
{ Limited number of pins
! Increasing number of internal states
! Increasing logical and sequential depth
Example:
Testing of a combinational circuit with n inputs (10 MHz, one test per cycle)
n time for test
25
3 s
30 107 s
40
1 day
50 3.5 years
60 3656 years
Testability has to be considered in all phases of design
VLSI
Design
Course
13-1
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Economical Considerations
13.2 Economical Considerations
13.2.1 Average Quality Level (AQL)
#DefectiveParts
aql = #AcceptedParts
VLSI
Design
Course
13-2
Darmstadt University of Technology
Institute of Microelectronic Systems
(13.1)
0
Economical Considerations
13.2.2 Correlation: Fault Coverage and Defective Parts
DL(= AQL): Number of defective circuits which have been classied as correct working
(testing with T )
Y: yield
T: fault coverage
DL = 1 ; Y 1;T
VLSI
Design
Course
13-3
(13.2)
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Economical Considerations
Figure 13.1: Defect level as function of yield and fault coverage
VLSI
Design
Course
13-4
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design Flow: Testing
13.3 Design Flow: Testing
Figure 13.2: A typical synthesis ow
VLSI
Design
Course
13-5
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fundamental Denitions
13.3.1 Chip Test after Manufacturing
Manufacturing Process
#
Parametric Test (current/power dissipation)
(erroneous chips are marked with color points and removed after sawing)
#
Chip Test on Tester
13.4 Fundamental Denitions
Figure 13.3: Relationship between faults, errors and failures
fault:
physical defect, imperfection or aw which occurs in an hardware or software component
error:
manifestation of a fault (erroneous information on an hardware line or in a program,
caused by a fault)
failure:
malfunction of a system
Figure 13.4: Three-universe model of a system
VLSI
Design
Course
13-6
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Models
13.5 Fault Models
Basis: physical phenomena
Oxide defects
Missing implants
Lithographic defects
Junction defects
Metal shorts & opens
Moisture accumulation
Impurities/Contaminants
Static discharge
Figure 13.5: Examples for physical faults
VLSI
Design
Course
13-7
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Models
VLSI
Design
Course
13-8
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Models
VLSI
Design
Course
13-9
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Models
VLSI
Design
Course
13-10
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Models
VLSI
Design
Course
13-11
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Tolerant Design
13.6 Fault Tolerant Design
Fault tolerance achieved by redundancy techniques:
Duplication with Complementary Logic
Figure 13.6: Fault detection by duplication with complementary logic
Self-Checking Logic
Recongurable Array Structures
VLSI
Design
Course
13-12
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Tolerant Design
Figure 13.7: 4-by-4 array with one spare column
VLSI
Design
Course
13-13
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Tolerant Design
Figure 13.8: Recongured array
VLSI
Design
Course
13-14
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
13.7 Test Pattern Generation
manually
pseudo random (leads up to 60% fault coverage)
algorithmic
special test patterns for RAMs
? fault coverage sucient ?
) fault simulation
13.7.1 The D-Algorithm
Every test generation procedure has to solve the following problems
1. Creation of a change at the faulty line
2. Propagation of the change to the primary output line
In the D-Algorithm the symbols D and D are used to refer to the changes. D and D are used
as follows:
D: used if a line has the value 1 in absence of a fault and the value 0 in case of a fault
ocurrance
D: used if a line has the value 0 if no fault occurs and otherwise the value 1
The D-algorithm method for path sensitization consists of two principal phases:
1. forward drive (propagation) of an D-value to an primary output
2. backward trace (consistency operation)
These two steps are iterated for dierent propagation paths for the D-value from one dedicated
internal point i to one dedicated primary output point o until the backward trace phase is
nished without any contradiction (a test vector for a fault at i has been found) or until all
possible paths from i to o have been examined.
VLSI
Design
Course
13-15
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
Figure 13.9: Basic concept of D-algorithm
1. A primitive D-cube of a failure is a D-cube associated with a fault l= on the output
line l of a gate G. This produces the value D or D on l and the input lines have values
which would produce in the fault-free case.
Figure 13.10: Primitive D-cube of fault (pdcf) for two-input NAND gate
VLSI
Design
Course
13-16
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
2. A propagation D-cube of a failure species the propagation of changes at one (or
more) inputs of a gate G to its output l.
Figure 13.11: Propagation-D-cube (pdc) for two-input NAND gate
3. A singular cover of a gate G is a f0,1,Xg truth table representation of G
Figure 13.12: Singular cover for two-input NAND gate
VLSI
Design
Course
13-17
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
Figure 13.13: Singular covers for several basic logic gates
VLSI
Design
Course
13-18
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
Figure 13.14: Construction the singular cover of an logic module
VLSI
Design
Course
13-19
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
In the following the D-algorithm is illustrated for the given example from g. 13.15
Figure 13.15: Example circuit illustrating D-algorithm
Table 13.1: Propagation D-cube table
Table 13.2: Singular cover table
VLSI
Design
Course
13-20
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
Table 13.3: D-cube intersection table
VLSI
Design
Course
13-21
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
Running the D-algorithm for generating a test for line 5/0:
1. Start with D-cube for the fault 5/0:
2. The D of line 5 is automatically propagated to line 6 and 7 by cube j .
3. Now the propagation along path 6 ! 9 ! 11 is considered:
D on line 6 is propagated to line 9 by cube d. Combining d and k yields cube l:
4. If cube i is used with D instead of D, the propagation to the output can be done:
5. Now the consistency phase is started and a value for line 4 has to be found. From the
singular cover table can be seen that a 0 on line 10 implies both line 7 and line 8 to be
1. In cube m line 7 is a D (and also line 5 which is connected to 7 by j ) and this D must
now be set to 1 which is a contradiction which disables the path sensitization 5 ! 6/7
! 9 ! 11.
) Start test vector generation using another path
6. Starting the propagation along 5 ! 7 ! 10 ! 11 leads to the following cube:
7. From the singular cover table we get the information that a 1 on line 8 is the same as a
0 on line 4. Additionally it can be seen that the 0 on line 9 can be obtained by a 1 on
line 1.
8. This yields the nal cube
1110DDD10DD
VLSI
Design
Course
13-22
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Test Pattern Generation
9. ) a test vector for line 5/0 is given by
1110
VLSI
Design
Course
13-23
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Fault Simulation
13.8 Fault Simulation
13.8.1 Algorithms: Serial Fault Simulation
Figure 13.16: Serial fault simulation
13.8.2 Improved Algorithms
Parallel Fault Simulation
Concurrent Fault Simulation
) discussed in CAD lecture
VLSI
Design
Course
13-24
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
13.9 Design for Testability
Circuit level: restriction of physically possible faults
Logic level: restrict possibilities of realizations
System level: restrict size of components and number of states
Testability:
controllability
observability
! additional chip area required
! shorter design cycle
Methods to improve controllability and observability:
ad-hoc techniques
structured approaches
Figure 13.17: Design for testability: complex gate (a) not testable with stuck-at model. (b)
fully testable with stuck-at model
13.9.1 Ad-Hoc Techniques
developed for special design
less silicon area
design automation almost impossible
partitioning (test of circuit components by use of dedicated multiplexers)
VLSI
Design
Course
13-25
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Figure 13.18: Testability: ad-hoc techniques (partitioning for testability)
VLSI
Design
Course
13-26
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Figure 13.19: Testability: ad-hoc techniques (a) insertion of register in order to limit logic
depth to a given maximum value. (b) test shift registers for PLA test (increasing PLA area).
VLSI
Design
Course
13-27
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
13.9.2 Scan-Path Methods
Scan-Path:
Main idea: test of sequential network is reduced to test of combinational network
for circuits consisting of logic with some feedbacks
can be realized by reconguration of latches as shift registers (two mode of use)
Figure 13.20: Feedback logic with scanpath
Test scan-path/register function rst:
Flush test (0 : : : 010 : : : 0) or
shift test (00110011 : : : ) (each register transfer is tested by this combination: 0 ! 0,
0 ! 1, 1 ! 1 and 1 ! 0).
Cycle for testing combinational logic function:
1. Scan mode: Preload Y and set PI
2. System operation mode: Wait until inputs of Y are steady. Clock new state into Y.
3. Shift state out.
Compare PO and state values with expected responses
VLSI
Design
Course
13-28
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Advantages:
Testability of clocked circuits is improved and guaranteed at design stage
Consistent with good VLSI design practice
(rules, abstraction, modularity : : :)
Does not require special CAD
Disadvantages:
Wastes silicon
Constrains designer to design according given conditions
Additional Complexity
Overhead
' 2% for a fundamentally 'structured' design
' 30% for 'wild' logic
13.9.3 Built-In Tests
System generates test vectors by its own
Analyse and evaluation of test vectors is also automatically done
Compromise: silicon $ testability
Test Pattern Generators
Test patterns are generated inside the circuit to be tested
Short testing time, simple test programs, self-test
Example: Test pattern memories, deterministic generators, counter
VLSI
Design
Course
13-29
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Figure 13.21: Examples for built-in test pattern generators
VLSI
Design
Course
13-30
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Pseudo Random Number Generators
Figure 13.22: Pseudo random pattern generator
VLSI
Design
Course
13-31
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Example:
Figure 13.23: Example for pseudo random pattern generator
VLSI
Design
Course
13-32
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
13.9.4 Evaluation of Testing Data
Evaluation of testing results inside the circuit
Counting techniques, signature analyse
Example: Counting Techniques
Figure 13.24: Counting techniques for test data evaluation
VLSI
Design
Course
13-33
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Signature Analyse
Communication technique: coding theory
Code words: data stream D, polynom P(x), division modulo 2
D =Q+ R
P
P
! Evaluation of testing data
Figure 13.25: Test data evaluation by signature analyse
VLSI
Design
Course
13-34
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Signature Analyse: Degree of Fault Recognition
1. Length of sequence: m bit ! 2m sequences possible
2. One sequence contains no faults ! number of erroneous sequences is 2m ; 1
3. Length of signature register: n bit ! 2n signatures
4. 2m sequences are mapped on 2n signatures ! number of nondetectable faults:
2m ; 1 = 2m;n ; 1
2n
5. Possibility for nondetection of erroneous sequence: number of nondetectable faults divided by number of possible faults:
m;n
N = 22m ;;11
6. ) Fault detection rate:
m;n
F = 1 ; 22m ;;1 1
F 1 ; 2n
VLSI
Design
Course
13-35
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
Interpretation:
all faults recognized if m < n (trivial)
long sequences: n is important only
n = 16 bit ;! F = 99,99985%
Parallel Signature Register with k Inputs
Figure 13.26: Parallel signature register
Fault recognition rate:
VLSI
Design
Course
mk;n
F = 1 ; 2 2mk ;;11
13-36
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
13.9.5 Built-In Logic Block Observation
A BILBO register is a universal element for use in either a scanpath environment or a self-test
(signature analysis) environment.
Figure 13.27: BILBO registers: 1. full circuit 2. normal use 3. scan-path use 4. signature
analysis
Advantages:
Versatility
{ Normal operation
{ Scan-path test: enhances testability
{ Test vector generation via LFSR
{ Data compression via LFSR
{ Combined scan-path/self-test using same LFSRs
Disadvantages:
Silicon area
{ BILBO latch can be ' 50% larger than ordinary latch
VLSI
Design
Course
13-37
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Design for Testability
13.9.6 Example: Self-testing Circuit
Figure 13.28: Example: self-testing circuit
VLSI
Design
Course
13-38
Darmstadt University of Technology
Institute of Microelectronic Systems
0
Download