Logical Systems Synthesis Logical Synthesis Basic Gate Synthesis f=a.b f=a+b f = a’ Basic Gate Synthesis f = (a . b)’ f = (a + b)’ f=a Operator Precedence in Synthesis F=A+B.C Incorrect Correct Operator Precedence in Synthesis F = (A + B) . C Correct Incorrect An example of Step by Step Synthesis Single Output Circuits F = A + (B’ + C)(D’ + BE’) Reducing it to a more abstract form P = BE’ M = B’ + C F = A + M(D’ + P) N = D’ + P F = A + MN Z = MN F=A+Z F=A+Z F=A+Z F = A + MN F=A+Z F = A + MN F = A + M(D’ + P) F = A + (B’ + C)(D’ + BE’) F = A + (B’ + C)(D’ + BE’) F = A + (B’ + C)(D’ + BE’) An example of Multi-Output Synthesis Sharing Gates f = ab + a’c g = ab + a’c’ These are the common terms in both logic expressions, therefore, they can be used to as a common gate when synthesizing the complete digital system. Idea of sharing of Gates f = a’c + ab g = a’c’ + ab Circuits for f and g have a common product term (Implicant) namely ab. We are going to make it a common factor i.e. we are going to use the corresponding gate to drive both outputs f & g. Symbols From Digital Design, 5th Edition by M. Morris Mano and Michael Ciletti Boolean Algebra Manipulation of Switching Functions Boolean/Logic/Switching Expression/Function Boolean Functions • Variables and constants take on only one of the two values : 0 or 1 • There are three operators – OR – AND – NOT written as written as written as a+b a.b a’ Operator Precedence () Precedence Sequence ’ . + Examples s = ((x . y’ + x’ . y)’ . z) + ((x . y’ + x’ . y) . z’) s = (((x . y’) + (x’ . y))’ . z) + (((x . y’) + (x’ . y)) . z’) c = (x . y’ + x’ . y) . z + x . y c = (((x . y’) + (x’ . y)) . z) + (x . y) f = ( a.b + a.c + b.c’)’ . (a + b + c) + a.b.c f = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c) Metatheorem A Theorem about Theorems Duality Any Theorem or Identity in Switching Algebra remains true if 0 & 1 are swapped and . & + are swapped throughout the expression Note: Duality does not imply logical equivalence. It only states that one fact leads to another fact. Axioms / Postulates 0.0=0 1+1=1 1.1=1 0+0=0 0.1=1.0=0 0+1=1+0=1 x = 0 implies x’ = 1 x = 1 implies x’ = 0 Theorems (Single Variable) Null Elements x.0=0 x+1=1 Identities x.1=x x+0=x Idempotency x.x=x x+x=x Complements x . x’ = 0 x + x’ = 1 Involution (x’)’ = x (x’)’ = x Theorems (2- & 3- Variable) Commutativity x.y=y.x x+y=y+x Associativity x . (y . z) = (x . y) . z x + (y + z) = (x + y) + z Distributivity x . (y + z) = x . y + x . z x + (y . z) = (x + y) . (x + z) Covering x + (x . y) = x x . (x + y) = x Combining (x . y) + (x . y’) = x (x + y) . (x + y’) = x Theorems (2- & 3- Variable) DeMorgan’s Theorem (x . y)’ = x’ + y’ (x + y)’ = x’ . y’ Consensus Theorem (x . y) + (x’ . z) + (y . z) = (x . y) + (x’ . z) (x + y) . (x’ + z) . (y + z) = (x + y) . (x’ + z) Theorems (n-Variable) Generalized Idempotency x . x . ----- . x = x x + x + ----- + x = x DeMorgan’s Theorem (x1 . x2 . ----- . xn)’ = x1’ + x2’ + ----- + xn’ (x1 + x2 + ----- + xn)’ = x1’ . x2’ . ----- . xn’ Theorems (n-Variable) Generalized DeMorgan’s Theorem [F(x1, x2, -----, xn, . , + )]’ = F(x1’, x2’, -----, xn’, + , . ) Implications of DeMorgan’s Theorem f = ( a . b )’ = a’ + b’ f = ( a + b )’ = a’ . b’ Implications of DeMorgan’s Theorem f = { [a . ( b’ + c ) ]’ }’ = { a’ + ( b’ + c )’ }’ = { a’ + b . c’ }’ f’ = a’ + ( b . c’ ) Function Manipulation Using Axioms and Theorems of Boolean Algebra Proof of Consensus Theorem x.y + x’.z + y.z = x.y + x’.z x.y + x’.z + y.z = x.y + x’.z + y.z.1 = x.y + x’.z + y.z.(x + x’) = x.y + x’.z + x.y.z + x’.y.z = x.y + x.y.z + x’.z + x’.y.z = x.y.1 + x.y.z + x’.z.1 + x’.y.z = x.y.(1 + z) + x’.z.(1 + y) = x.y.1 + x’.z.1 = x.y + x’.z Theorem Used a = a.1 1 = a + a’ a.(b + c) = a.b + a.c a = a.1 a.b + a.c = a.(b + c) 1+a=1 a.1 = a Find DeMorgan’s Equivalent of the Following DeMorgan’s Equivalent F = ( ( B . E’ ) + D’ ) . ( B’ + C ) + A = { [ ( ( ( B . E’ ) + D’ ) . ( B’ + C ) ) + A ]’ }’ = { ( ( ( B . E’ ) + D’ ) . ( B’ + C) )’ . A’ }’ = { ( ( B . E’ ) + D’ )’ + ( B’ + C )’ . A’ }’ = { ( B . E’ )’ . D ) + ( B . C’ ) . A’ }’ = { ( B’ + E ) . D ) + ( B . C’ ) . A’ }’ = { ( ( B’ + E ) . D ) ) + ( ( B . C’ ) . A’ ) }’ F = { ( B’ + E ) . D ) + ( B . C’ ) . A’ }’ F’ = ( B’ + E ) . D ) + ( B . C’ ) . A’ DeMorgan’s Equivalent F = ( ( B . E’ ) + D’ ) . ( B’ + C ) + A DeMorgan’s Equivalent F’ = ( B’ + E ) . D ) + ( B . C’ ) . A’ Using DeMorgan’s Theorem NAND NOR Inter-Conversion A circuit developed using NAND gates only can be converted into a circuit employing only NOR gates by directly replacing the NAND gates with the NOR gates and inverting all the inputs and outputs of the circuit The Converse of this operation is also true F = ((((B.E’)’ . D)’ . (B.C’)’)’ . A’)’ F’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A)’ Proof by Example Using DeMorgan’s Theorem F = ((((B.E’)’ . D)’ . (B.C’)’)’ . A’)’ = ((((B’ + E) . D)’ . (B’ + C))’ . A’)’ = ((((B’ + E)’ + D’) . (B’ + C))’ . A’)’ = ((((B’ + E)’ + D’)’ + (B’ + C)’) . A’)’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A) F’ = ((((B’ + E)’ + D’)’ + (B’ + C)’)’ + A)’ F = A + (B’ + C) . (D’ + B.E’) Can also be written in the following notation F = A + (B’ + C)(D’ + BE’) Forms of Logic Expressions Generalized Forms of Logic Expressions SOP Sum of Products POS Product of Sums Terminology Literal Sum Term Product Term Product of Sums Sum of Products Definitions • Literal – A variable in either it’s complemented or uncomplemented form • Sum Term – One or more Literals connected by an OR operator • Product Term – One or more Literals connected by an AND operator Definitions • Product of Sums – One or more Sum Terms connected by an AND operator • Sum of Products – One or more Product Terms connected by an OR operator SOP Expression POS Expression More SOP Expressions ABC + A’BC’ AB + A’BC’ + C’D’ + D A’B + CD’ + EF + GK + HL’ More POS Expressions (A + B’ + C)(A + C) (A + B’)(A’ + C’ + D)F’ (A + C)(B + D’)(B’+C)(A + D’ + E) Not an SOP or POS Expression s = (((x . y’) + (x’ . y))’ . z) + (((x . y’) + (x’ . y)) . z’) c = (((x . y’) + (x’ . y)) . z) + (x . y) f = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c) nr = ((((b’ + e)’ + d’)’ + (b’ + c)’)’ + a)’ nd = ((((b.e’)’ . d)’ . (b.c’)’)’ . a’)’ Canonical Forms of Logic Expressions C-SOP Sum of Standard Product Terms aka Canonical Sum C-POS Product of Standard Sum Terms aka Canonical Product More Terminology Minterm Maxterm Canonical Sum Canonical Product Definitions • Minterm aka Standard Product Term – A Product Term composed of all the variables of the given problem • Maxterm aka Standard Sum Term – A Sum Term composed of all the variables of the given problem Definitions • Canonical Sum – One or more Minterms connected by an OR operator • Canonical Product – One or more Maxterms connected by an AND operator C-SOP Expression C-POS Expression Writing Algebraic Expressions From Truth Tables Decomposing into Minterms Implementing 1’s OR = OR = OR = a.b’ + a’.b = f m2 + m1 = f Minterms Notation Expressions involving Minterms Decomposing into Maxterms Implementing 0’s AND = AND AND = = ( a + b’ ) ( a’ + b ) = f M1 . M2 = f Maxterms Notation Expressions involving Maxterms Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f =? Using Maxterms f =? Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f = m2 + m5 + m6 Using Maxterms f = M0 . M1 . M3 . M4 . M7 Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f = m2 + m5 + m6 f’ = ? Using Maxterms f = M0 . M1 . M3 . M4 . M7 f’ = ? Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f = m2 + m5 + m6 f’ = m0 + m1 + m3 + m4 + m7 Using Maxterms f = M0 . M1 . M3 . M4 . M7 f’ = M2 . M5 . M6 Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f = m2 + m5 + m6 f’ = m0 + m1 + m3 + m4 + m7 Using Maxterms f = M0 . M1 . M3 . M4 . M7 f’ = M2 . M5 . M6 Alternative Notation f = ∑ (2, 5, 6) = ∏ (0, 1, 3, 4, 7) f’ = ∏ (2, 5, 6) = ∑ (0, 1, 3, 4, 7) Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f =? f’ = ? Using Maxterms f =? f’ = ? Write Expressions using Minterm/Maxterm Terminology for the following Truth Table Using Minterms f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15 f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13 Using Maxterms f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13 f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15 Write Expressions using Minterm/Maxterm Terminology for the following Truth Table f = ∑ (1, 5, 6, 8, 9, 10, 14, 15) f = ∏ (0, 2, 3, 4, 7, 11, 12, 13) f’ = ∑ (0, 2, 3, 4, 7, 11, 12, 13) f’ = ∏ (1, 5, 6, 8, 9, 10, 14, 15) Can you intuitively establish a relationship within the following set of results? f = m2 + m5 + m6 f’ = m0 + m1 + m3 + m4 + m7 f = M0 . M1 . M3 . M4 . M7 f’ = M2 . M5 . M6 f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15 f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13 f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13 f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15 Relationship between Minterms and Maxterms f = m0 + m3 f = x’ y’ + x y = ( x’ x + y’ x ) ( x’ y + y’ y ) = ( x y’ ) ( x’ y ) f’ = [ (x y’) (x’ y) ]’ = x’ y + x y’ = m1 + m2 f’ = m1 + m2 f = m0 + m3 f = x’ y’ + x y f’ = ( x’ y’ + x y )’ = ( x’ . y’ )’ ( x . y )’ = ( x + y ) ( x’ + y’ ) f’ = ( x + y ) ( x’ + y’ ) = M0 . M3 f’ = M0 . M3 f = m0 + m3 f’ = m1 + m2 = x’ y + x y’ f = ( x’ y + x y’ )’ = ( x’ y )’ ( x y’ )’ = ( x + y’ ) ( x’ + y) = M1 . M2 f = M1 . M2 To implement a function we can use the logic 1’s in the output to obtain a Minterms’ SOP or use the logic 0’s to obtain a Maxterms’ POS F(x1, x2, …. , xn) = ∑mR = ∏MS [F(x1, x2, …. , xn)]’ = ∑mS = ∏MR Where, T = {Set of all indices} = {0 to 2n - 1} R = {Set of indices of required to implement C-SOP of F(x1, x2, …., xn)} S=T–R Note : Observe the Duality inherent in this Generalization Use Boolean Algebra to establish the relationship between the following set of Expressions f = m2 + m5 + m6 f’ = m0 + m1 + m3 + m4 + m7 f = M0 . M1 . M3 . M4 . M7 f’ = M2 . M5 . M6 f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15 f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13 f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13 f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15 Converting SOP to POS f = x y + x’ z (SOP Form) Using Distributive Law f = x y + x’ z f = ( x y + x’ ) (x y + z) f = ( x + x’ ) ( y + x’ ) ( x + z ) ( y + z ) f = ( y + x’ ) ( x + z ) ( y + z ) f = ( y + x’ ) ( x + z ) ( y + z ) (POS Form) Converting POS to SOP f = ( x + y ) ( x’ + z ) (POS Form) Using Distributive Law f = ( x + y ) ( x’ + z ) f = x ( x’ + z ) + y ( x’ + z ) f = x x’ + x z + y x’ + y z f = x z + y x’ + y z f = x z + y x’ + y z (SOP Form) Note : To obtain the expression f = x y + x’ z as in the previous slide apply Consensus Theorem Converting SOP to C-SOP F = A + B’C (SOP Form) Expanding both terms separately using {x = x . 1} & {1 = (x + x’)} A = A (B + B’) = AB + AB’ = AB (C + C’) + AB’ (C + C’) A = ABC + ABC’ + AB’C + AB’C’ B’C = B’C (A + A’) = AB’C + A’B’C Combining the expressions F = ABC + ABC’ + AB’C + AB’C’ + AB’C + A’B’C = ABC + ABC’ + AB’C + AB’C + AB’C’ + A’B’C Using {x + x = x} F = ABC + ABC’ + AB’C + AB’C’ + A’B’C F = ABC + ABC’ + AB’C + AB’C’ + A’B’C (C-SOP Form) Converting POS to C-POS f = ( x’ + y ) ( x + z ) ( y + z ) (POS Form) Expanding the three terms separately using {x = x + 0} & {0 = x x’} ( x’ + y ) = x’ + y + z z’ = ( x’ + y + z ) ( x’ + y + z’ ) ( x + z ) = x + z + y y’ = ( x + z + y ) ( x + z + y’ ) = ( x + y + z ) ( x + y’ + z ) ( y + z ) = y + z + x x’ = ( y + z + x ) ( y + z + x’ ) = ( x + y + z ) ( x’ + y + z ) Combining the expressions f = ( x’ + y + z ) ( x’ + y + z’ ) ( x + y + z ) ( x + y’ + z ) ( x + y + z ) ( x’ + y + z ) f = ( x’ + y + z ) ( x’ + y + z ) ( x + y + z ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z ) Using {x . x = x} f = ( x’ + y + z’ ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z ) f = ( x’ + y + z’ ) ( x + y + z ) ( x’ + y + z’ ) ( x + y’ + z ) (C-POS Form)