Title: Applications of Binary Decision Diagrams in Logic Synthesis, Verification, and Testing
1A Boolean Paradigm in Multi-Valued Logic
Synthesis Alan Mishchenko Electrical and
Computer Engineering Portland State
University Robert K. Brayton Electrical
Engineering and Computer Science University of
California, Berkeley June 5, 2002
2Overview
- Motivation
- Background
- Optimization Algorithms
- Node simplification
- Partial encoding
- Decomposition
- Resubstitution
- Common logic extraction
- Case study Decomposition and SAT
- Conclusions
3Algebraic vs. Boolean Algorithms
- Most of the currently used logic synthesis
algorithms are algebraic (do not use Boolean
identities such as a ? a a and a ? a 0) - sub-optimal quality, fast
- Boolean algorithms are also known but seldom used
- better quality, slower
- There is no unified picture of the Boolean
algorithms for logic synthesis
4Goals of the Present Work
- Develop Boolean algorithms working on MV
relations - Explore interdepen-dence and common computational
core of the Boolean algorithms - This study is possible because of the vantage
point of multi-valued logic optimization
5Optimization Algorithms
- Node simplification
- Partial (value reducing) encoding
- Decomposition
- Resubstitution
- Common logic extraction
6Node Simplification
- Compute and use complete flexibility (CF) to
simplify the node - CF in global space R(X, yi) ?Z R(X, yi, Z) ?
R(X, Z) - CF in local space R(Y, yi) ?X M(X, Y) ?
R(X, yi) - Use R(Y, yi) to optimize MV-SOP (heuristic, exact)
7Partial (Value Reducing) Encoding
- R2 is a wire, a cube, or a given function
- Transformation is accepted if
- ?log2Â v2? ?log2Â v1? ? ?log2Â v?
- v2 v1? v
8Decomposition and Encoding
- Select bound set XB
- Compute the CF of block B1 assuming v1 is the
product of values in XB (column compatibility is
not used) - Encode B1 using value-reducing encoding to get B2
- Inputs in XC are shared, which leads to
non-disjoint decomposition
9Resubstitution
- Compute R(Y, y), the complete flexibility of ?
- Find node R3(Y3, y3), Y3 ?Y, y3 ? Y
- Substitute R3(Y3, y3) into R(Y, y)
Rs(Ys, y) R(Y, y) ?
R3(Y3, y3), Ys Y ? y3 - Minimize Rs(Ys, y) to get Rr(Yr, y), Yr Ys
- Accept transformation if Rr(Yr, y) reduces the
cost of ?
10Common Logic Extraction
- Get several functionally related nodes
- Merge the nodes and derive complete flexibility,
R?, of the merged node - Look at cofactors appearing at a window of levels
in the BDD of R? - Find a set of compatible cofactors and express
them as an MV relation - Try the MV relation as a Boolean divisor of the
original nodes
11Case Study Decomposition and SAT
- Ashenhurst-Curtis decomposition of multi-valued
relations - R(A,B,v) H( G(A,v), B, v )
- disjoint-support A ? B ?
- support-reducing log2range(G) ? log2A
- Multi-valued SAT
- Multi-valued input, binary output CNF formula
- Each clause is composed of MV literals
- An assignment of MV variables satisfies the CNF
formula, if in each clause, there is at least one
literal with a value belonging to the assignment
12SAT Variables
- n variables ci, 1 ? i ? n, to encode the coloring
of columns. Value j belongs to the value set of
variable ci, if the corresponding column, i, can
be colored with the color j. The range of ci is
n/2. - m variables dij, one for each entry in the table
that can take more than one value. These
variables represent subsets of original values
Sij, which are in agreement with the selected
decomposition. The range is the range ? of the
relation.
13SAT Clauses
- Containment of the selected values in the
original values of the cells in the decomposition
chart - dij ?Sij, ?i,j 0 ? i lt n, 0 ? j lt n
- Coloring is compatible with the selected cell
values
14Simplifications of SAT Problem
- No need to introduce variables dij and ci
- If a column is incompatible with other columns
- If two columns can only be compatible with each
other - No need to introduce variable dij
- If the corresponding cell in the decomposition
chart has only one value. - Using an efficient SAT solver, it may be possible
to solve the decomposition problem for nodes with
8-12 input variables
15Conclusions
- Boolean paradigm
- Boolean operations are applied to the MV relation
representing the complete flexibility of a node
derived from the network structure - An efficient implementation may be possible due
to common computational cores (BDDs and SAT) and
recently improved algorithms - A more general point of view reveals underlying
relationships among the procedures
16Conclusions (continued)
- A synthesis flow based of these methods may lead
to the improvements in the optimization quality
because - The use of multi-valued logic leads to searching
a larger space of solutions. - Boolean (not only algebraic) properties of nodes
are exploited. - The complete sets of dont-cares (partial cares)
give greater flexibility for optimizing the nodes
of the network. - The SAT-based formulation is not limited to one
particular encoding or coloring. - Functional decomposition can be performed
concurrently with technology mapping (similar to
Kravets and Sakallah, DAC98).
17A Boolean Paradigm in Multi-Valued Logic
SynthesisAlan Mishchenko, ECE Dept, Portland
State University Robert K. Brayton, EECS Dept,
UC Berkeley
- Optimization algorithms considered
- Node simplification
- Partial encoding
- Decomposition
- Resubstitution
- Common logic extraction
- Case study Decomposition and SAT
- The goal of this work
- Develop Boolean algorithms working on MV
relations - Explore interdependence and common computational
core of Boolean algorithms - This study is possible because of the vantage
point of multi-valued logic optimization