Logical Synthesis

advertisement
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)
Download