130 likes | 144 Views
Learn about the methods to compute don't care sets using interpolation, essential for logic synthesis and verification. Two algorithms are presented, leveraging interpolants to enhance flexibility in logic circuits.
E N D
Interpolant-Based Don’t Care Computation I-Hsin Chen Graduate Institution of Electronics Engineering National Taiwan University
Outline • Introduction • Interpolant • Don’t Care Computation Method 1 • Don’t Care Computation Method 2 • Conclusion
Why Compute Don’t Cares? • 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. • Circuit -> miter • Miter -> CNF • SAT solving -> UNSAT • Refutation proof • Use the interpolant derived by the refutation prove to get the don’t care set • Proof -> Interpolant • Interpolant -> don’t care set
P B A 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^Bis unsatisfiable, and • P refers only to the common variables of A and B. (Craig, 1957) • For example: A = p^q, B = ¬q^r, P' = q
c (b) (¬bÚc) ^ (c) (¬c Ú d) ^ (¬d) (d) ^ P=c How to Get Interpolant? • Given a resolution refutation of A^B, P can be derived in linear time (Pudlak, Krajicek, 1997). • For example:A = (b)(¬b Úc)B = (¬c Ú d)(¬d) ^ • Interpolant is a circuit following structure of the proof
Method 1 Construction • 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.
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 B P’ A A
Method 2 Construction • 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.
SAT Instance x is globa care set, x’ is globle don’t care set, although x and x’ are different, but they could cause y = y’. 12
Conclusion • We proposed two algorithms based on interpolation to compute don’t cares. • Method 1 • Incomplete, but only need two SAT solving and interpolant. • Method 2 • Complete, but may need run SAT solving several times.