Cmos Testing
Cmos Testing
Testing
Week 11
Fabrication
Manufacturing test
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
Chips to customer
Definitions
Design synthesis: Given an I/O function,
develop a procedure to manufacture a device using known materials and processes. Verification: Predictive analysis to ensure that the synthesized design, when manufactured, will perform the given I/O function. Test: A manufacturing step that ensures that the physical device, manufactured from the synthesized design, has no manufacturing defect.
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
hardware emulation, or formal methods. Performed once prior to manufacturing. Responsible for quality of design.
manufactured hardware. Two-part process: 1. Test generation: software process executed once during design 2. Test application: electrical tests applied to hardware Test application performed on every manufactured device. Responsible for quality of devices.
Test Classification
Diagnostic test
used in chip/board debugging defect localization used to determine whether a chip is functional simpler than diagnostic test; must be simple & swift x e [v,i] versus x e [0,1]
throughput of tester
make testing of manufactured part swift & comprehensive provide controllability and observability provide circuitry to enable test provide test patterns that guarantee reasonable coverage
[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
DFT mantra
Costs of Testing
Design for testability (DFT) Chip area overhead and yield reduction Performance overhead Software processes of test Test generation and fault simulation Test programming and debugging Manufacturing test Automatic test equipment (ATE) capital cost Test center operational cost
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
Running cost (five-year linear depreciation) = Depreciation + Maintenance + Operation = $0.854M + $0.085M + $0.5M = $1.439M/year Test cost (24 hour ATE operation) = $1.439M/(365 x 24 x 3,600) = 4.5 cents/second
Roles of Testing
Detection: Determination whether or not the device
under test (DUT) has some fault. Diagnosis: Identification of a specific fault that is present on DUT. Device characterization: Determination and correction of errors in design and/or test procedure. Failure mode analysis (FMA): Determination of manufacturing process errors that may have caused defects on the DUT.
Testing Principle
controllable and observable relatively easy to determine test patterns turn into combination circuits or, use self-test use self-test
Data terminal
RAM ROM
Mixedsignal Codec
Transmission medium
for given fault, determine excitation vector (called test vector) that will propagate error to primary (observable) output majority of available tools: combinational only sequential ATPG available from academic research
determines test coverage of proposed test-vector set simulates correct network in parallel with faulty networks
Fault simulation
ATPG definition
Operations on digital hardware:
Inject fault into circuit modeled in computer Use various ways to activate and propagate fault effect through hardware to circuit output Output flips from expected to faulty signal Electron-beam (E-beam) test observes internal signals picture of nodes charged to 0 and 1 in different colors Too expensive Scan design add test hardware to all flip-flops to make them a giant shift register in test mode Can shift state in, scan state out Widely used makes sequential test combinational Costs: 5 to 20% chip area, circuit delay, extra pin, longer test sequence
Missing contact windows Parasitic transistors Oxide breakdown ... Bulk defects (cracks, crystal imperfections) surface impurities (ion migration) ...
Material defects
Time-dependent failures
Packaging failures
Ref.: M. J. Howes and D. V. Morgan, Reliability and Degradation Semiconductor Devices and Circuits, Wiley, 1981.
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
Stuck At hatalar
Eldred (1959) First use of structural
testing for the Honeywell Datamatic 1000 computer Galey, Norby, Roth (1961) First publication of stuck-at-0 and stuck-at-1 faults Seshu & Freeman (1962) Use of stuckfaults for parallel fault simulation Poage (1963) Theoretical analysis of stuck-at faults
Fault Models
Most Popular - Stuck - at model
0 1
sa0 (output)
sa1 (input)
Covers almost all (other) occurring faults, such as opens and shorts.
Z
x1
x3
x2
[Adapted from http://infopad.eecs.berkeley.edu/~icdes ign/. Copyright 1996 UCB]
stuck-at faults
c
1 0 s-a-0
a b
d
e f
0(1) 1(0) 1
g
1
h i k
Equivalence Rules
sa0 sa0 sa1
sa0 sa1
sa1
sa0 sa1
AND
sa0 sa1
OR
sa0 sa1
WIRE
NOT
sa1 sa0
NAND
sa0 sa1
NOR
FANOUT
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
Equivalence Example
sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 20 Collapse ratio = ----- = 0.625 32 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 Faults in red removed by equivalence collapsing
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
Sequential effect
Needs two vectors to ensure detection! Other options: use stuck-open or stuck-short models This requires fault-simulation and analysis at the switch or transistor level - Very expensive!
[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
VDD
Stuckshort
A B
nMOS FETs
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
defects and are essential for a test methodology. For digital logic single stuck-at fault model offers best advantage of tools and experience. Many other faults (bridging, stuck-open and multiple stuck-at) are largely covered by stuck-at fault tests. Stuck-short and delay faults and technologydependent faults require special tests. Memory and analog circuits need other specialized fault models and tests.
Carry Circuit
214,863,536,422,912 patterns
Using 1 GHz ATE, would take 2.15 x 1022 years
Structural test: No redundant adder hardware, 64 bit slices Each with 27 faults (using fault equivalence) At most 64 x 27 = 1728 faults (tests) Takes 0.000001728 s on 1 GHz ATE Designer gives small set of functional tests augment
BDD
BDD Follow path from source to sink node
product of literals along path gives Boolean value at sink Rightmost path: A B C = 1 Problem: Size varies greatly with variable order
Algorithmic Completeness
Definition: Algorithm is complete if it
ultimately can search entire binary decision tree, as needed, to generate a test Untestable fault no test for it even after entire tree searched Combinational circuits only untestable faults are redundant, showing the presence of unnecessary hardware
Exhaustive Solution
For n-input circuit, generate all 2^n input
patterns Infeasible, unless circuit is partitioned into cones of logic, with <= 15 inputs
Perform exhaustive ATPG for each cone Misses faults that require specific activation patterns for multiple cones to be tested
Random number
Flow chart for
method Use to get tests for 6080% of faults, then switch to D-algorithm or other ATPG for rest
Fault enabling
1 1 Fault propagation 0
Example
Represent two machines, which are simulated simultaneously: Good circuit machine (1st value) Bad circuit machine (2nd value)
1
[Adapted from VLSI Testing Course by Bushnell/Agrawal at Rutgers]
0
D D D
1 1
1. 2. 3.
4.
solves the problem of reconvergent fanout and allows multipath sensitization [ Goel, 1981]. The method is similar to the basic algorithm we have already described except PODEM will retry a step, reversing an incorrect decision. There are four basic steps that we label: objective , backtrace , implication , and Dfrontier . These steps are as follows: Pick an objective to set a node to a value. Start with the fault origin as an objective and all other nodes set to 'X'. Backtrace to a PI and set it to a value that will help meet the objective. Simulate the network to calculate the effect of fixing the value of the PI (this step is called implication ). If there is no possibility of sensitizing a path to a PO, then retry by reversing the value of the PI that was set in step 2 and simulate again. Update the D-frontier and return to step 1. Stop if the D-frontier reaches a PO.
Podem at work
backtrace to J. We set J = '1'. Since K is still 'X', implication gives us no further information. We have no D-frontier to update. The objective is unchanged, but this time we backtrace to K. We set K = '1'. Implication gives us U2.ZN = 0' (since now J = '1' and K = '1') and therefore U7.ZN = '1'. We still have no D-frontier to update. We set U3.A1 = '1' as our objective in order to propagate the fault through U3. We backtrace to M. We set M = '1'. Implication gives us U2.ZN = '1' and U3.ZN = D. We update the D-frontier to reflect that U4.A2 = D and U6.A1 = D, so the D-frontier is U4 and U6. We pick U6.A2 = '1' as an objective in order to propagate the fault through U6. We backtrace to N. We set N = '1'. Implication gives us U6.ZN = D . We update the D-frontier to reflect that U4.A2 = D and U8.A1 = D , so the Dfrontier is U4 and U8. We pick U8.A1 = '1' as an objective in order to propagate the fault through U8. We backtrace to L. We set L = '0'. Implication gives us U5.ZN = '0' and therefore U8.ZN = 1' (this node is Z, the PO). There is then no possible sensitized path to the PO Z. We must have made an incorrect decision, we retry and set L = '1'. Implication now gives us U8.ZN = D and we have propagated the D-frontier to a PO.
ELE 711
TEST N TASARIM
DFT Week 11
DFT Definition
Design for testability (DFT) refers to those design
techniques that make test generation and test application cost-effective. DFT methods for digital circuits:
Ad-hoc methods Structured methods: Scan Partial Scan Built-in self-test (BIST) Boundary scan
Test Approaches
Problem gets harder
increasing complexity and heterogeneous combination of modules in systems-on-a-chip advanced packaging and assembly techniques extend problem to the board level
Data terminal
Transmission medium
Ad-hoc methods
Good design practices learnt through experience are used as
guidelines:
Avoid redundant gates. Avoid large fanin gates.(Large fan-in makes the inputs difficult to observe and the output difficult to control). Provide test control for difficult-to-control signals (long counter). Avoid gated clocks.
Disadvantages of ad-hoc DFT methods: Experts and tools not always available. Test generation is often manual with no guarantee of high fault coverage. Design iterations may be necessary.
Ad-hoc Test
Memory
address data data
Memory
address
test
select
Processor Processor
Scan
Proposed in '73 by Williams and Angell.
Two modes available: Normal and Test
Scan-based Test
ScanIn ScanOut Out
Register
Logic A
Register
In
Combinational
Combinational Logic B
Out0
Out1
Out2
Out3
Scan Design
Circuit is designed using pre-specified design rules. Test structure (hardware) is added to the verified design: Add a test control (TC) primary input. Replace flip-flops by scan flip-flops (SFF) and connect to form one or more shift registers in the test mode. Make input/output of each scan shift register controllable/observable from PI/PO. Use combinational ATPG to obtain tests for all testable faults in the combinational logic. Add shift register tests and convert ATPG tests into scan sequences for use in manufacturing test.
At least one PI must be available for test. All FFs must be controlled from PIs. Simple circuit transformations can be used to change FFs whose Clk is "gated" by an internal logic signal. Clocks must not feed data inputs of the FFs. A race condition can result in normal mode otherwise. This is generally considered good design practice anyway.
D2 CK
Comb. logic D1 D2 Q
FF
CK
Comb. logic
Master latch
Slave latch
Q
MUX
SD CK
D flip-flop
CK
t
Scan mode, SD selected
TC
SFF
SFF SFF
SCANOUT
TC or TCK SCANIN
Adding Scan
Scan flip-flops can be distributed among any number
of shift registers, each having a separate scanin and scanout pin. Test sequence length is determined by the longest scan shift register. Just one test control (TC) pin is essential.
PI/SCANIN Combinational logic SFF SFF TC SFF
M U X
PO/ SCANOUT
CK
Hierarchical Scan
Scan flip-flops are chained within subnetworks before
Automatic scan insertion in netlist Circuit hierarchy preserved helps in debugging and design changes
Scanout
Scanin
SFF2 SFF3
SFF1
SFF3
Scanout
SFF4
SFF2
Hierarchical netlist
Flat layout
TC
SCAN OUT
Routing channels
Interconnects
normal interconnect
Scan-in Scan-out
si
so scan path
Bonding Pad
Scan netlist
Chip layout: Scanchain optimization, timing verification
Test program
Mask data
in digital circuit Exponential complexity of ATPG algorithm a 20 flip-flop circuit can take days of computing
DFT Summary
Scan is the most popular DFT technique:
Rule-based design Automated DFT hardware insertion Combinational ATPG Design automation High fault coverage; helpful in diagnosis Hierarchical scan-testable modules are easily combined into large scan-testable systems Moderate area (~10%) and speed (~5%) overheads Large test data volume and long test time Basically a slow speed (DC) test
Advantages:
Disadvantages:
ELE 711
TEST
BIST Week 11
Test Controller
Rapidly becoming more important with increasing chip-complexity and larger modules
[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
BIST Architecture
Definitions
Aliasing Due to information loss, signatures of
good some bad machines match Compaction Drastically reduce # bits in original response lose information Compression Reduce # bits in original circuit response no information loss fully invertible (can get back response) Signature analysis Compact good machine response good machine signature. Actual signature generated during testing, and compared with good machine Transition Count Response Compaction Count # transitions from 0 1 and 1 0 as a signature
LFSR
A linear feedback shift register (LFSR). A 3-bit maximal-length LFSR produces a repeating string of seven pseudorandom binary numbers: 7, 3, 1, 4, 2, 5, 6.
Signature Analysis
In Counter R
Signature Generator
A 3-bit serial-input signature register (SISR) using an LFSR (linear feedback shift register). The LFSR is initialized to Q1Q2Q3 = '000' using the common RES (reset) signal. The signature, Q1Q2Q3, is formed from shift-and-add operations on the sequence of input bits (IN).
BIST example
BILBO
B0 B1 ScanOut R S0 R S1 R S2 D0 D1 D2
ScanIn
mux
1 0 1 0
B0=0
B0 B1 1 0 0 1
BILBO Application
ScanIn ScanOut
BILBO-A
Logic
BILBO-B
In
Combinational
Combinational Logic
Out
Transition Count