logical systems synthesis. logical synthesis basic gate synthesis f = a. b f = a + b f = a’
TRANSCRIPT
F = A + (B’ + C)(D’ + BE’)
Reducing it to a more abstract form
P = BE’M = B’ + CF = A + M(D’ + P)
N = D’ + PF = A + MN
Z = MNF = A + Z
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.
Sharing Gates
Idea of sharing of Gates
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.
f = a’c + ab
g = a’c’ + ab
Boolean Functions
• Variables and constants take on only one of the two values : 0 or 1
• There are three operators– OR written as a + b– AND written as a . b– NOT written as a ’
Examples
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.cf = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c)
s = ((x . y’ + x’ . y)’ . z) + ((x . y’ + x’ . y) . z’)
c = (((x . y’) + (x’ . y)) . z) + (x . y)
Metatheorem
Duality
Any Theorem or Identity in Switching Algebra remains true if 0 & 1 are swapped and . & + are swapped
throughout the expression
A Theorem about Theorems
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
0 . 1 = 1 . 0 = 0
x = 0 implies x’ = 1
1 + 1 = 1
0 + 0 = 0
0 + 1 = 1 + 0 = 1
x = 1 implies x’ = 0
Theorems (Single Variable)
x . 0 = 0
x . 1 = x
x . x = x
x . x’ = 0
(x’)’ = x
x + 1 = 1
x + 0 = x
x + x = x
x + x’ = 1
(x’)’ = x
Null Elements
Identities
Idempotency
Complements
Involution
Theorems (2- & 3- Variable)
x . y = y . x
x . (y . z) = (x . y) . z
x . (y + z) = x . y + x . z
x + (x . y) = x
(x . y) + (x . y’) = x
x + y = y + x
x + (y + z) = (x + y) + z
x + (y . z) = (x + y) . (x + z)
x . (x + y) = x
(x + y) . (x + y’) = x
Commutativity
Associativity
Distributivity
Covering
Combining
Theorems (2- & 3- Variable)
(x . y)’ = x’ + y’
(x . y) + (x’ . z) + (y . z) = (x . y) + (x’ . z)
(x + y)’ = x’ . y’
(x + y) . (x’ + z) . (y + z) = (x + y) . (x’ + z)
DeMorgan’sTheorem
Consensus Theorem
Theorems (n-Variable)
x . x . ----- . x = x
(x1 . x2 . ----- . xn)’ =x1’ + x2’ + ----- + xn’
x + x + ----- + x = x
(x1 + x2 + ----- + xn)’ =x1’ . x2’ . ----- . xn’
GeneralizedIdempotency
DeMorgan’s Theorem
Theorems (n-Variable)
[F(x1, x2, -----, xn, . , + )]’ = F(x1’, x2’, -----, xn’, + , . )
Generalized DeMorgan’s Theorem
f = { [a . ( b’ + c ) ]’ }’ = { a’ + ( b’ + c )’ }’ = { a’ + b . c’ }’f’ = a’ + ( b . c’ )
Implications of DeMorgan’s Theorem
Proof of Consensus Theoremx.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 Useda = a.1
1 = a + a’a.(b + c) = a.b + a.c
a = a.1a.b + a.c = a.(b + c)
1 + a = 1a.1 = a
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
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
NAND NOR Inter-Conversion
The Converse of this operation is also true
Using DeMorgan’s Theorem
Proof by Example
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)’
Using DeMorgan’s Theorem
F = A + (B’ + C) . (D’ + B.E’)
F = A + (B’ + C)(D’ + BE’)
Can also be written in the following notation
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
More SOP Expressions
ABC + A’BC’AB + A’BC’ + C’D’ + D
A’B + CD’ + EF + GK + HL’
More POS Expressions
(A + B’)(A’ + C’ + D)F’(A + C)(B + D’)(B’+C)(A + D’ + E)
(A + B’ + C)(A + C)
nd = ((((b.e’)’ . d)’ . (b.c’)’)’ . a’)’
nr = ((((b’ + e)’ + d’)’ + (b’ + c)’)’ + a)’
s = (((x . y’) + (x’ . y))’ . z) + (((x . y’) + (x’ . y)) . z’)
f = (((a.b) + (a.c) + (b.c’))’ . (a + b + c)) + (a.b.c)
c = (((x . y’) + (x’ . y)) . z) + (x . y)
Not an SOP or POS Expression
Canonical Forms of Logic Expressions
C-SOP Sum of Standard Product Terms
C-POS Product of Standard Sum Terms
aka Canonical Sum
aka 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
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = ?
Using Maxtermsf = ?
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = m2 + m5 + m6
Using Maxtermsf = M0 . M1 . M3 . M4 . M7
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = m2 + m5 + m6f’ = ?
Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = ?
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7
Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7
Using Maxtermsf = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6
f = ∑ (2, 5, 6) = ∏ (0, 1, 3, 4, 7)f’ = ∏ (2, 5, 6) = ∑ (0, 1, 3, 4, 7)
Alternative Notation
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = ?f’ = ?
Using Maxtermsf = ?f’ = ?
Write Expressions using Minterm/Maxterm Terminology for the following Truth Table
Using Mintermsf = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13
Using Maxtermsf = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = 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 + m6f’ = m0 + m1 + m3 + m4 + m7
f = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6
f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15
f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13
Relationship between Minterms and Maxterms
f = m0 + m3f = 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 + m2f’ = m1 + m2
f = m0 + m3f = x’ y’ + x y f’ = ( x’ y’ + x y )’ = ( x’ . y’ )’ ( x . y )’ = ( x + y ) ( x’ + y’ )f’ = ( x + y ) ( x’ + y’ ) = M0 . M3f’ = M0 . M3
f = m0 + m3f’ = m1 + m2 = x’ y + x y’f = ( x’ y + x y’ )’ = ( x’ y )’ ( x y’ )’ = ( x + y’ ) ( x’ + y) = M1 . M2f = 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
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
F(x1, x2, …. , xn) = ∑mR = ∏MS
[F(x1, x2, …. , xn)]’ = ∑mS = ∏MR
Note : Observe the Duality inherent in this Generalization
Use Boolean Algebra to establish the relationship between the following set of Expressions
f = m2 + m5 + m6f’ = m0 + m1 + m3 + m4 + m7
f = M0 . M1 . M3 . M4 . M7f’ = M2 . M5 . M6
f = M0 . M2 . M3 . M4 . M7 . M11 . M12 . M13f’ = M1 . M5 . M6 . M8 . M9 . M10 . M14 . M15
f = m1 + m5 + m6 + m8 + m9 + m10 + m14 + m15f’ = m0 + m2 + m3 + m4 + m7 + m11 + m12 + m13
Converting SOP to POS
f = x y + x’ z (SOP Form)
Using Distributive Lawf = 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 Lawf = ( 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 expressionsF = 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 expressionsf = ( 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)