Test 101:
Testing and DFT Tutorial
 Jeff Rearick
 DFT COE
 10/04/2001
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
Why Bother to Test?
• Because it is difficult to make defect-free chips.
Good Reasons To Do Test
• IC manufacturing is far from perfect
 – Even if yield is 99%, defect level is 10k DPM
 – This is an unacceptable quality level
• Identifying which chips are bad is non-trivial
 – Deserves step(s) in manufacturing process
 – Deserves attention during design process
 – Deserves automated tools
• Test adds value:
 – Increases quality level
 – Provides feedback for process improvement
How Much Do We Need to Test?
• Short answer: it depends:
 – Can you tolerate shipping defective material?
 • Pacemakers, space shuttles, stock exchange
 computers, etc. : NO! So, test a lot.
 • Give-away toys at ITC exhibitor booths: probably.
 – Is your process yield very high?
 • Yes? Then there are not many defects; minimize.
 • No? Then there are lots of defects, so test a lot.
 – Is your profit margin determined by test time?
 • Yes? Work on yield, continually optimize test.
 • No? Then test to meet your quality specs.
 Test Coverage and Quality
 (1-C)
 Williams & Brown model: DL = 1-Y
 DL = Defect Level
 Y = functional yield
Reject Rate %
 C = defect coverage
 1-Y
 Big issue: measuring
 defect coverage
 0
 0 100 (approximated as
 Coverage % stuck-at coverage )
Test Coverage and Quality : Theory
 Reject Rate vs. Fault Coverage
 25
 20
 Reject Rate %
 n0=2.5
 15 n0=3.0
 n0=3.5
 n0=4.0
 10 Williams-Brown
 Stuck-at Coverage
 0
 0 20 40 60 80 100
 Fault Coverage %
Test Coverage and Quality : Data
 Reject Rate vs. Fault Coverage
 25
 20
 Reject Rate %
 n0=2.5
 15 n0=3.0
 n0=3.5
 n0=4.0
 10 Williams-Brown
 Stuck-at Coverage
 0
 0 20 40 60 80 100
 Fault Coverage %
 Maxwell, ITC’91
 Test Coverage and Quality
 -(n0-1)C
 (1-C)(1-Y)e
Seth & Agrawal model: DL =
 Y + (1-C)(1-Y)e -(n0-1)C
 n0= average number of
Reject Rate %
 1-Y
 faults on a bad die
 0
 0 100
 Coverage %
Test Coverage and Quality : Better
 Reject Rate vs. Fault Coverage
 25
 20
 Reject Rate %
 n0=2.5
 15 n0=3.0
 n0=3.5
 n0=4.0
 10 Williams-Brown
 Stuck-at Coverage
 0
 0 20 40 60 80 100
 Fault Coverage %
The Cumulative Effect of Low Quality
 • If a given component is tested to Q% quality:
 n
 – A system using n of them has Q % quality
 • Examples:
 – 90% quality level, 10 uses => 34.87% yield
 – 99.9% quality, 100 uses => 90.48% yield
 Message:
 Test coverage drives quality and profitability!
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
 When Do We Test? Process steps:
• During fabrication: optical inspection, parametrics
• Wafer sort: single die or multi-site
• Package test: wire-bond, flip-chip, BGA, etc.
• Board test:
 – MCM: Multi-Chip Module
 – PCA: Printed Circuit Assembly
 – PCB: Printed Circuit Board
• System test: in the assembled unit
• On-line test: during normal circuit operation
 Test Early, Test Often
 • Production economics: find bad parts early!
wafer wafer pack- pkg board
fab sort aging test build
 $x $10x
 board system system ship field
 test build test return
 $100x $1000x $$$x
 When To Invest in Test: DESIGN!
• Test problems are very hard to fix after the fact
 – Once design is set in stone (er, glass), it is very
 expensive to change
 – Test history is full of stories of manufacturing
 nightmares due to poor testability
• Design-for-testability is a far superior choice
 – Consider all phases of testability up front
 – Test hardware investment on silicon can be
 very cost-effective, but pay attention to area
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
What Do We Test?
Level of Integration Circuit Type
 • ASICs, ASSPs
 • Discrete devices
 • Microprocessors
 • Wafers
 • Memories
 • Bare die
 • FPGAs
 • Packages
 • Analog & RF devices
 • MCMs
 • Mixed-signal devices
 • Boards
 • Cores (any of the above)
 • Systems
 • SOC (System-On-Chip)
 Implication: a variety of ATE platforms
 What Do We Test For?
 Function or Structure or Defects?
 Three competing philosophies:
• Functional Test
 – Does a device do what it is supposed to do?
• Structural Test
 – Does a device contain defect-free structures
 and interconnections?
• Defect-based Test
 – Is the device statistically indistinguishable from
 all the others like it?
 The Life Cycle Dimension of Test
• Device characterization vs. production test
 – Characterization finds design margins
 • Operating points + guardbands (Voltage, Frequency)
 • Reliability (ESD, EM, package integrity)
 – Production test verifies defect-free manufacture
• Initial tests verify the defect-free operation of device
• Does the device have any latent defects?
 – Time-dependent dielectric breakdown
 – Metal opens (EM risk)
• Reliability screening: stress, burn-in
 Defects, Faults, Errors, Failures
• Defects = physical mistakes (particle, parameter)
• Faults = logical abstractions of defects
 – stuck-at faults : line acts as if it is always 0 (1)
 – transition faults: line is slow-to-rise (fall)
 – bridging faults: two lines are equipotential
• Errors = faults that result in incorrect operation
• Failures = observed errors
A test for a defect excites the corresponding fault,
propagates the error, and observes the failure.
 What Constitutes a Good Test?
• Uses several fault models
 – Defects manifest themselves many ways
• Obtains high fault coverage
 – Exponential effect on quality level
• Covers faults multiple different ways
 – 500% is better than 100% (McCluskey ITC’95)
• Uses several different types of patterns
 – Scan + Functional + IDDQ + Delay
A Variety of Tests is Best
 • Sematech experiment results
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
 How Do We Test?
 • Test project life cycle: design through obsolescence
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
design tape 1st production end
start out Si release
 project milestones
 How Do We Do Test?
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
Design For Testability
• Purpose: make chip easy to test thoroughly
• Motivation: finish in our lifetime
 n
 – n-input combinational logic has 2 patterns
 m
 – m-flop sequential circuit has 2 states
 – Possible tests: 2 m+n; possible orders: 2m+n!
• Tricks of the trade: control and observe
 – Boundary scan: IEEE 1149.1, P1149.6
 – Internal scan (full scan of digital logic)
 – Built-in Self Test (BIST)
 – ad hoc (test points, etc.)
DFT: Scan Design
• Scan concept: connect all flops into shift register
• Two modes: normal, scan (SCAN_EN signal)
• Transforms sequential circuit into combinational
• EDA tools automate scan insertion and rule
 checking
 PI PO PI PO
 PS NS PPI PPO
 logic cloud logic cloud
 scan
 flip-
 flops
DFT for Digital Circuitry : Original
PI combinational logic
 PO
 D1 D2
 Q1 Q2
 CK
DFT for Digital Circuitry : Full Scan
PI combinational logic
 PO
 D1 D2
 Q1 Q2
 SOUT
 SIN
 CK
 scan_enable
DFT: Scan Test Application
• SCAN_EN = 1; scan data into flops
• Apply Primary Inputs (PIs)
• Observe Primary Outputs (POs)
• SCAN_EN = 0; capture D-input into flops
• SCAN_EN = 1: scan data out of flops; compare
 combinational logic
 PI PO
 D1 D2
 Q1 Q2
 SOUT
 SIN
 CK
 scan_enable
 How Do We Do Test?
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
Test Generation
• Scan ATPG:
 – Inputs: circuit netlist, test procedures
 – Outputs: test patterns, fault coverage stats
• Functional test
 – Extract from design verification testbenches
 – Cycle-ize (to match ATE timing)
• BIST activation tests
• Manual test generation
 – Parametric tests, I/O tests, etc.
 How Do We Do Test?
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
ATE program generation
 • Translation from source language to tester
 – ATPG: STIL, WGL
 – Simulation: VCD, various forms of ascii
 • Timing waveforms
 • Sequencing
 • Test flow creation
 • Test points and guardbanding
 • Binning
 How Do We Do Test?
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
Characterization: Know Your ATE
• ATE features
 – Shmoo
 • Power supplies
 • Clock frequency
 – Edge finding
• ATE limitations
 – Physical: pin count, vector depth, edge count
 – Overall Timing Accuracy (OTA)
 • input, output, input-to-output, across testers
 – Current limits
 – Frequency limits
Example Shmoo Plot
 Characterization: Learn Your Chip
• Margins
 – Power supplies
 – Clock frequency (critical paths)
 – I/O edge placement
• Power consumption (dynamic and static)
• Thermal behavior (with temperature forcing)
• QA: ESD, Latch-up, Stress, Burnin, Environmental
• Failure Analysis:
 – e-beam probing, emission microscopy, thermal imaging
 – strip-back, cross-sectioning
 – FIB : Focused Ion Beam rework
 How Do We Do Test?
design phase: DFT
 test generation: ATPG
 ATE programming
 characterization
 production test
 Production Test
• Ideals: repeatability, consistency, uniformity
• Realities: randomness, drift, intermittency
• Tools: quality ATE, calibration, standard parts
• Issues: outsourcing, transfer, platform migration
• Opportunities: yield tuning, process feedback,
 quality enhancements
Testing and Design for Testability
 • Why test? How much?
 • When do we test?
 • What do we test? What do we test for?
 • How do we test?
 We’re done!