Combinational Circuit ATPG based on PODEM Ziqi Zhou

Combinational Circuit ATPG based on PODEM Ziqi Zhou Auburn University Department of Electrical and Computer Engineering 3/23/2016

Combinational Circuit ATPG based on PODEM Why we need to test chips? What is ATPG? Combinational circuit ATPG algorithm How PODEM works in a circuit Result Future work References 2

Combinational Circuit ATPG based on PODEM Why we need to test chips? l Many integrated circuits contain fabrication defects upon manufacture l Die yields may only be 20 -60% for high end circuits l ICs must be carefully tested to screen out faulty parts before integration in systems l Latent faults that cause early life failure must also be screened out through “burn-in” stress tests Only focus on combinational circuits 3

Combinational Circuit ATPG based on PODEM What is ATPG? ATPG(Automatic test pattern generation) is an electronic design automation method/technology used to find an input (or test) sequence that, when applied to a digital circuit, enables automatic test equipment to distinguish between the correct circuit behavior and the faulty circuit behavior caused by defects. Fault models: l The Stuck-at faults l Transistor faults l Bridging faults Only focus on stuck at faults 4

Combinational Circuit ATPG based on PODEM Combinational Circuit ATPG algorithm: D-algorithm l The D Algorithm was the first practical test generation algorithm in terms of memory requirements. The D Algorithm [proposed by Roth 1966] introduced D notation, which continues to be used in most ATPG algorithms. D algorithm tries to propagate the stuck at fault value denoted by D (for SA 0) or D’ (for SA 1) to a primary output. Podem l Path-Oriented Decision Making (PODEM) is an improvement over the D Algorithm. PODEM was created in 1981, by Prabhu Goel, when shortcomings in D Algorithm became evident because design innovations resulted in circuits that D Algorithm could not test. More efficient algorithms: FAN algorithm 5

Combinational Circuit ATPG based on PODEM The advantage of PODEM: l Expand binary decision tree only around primary inputs l This reduces size of tree from 2 n to 2 num_PI l D-ALG failed to generate test for these circuits u Search too undirected u Large XOR-gate trees u Must set all external inputs to define output 6

Combinational Circuit ATPG based on PODEM High-Level Flow: 1. Assign value to an unassigned primary input 2. Determine all implications of assignment 3. If test is generated, exit; else 4. Is test is possible with additional input assignments ? l fault site doesn't have fault value assigned l Path of unassigned leads from D (D’) to an output l If yes, go to 1, if no 5. Change input assignments to untried combination, go to 2 l If no untried combination exists — untestable fault 7

Conbinational Circuit ATPG based on PODEM About the program : Using c++ code. Works in Linux Using gcc compiler 8

Conbinational Circuit ATPG based on PODEM Read circuit: For example, if the first column is 0 then it's a gate. Second column is the output of the gate. Outline, also called line number, is unique. Third column is the type of the gate. Column 4 is the number of fan-out (how many outputs this gate drives. )The fifth column is the number of inputs to the gate. Column 6 -N are the line numbers of the inputs to the gate. Similarly for PI (Primary input of the circuit), PO (Primary output of the circuit) and BR (Branches). 9

Combinational Circuit ATPG based on PODEM Read circuit: (Cont. ) 10

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 1: Select path s – Y for fault propagation 11

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 2: Initial objective: l Set r to 1 to sensitize fault 12

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 3: Backtrace from r 13

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 4: Set A = 0 in implication stack 14

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 5: Forward implications: d = 0, X = 1 15

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 6: Initial objective: set r to 1 16

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 7: Backtrace from r again 17

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 8: Set B to 1. l Implications in stack: A = 0, B = 1 18

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 9: Forward implications: l k = 1, m = 0, r = 1, q = 1, Y = 1, s = D’, u = D’, v=D’, Z = 1 19

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 10: X-PATH-CHECK: l paths s – Y and s – u – v – Z blocked 20

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 11: Set B = 0 (alternate assignment) 21

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 12: Forward implications: l d = 0, X=1, m = 1, r = 0, s = 1, q = 0, Y = 1, v = 0, Z = 1 l Fault not sensitized 22

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 13: Set A = 1 (alternate assignment) 23

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 14: Backtrace from r again 24

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 15: Set B = 0. l Implications in stack: A = 1, B = 0 25

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 16: Forward implications: l d = 0, X = 1, m = 1, r = 0. Conflict: fault not sensitized. Backtrack 26

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 17: Set B = 1 (alternative assignment) 27

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit: Step 18: Forward implications: l d = 1, m = 1, r = 1, q = 0, s = D’, v = D, X = 0, Y = D’ Test found 28

Combinational Circuit ATPG based on PODEM How PODEM works in a circuit 29

Combinational Circuit ATPG based on PODEM Future works: l Make it work on XOR and XNOR gates. l Improve this program, make it work not only on combinational circuits, but also on Sequential circuits. 30

References l M. L. Bushnell, V. D. Agrawal, Essentials of Electronics Testing for Digital, Memory & Mixed Signal VLSI Circuits, Kluwer Academic Publishers, Boston MA, 2000 l P. Goel, “An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits, ” IEEE transactions on Computers, Vol. C-30, no. 3, pp. 215222, 1981 l P. Goel, B. C. Rosales, “ PODEM-X: An automatic test generation system for VLSI logic structures, ” Proceedings of the 18 th conference on Design automation, pp. 260 - 268, 1981 l Wang, Wu and Wen (2006) VLSI Test Principles and Architectures: Design for Testability. San Francisco: Morgan Kaufmann Publishers 31

Thank you! 32
- Slides: 32