Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Interpolant-Based Don’t Care Computation I-Hsin Chen Graduate Institution of Electronics Engineering National Taiwan University 1 Outline 2 Introduction Interpolant Don’t Care Computation Method 1 Don’t Care Computation Method 2 Conclusion Why Compute Don’t Cares? 3 Don’t care computation determines the flexibility of intermediate nodes in a given logic circuit. Flexibility information is necessary in logic synthesis and verification Using don’t cares is an important technique for technology-independent logic synthesis of multi-level networks. Thus, get don’t care information from a circuit is a crucial step in logic optimization. Research Goal Compute the don’t care set by a SAT problem. Use the interpolant derived by the refutation prove to get the don’t care set 4 Circuit -> miter Miter -> CNF SAT solving -> UNSAT Refutation proof Proof -> Interpolant Interpolant -> don’t care set What is Interpolant? Given a pair of formulas (A, B), such that A^B is inconsistent, an interpolant for (A, B) is a formula P with the following properties: A implies P, P^B is unsatisfiable, and P refers only to the common variables of A and B. P B A 5 For example: A = p^q, B = ¬q^r, P' = q (Craig, 1957) How to Get Interpolant? For example: A = (b)(¬b c) B = (¬c d)(¬d) (¬b c) (b) (c) (¬d) 6 c (¬c d) (d) ^ ^ ^ Given a resolution refutation of A^B, P can be derived in linear time (Pudlak, Krajicek, 1997). ^ P=c Interpolant is a circuit following structure of the proof Method 1 Construction 7 Duplicate the original circuit with an inverter added to a fanout of a node. Constraint left part to represent care on set. Constraint right part to represent care off set. Let left part to be A, others to be B, thus, A^B is unsat. Algorithm of Method 1 8 Interpolant Strengthening Method 1 needs a process to derive different strength interpolant. For example, P and P’ are implied by A, and both are unsatisfiable with B, but they have different strength. P’ 9 P A B Method 2 Construction 10 Duplicate the circuit as we did in Method 1. Constraint left part to represent care set. Constraint right part to represent don’t care set. Let left part to be A, others to be B, and add the satisfy instance to B to make sure A^B is unsat. Algorithm of Method 2 11 SAT Instance 12 x is globa care set, x’ is globle don’t care set, although x and x’ are different, but they could cause y = y’. Conclusion We proposed two algorithms based on interpolation to compute don’t cares. Method 1 Method 2 13 Incomplete, but only need two SAT solving and interpolant. Complete, but may need run SAT solving several times.