Download Interpolant-Based Don`t Care Computation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Catuṣkoṭi wikipedia , lookup

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