Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
-
date post
21-Dec-2015 -
Category
Documents
-
view
227 -
download
0
Transcript of Boolean Unification EE219B Presented by: Jason Shamberger March 1, 2000.
Boolean Unification
EE219BPresented by: Jason
ShambergerMarch 1, 2000
Outline What is Boolean unification? Boolean unification algorithms
Boole’s method Löwenheim’s method
Applications
Boolean Unification Boolean unification is a procedure
to obtain a general solution of a Boolean equation
Use parametric variables to represent don’t cares
Boolean Unification Given a Boolean equation of the form
0),...,,,...,( 11 mn qqxxf
Where xi’s are inputs and qi’s are constants
We want to find the most general substitution for xi’s, that satisfies the above equation
Boolean Unification
),...,,,...,(
),...,,,...,(
11
1111
mnnn
mn
qqppgx
qqppgx
Where pi’s can be any variable or function
Boolean Unification: Example Consider the following example:
0),,( 213132321 xxxaxaxxxxxf
)( 2133
212
11
pppax
ppax
pax
The solutions for x1, x2, x3 are:
Algorithms for Boolean Unification There are two main algorithms for
Boolean unification Boole’s method Löwenheim’s method
Both algorithms can be implemented using BDD operations
Boole’s Method Based on successive elimination of variables Define conjunctive eliminant (ECON) as:
)),((),(
}){,(
),(
SRfECONECONSRfECON
ffxfECON
ffECON
ii xxi
Boole’s Method If X, G, and P represent the vectors of inputs,
parameters, and parametric functions, then the parametric general solution of the equation:
0)( Xf
)(
0 0
PGX
g
APGtsBPXfECONAf
BPXfECONPGf
XfECONg
k
k
)(..),()(
),,())((
),(0
Is a system:
Such that the following conditions are satisfied:
Theorem It can be shown that for a Boolean
function f, for which a solution to f(x)=0 exists:
Bpxfpfxf ,)1()0(0)(
Where:
BBf :
Proof: A sketch of the proof:
}|)1()0({
}0)(|{
BpfpfP
xfxS
To show S=P:
0}){,(
)()()(
:
10
11001010
xfECONff
ffpfffpffpff
SP
Proof::PS
Show for all a in B, there is a p in B:
afpfaf 100)( Use the property that:
0
0)(0)(
gf
XgXf
Simplifies to:
0][10 apff Which is satisfied for all p=a
Boole’s Method Using this result, we can generate parametric
equations for each of the functions gi
Consider a 3 variable function:
0),,( 321 xxxf
0}),,{,(}){,(
0}),{,(}){,()(
0}){,(}){,(),(
0),(),,(
123110
232211
333212
3213
xxxfECONxfECONf
xxfECONxfECONxf
xfECONxfECONxxf
ffECONxxxf We first calculate the eliminants:
Boole’s Method We can now generate functions for each
input x:
)1),(),(()0),(),((),,(
)1),(()0),((),(
)1()0()(
2211332211332133
11221122122
111111
pgpgfppgpgfpppgx
pgfppgfppgx
fpfpgx
And the parametric general solution is:
),,(
),(
)(
0
32133
2122
111
0
pppgx
ppgx
pgx
g
Boole’s Method: Example As an example, consider the RST flip-
flop, which is defined by the equations:
STRTRS
TyTRySY
0 y is the present state, Y is the next state,
R,S,T are the reset, set, and toggle inputs. The first equation describes how the next
state is determined, and the second equation is the constraint that only one input may be a 1 at any time
Boole’s Method: Example We first need to solve the system for R,S, and
T which we consider variables, in terms of y and Y which we regard as elements of B.
0),,( TSRf
STRTRSTSyYSyYRTSYyTRYyTYySYf
Where f is defined by:
Boole’s Method: Example
The eliminants are:
0}){,(
0}){,()(
0}){,(),(
0),(),,(
10
21
32
3
RfECONf
YRSfECONRf
SYYRTfECONSRf
ffECONTSRf
0 STRTRSTSyYSyYRTSYyTRYyTYySYf
Boole’s Method: Example We can now derive the parametric
expressions for the general solution:
YypYyppppgT
YpppgS
YppgR
213213
2212
111
),,(
0),(
0)(
00
Any values can be chosen for pi’s.
For example, let p1=1, p2=y :
YyT
yYS
YR
Boole’s Method: The method of successive
elimination demonstrates that we need at most n parameters, but possibly less as in the previous example.
Most unification algorithms are implementations of Boole’s method
Löwenheim’s Method: Allows us to form a parametric
general solution from any particular solution
Useful when it is trivial to find a particular solution, and constructing a general solution is inconvenient
Löwenheim’s Method: Theorem: Let U be a particular solution of a
consistent Boolean equation f(x)=0, and let P be an n-tuple of arbitrary parameters. Then a parametric general solution is given by:
)(ˆ
0 0
PGX
g
)()()(ˆ PfPPUfPG
Provided that:
Löwenheim’s Method: Proof:
Using the previous definition, the following conditions must be satisfied:
APGtsBPXfECONAf
BPXfECONPGf
XfECONg
k
k
)(ˆ..),()(
),,())(ˆ(
),(0
Löwenheim’s Method: Example
Consider the RST flip-flop example from before. An easily obtained particular solution of the RST equation is:
0
T
YS
YR
STRTRS
TyTRySY
0
Löwenheim’s Method: Example There are three inputs, thus there are
three parameters, we will call them p,q,r. Using the previous theorem, the general
solution is given by:
),,(),,(
0)(ˆ
)(ˆ
)(ˆ
3
2
1
rqpf
r
q
p
rqpfY
Y
Pg
Pg
Pg
Löwenheim’s Method: Example After some calculations we arrive at:
)(
)(
)(
00
YyYyrqpT
YryyrqpS
YyryrqpR
Notice that we generate n new parameters for an n variable equation.
Applications Applications include:
Design rectification Boolean matching Minimizing Boolean relations
Application: Design Rectification Problem:
A circuit has already been laid out, but small modifications are desired (design errors, change in specs)
Can only add extra circuitry before input pins, or after output pins
f f C1 z i z i x
f’
Application: Design Rectification To guarantee that the rectification is
correct, the following must hold:
)(~
),( ifxif
This is equivalent to computing:
0)(~
),( ifxif
Which is in the necessary form for Boolean unification
Conclusion Boolean unification allows us to
solve a Boolean equation of the form f(X)=0
Generate parametric equations for each of the inputs xi
Is feasible to implement using BDD representations
References Boolean Reasoning: The Logic of
Boolean Equations. Brown, Frank Markham
Application of Boolean Unification to Logic Synthesis. Poncino, Massimo
Application of Boolean Unification to Combinational Logic Synthesis. Fujita, Masahiro etal.