Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Boolean Algebra Boolean Algebra A Boolean algebra A set of operators (e.g. the binary operators: +, •, INV) A set of axioms or postulates ENEE 644 2 Postulates Commutative Distributive Identities Complement Closure Associative x+y = y+x x•y=y•x x+(y•z)=(x+y)•(x+z) x•(y+z)=x•y+x•z x+0=x x•1=x x+x’=1 x•x’=0 x+y x•y (x+y)+z=x+(y+z) (x•y)•z=x•(y•z) ENEE 644 3 Properties of Boolean Algebra Complement of a variable is unique. (x’)’ = x -- involution x+x = x x•x=x --idempotent x+1=1 x•0=0 x+x•y=x x•(x+y)=x -- absorption (x+y)’=x’•y’ (x•y)’=x’+y’ -- DeMorgan’s Law xy+x’z+yz = xy + x’z (x+y) •(x’+z) •(y+z) = (x+y) •(x’+z) -- consensus Duality: + • and 0 1 ENEE 644 4 Proof of Consensus a <= b essentially implies that if a =1 then b =1 and if a = 0 then b could be anything Theorem: In Consensus xy + x’z + yz = xy + x’z (How?) We Prove that xy + x’z + yz >= xy + x’z and xy + x’z + yz <= xy + x’z (This would imply equality and prove the theorem) Proof: First: xy + x’z + yz >= xy + x’z. Let xy + x’z = a and yz = b; So we want to prove that a + b >= a which is true by definition of the inequality Second: xy + x’z + yz <= xy + x’z. This inequality could be split into xy + x’z <= xy + x’z and yz <= xy + x’z All we need to do is to prove yz <= xy + x’z ENEE 644 5 Proof of Consensus yz <= xy + x’z We know that a <= b iff ab’ = 0 (How?) So if the above inequality is true yz(xy + x’z)’ = 0 must be true. Which is always true. Hence Proved. ENEE 644 6 Boolean Functions A Boolean function is a mapping f(x): Bn B. Constant function: f(x1,…,xn) = b. Projection (to the i-th axis): f(x1,…,xn) = xi. A Boolean function is complete if f(x) is defined for all xBn. Otherwise the point x that f(x) is not defined is called a don’t care condition. Operations on Boolean functions: Sum: Product: Complement: (f+g)(x) = f(x) + g(x) (f•g)(x) = f(x)•g(x) (f’)(x) = (f(x))’ ENEE 644 7 Representations of Boolean Functions Algebraic expressions f(x,y,z) = xy+z Tabular forms Venn diagrams Cubical representations Binary decision diagrams (BDD) x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 ENEE 644 z 0 1 0 1 0 1 0 1 f 0 1 0 1 0 1 1 1 x z y z y x 8 Representations of Boolean Functions Algebraic expressions f(x,y,z) = xy+z Tabular forms Venn diagrams Cubical representations Binary decision diagrams (BDD) x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 ENEE 644 z 0 1 0 1 0 1 0 1 f 0 1 0 1 0 1 1 1 x z y z y x 9 Boole’s Expansion Theorem The cofactor of f(x1,…,xn) w.r.t. xi (or x’i) is a Boolean function f x (or f x ) : B n 1 B , s.t. ' i i f x / x ' ( x1 ,, xi 1 , xi 1 ,, xn ) i i f ( x1 ,, xi 1 ,1 / 0, xi 1 ,, xn ) Boole’s Expansion Theorem: f ( x1 , , xi 1 , xi , xi 1 , , xn ) xi f xi xi, f x , ( xi f x , ) ( xi, f xi ) i ENEE 644 i 10 Boole’s Expansion: Examples f(x) = x • f(1) + x’ • f(0) = (x + f(0)) • (x’+f(1)) f(x+y) • f(x’+y) = f(1) • f(y) for single-variable x (from duality) Define g(x,y) = f(x+y)f(x’+y) g(x,y) = xg(1,y) + x’g(0,y) = xf(1)f(y) + x’f(y)f(1) = f(1)f(y) What if expand w.r.t variable y? f(x+y) • f(x’+y) =yf(1)f(1) + y’f(x)f(x’) = yf(1)+y’f(1)f(0) = f(1)(yf(1) + y’f(0)) =f(1)f(y) ENEE 644 11 Boole’s Expansion: Examples x y x’ y Hardware? Delay? 1 f f f y f ENEE 644 12 Complete Expansion f ( x1 , , xn 1 , xn ) discriminants ' 1 f (0, ,0,0) x x ' n 1 minterms x ' n f (0, ,0,1) x1' xn' 1 xn f (1, ,1,1) x1 xn 1 xn ENEE 644 13 Canonical Forms A form is called canonical if the representation of the function in that form is unique. Minterm Canonical Form AND-OR circuits Pro and Cons of Canonical Forms Unique up to permutation Inefficient ENEE 644 14 Normal (Standard) Forms SOP (Disjunctive Normal Form) A disjunction of product terms A product term (1 is also considered a product term) 0 The Primary Objective During Logic Minimization is to Remove the Redundancy in the Representation. ENEE 644 15 Implicants An implicant of a function is a product term that is included in the function. An implicant is prime if it cannot be included in any other implicants. A prime implicant is essential if it is the only one that includes a minterm. Example: f(x,y,z) = xy’ + yz xy(not I),xyz(I, not PI), xz(PI,not EPI), yz(EPI) z x’yz y xyz xy’z xy’z’ ENEE 644 x 16 Specification for Incompleteness A Boolean function is incomplete if f(x) is NOT defined for some xBn. Such point x is called a don’t care condition. x y f Tabular representation 0 0 0 {1-set, 0-set, don’t care set} 1-set = {xy} 0-set = {x’y’} Don’t care set = {x’y, xy’} ENEE 644 0 1 1 1 0 1 1 17 Don’t Care Conditions Satisfiability don’t cares of a subcircuit consist of all input patterns that will never occur. Observability don’t cares of a subcircuit are the input patterns that represent situations when an output is not observed. Example: {xy,x’y} x {xy’,x’y’} y y=0 ENEE 644 18