3. DESIGN FOR TEST 21
1 Introduction 21
1.1 Fault models 21
1.1.1 Stuck-at Fault Model 22
1.1.2 Bridging Fault Model 22
1.1.3 Stuck-Open Fault Model 23
1.1.4 Delay Fault Model 23
1.2 Test Generation for Combinational Circuits 24
1.2.1 Path Sensitization 25
1.2.2 Boolean Difference 25
1.2.3 D-algorithm 26
1.2.4 PODEM (Path-Oriented Decision-Making) 27
1.2.5 FAN (Fanout-Oriented Test Generation) 28
1.2.6 Subscripted D-Algorithm 28
1.2.7 CONcurrent Test Generation 28
1.2.8 Fault Simulation 28
1.2.9 Optimization 28
1.2.10 Delay Fault Detection 30
1.3 Testing Sequential Circuits 30
2 Design-for-Test Methods 31
2.1 Test Point Insertion 32
2.2 The Scan Technique 32
2.2.1 Scan Testing for Delay Faults 36
2.3 Test Pattern Generation for BIST 39
2.3.1 Exhaustive Pattern Generation 40
2.3.2 Pseudo-Random Pattern Generation 40
2.3.3 Pseudo-random-based test generation 40
2.3.4 Deterministic Testing 41
2.4 Test Response Analysis for BIST 41
2.5 Circular-BIST 43
2.6 BIST-Architectures 43
2.6.1 BILBO (Built-In Logic Block Observer), 43
2.6.2 STUMPS Architecture 44
2.6.3 LOCST (LSSD On-Chip Self-Test) 44
2.7 Memory Testing 45
2.7.1 Algorithmic Test Sequence (ATS) 48
2.7.2 Marching Pattern Sequences (MARCH) 48
2.7.3 Checkboard Test 49
2.7.4 Memory BIST 49
2.7.5 Memory Diagnosis and Repair 50
3 Mixed-Signal Testing 51