1 / 13

Interpolant-Based Don’t Care Computation

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.

mhaskett
Download Presentation

Interpolant-Based Don’t Care Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interpolant-Based Don’t Care Computation I-Hsin Chen Graduate Institution of Electronics Engineering National Taiwan University

  2. Outline • Introduction • Interpolant • Don’t Care Computation Method 1 • Don’t Care Computation Method 2 • Conclusion

  3. 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.

  4. 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

  5. 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

  6. 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

  7. 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.

  8. Algorithm of Method 1

  9. 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

  10. 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.

  11. Algorithm of Method 2

  12. 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

  13. 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.

More Related