We begin with an overview of SAT, followed by a SAT based for mulation of the ATPG problem. A literal or a literal function is a binary variable x or its negation x. A clause is a disjunction containing lit erals.
A Conjunctive Normal Form expression S consists of a conjunction of m clauses c1. cm. Each clause ci consists of disjunction of ki literals. A CNF S is satisfied if it evaluates to 1. Satisfying S is equivalent to satisfying all ci Î S Given a Boolean formula S expressed in CNF, the objective of SAT is to identify an assignment of the binary variables in X that satisfies S, if such an assignment exists. For example, consider the formula S. This formula consists of 3 variables, 2 clauses, and 4 literals. This particular formula is satisfiable, and a satisfying assignment is or abc. There are several extensions to the SAT problem. One such extension of interest is All SAT. For a SAT formula, there may exist many satisfying assign ments. The objective of All SAT is to find all satisfying assignments. Another useful extension is Weighted par tial Max SAT which aims to satisfy a partial set of clauses. In WPMS, each clause in the CNF is identified as a hard clause or soft clause. Each soft clause is asso ciated with a weight. The problem then is to identify an assignment that satisfies all hard clauses while maximizing the total weight of the satisfied soft clauses. SAT based formulation for stuck at fault model In the SAT based ATPG method, we first generate a formula in CNF to represent tests for the fault. To do so, the circuit from the stuck at fault model must be converted to a CNF. Every gate of the circuit has CNF formula associated with it, which represent the function performed by the gate. The formula is true iff the variables representing the gates inputs and out puts take on values consistent with its truth table. For example, consider a 2 input AND gate with the lines x and y as inputs and z as output. The CNF formula for the AND gate is written as A CNF formula for the entire circuit S is obtained by forming the conjunction of the CNF formulas for all the gates of the circuit. If there are n gates in the circuit, then the CNF formula S for the entire circuit is written as circuit, with faults injected at the gates to be affected by faults. We explain our approach using a simple example. Assume we are given the BN network from Figure 1, which has two gates g1 and g2, primary inputs a, b, c, and primary output z. Also assume and we want to model a stuck at 1 fault on the output of gate g1 as shown in the figure. From our stuck at model, we insert an OR gate g3 at that location.
We label the output of g3 as e, which is now an input to gate g2. The gate g3 has two inputs, d and a side input f. With all inputs and outputs labeled, we obtain the CNF formula for each gates and the entire circuit. When all the s a 0 and s a 1 variables are set to false, the CNF formula S describes the good cir cuit behavior.