300 likes | 509 Views
Boolean Unification. EE219B Presented by: Jason Shamberger March 1, 2000. Outline. What is Boolean unification? Boolean unification algorithms Boole’s method L ö wenheim’s method Applications. Boolean Unification.
E N D
Boolean Unification EE219B Presented by: Jason Shamberger March 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 • 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 • Where pi’s can be any variable or function
Boolean Unification: Example • Consider the following example: • 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:
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: • 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: • Where:
Proof: • A sketch of the proof: • To show S=P:
Proof: • Show for all a in B, there is a p in B: • Use the property that: • Simplifies to: • 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: • We first calculate the eliminants:
Boole’s Method • We can now generate functions for each input x: • And the parametric general solution is:
Boole’s Method: Example • As an example, consider the RST flip-flop, which is defined by the equations: • 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. • Where f is defined by:
Boole’s Method: Example • The eliminants are:
Boole’s Method: Example • We can now derive the parametric expressions for the general solution: • Any values can be chosen for pi’s. • For example, let p1=1, p2=y :
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: • Provided that:
Löwenheim’s Method: • Proof: • Using the previous definition, the following conditions must be satisfied:
Löwenheim’s Method: Example • Consider the RST flip-flop example from before. An easily obtained particular solution of the RST equation is:
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:
Löwenheim’s Method: Example • After some calculations we arrive at: • 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
Application: Design Rectification • To guarantee that the rectification is correct, the following must hold: • This is equivalent to computing: • 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.