0% found this document useful (0 votes)
10 views40 pages

Lecture 2-3

The document discusses Boolean algebra concepts including operator precedence, duality, theorems, and canonical forms. Key points covered include the order of Boolean operators, duality principle, theorems like simplification and absorption, and representing functions as sums of minterms or products of maxterms.

Uploaded by

contact.swati.4
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
10 views40 pages

Lecture 2-3

The document discusses Boolean algebra concepts including operator precedence, duality, theorems, and canonical forms. Key points covered include the order of Boolean operators, duality principle, theorems like simplification and absorption, and representing functions as sums of minterms or products of maxterms.

Uploaded by

contact.swati.4
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 40

Digital Systems

Boolean Operator Precedence


The order of evaluation in Boolean Expressions
is:
1. Parentheses
2. NOT
3. AND
4. OR
Note: Because of the fact that AND takes
precedence over OR, parentheses must be
placed around the OR operator more
frequently.
Review: Duality Principle
Every algebraic expression deducible from the postulates
of Boolean Algebra remains valid if the operators and the
identity elements are interchanged.
The DUAL of an algebraic expression is formed by:
Replacing with
AND OR
OR AND
1 0
0 1
Examples:
x⋅x = 0 becom es x + x = 1
x + x = 1 becom es x⋅x = 1
Duality In Proofs

x+x = (x + x)  1 xx = x  x+0


= (x + x) (x +x) = x  x + x x
= x + x x = x  (x +x)
= x+0 = x1
= x = x

NOTE: Each step in the proof is the dual of


the other step. The postulate used is also
the dual!
Useful Theorems
• x⋅y + x⋅y = y ( x + y ) ( x + y )= y M inimization
• x + x⋅y = x x⋅( x+ y )= x Absorption

• x + x⋅y = x + y x⋅( x + y ) = x⋅y Simplification


• x⋅y + x⋅z + y⋅z = x⋅ y + x⋅z C o nsensus
( x + y )⋅( x+ z )⋅( y + z ) = ( x + y )⋅( x + z )

• x + y = x⋅y x⋅ y = x + y D eM organ's L aw s
Proof of Simplification
• x⋅y + x⋅y = y ( x + y ) ( x + y )= y
Proof of Concensus
• x⋅y + x⋅z + y⋅z = x⋅ y + x⋅z
Proof of DeMorgan’s Law
• x + y = x⋅y x⋅ y = x + y
Boolean Function Evaluation
F1 = x yz x y z F1 F2 F3 F4
F2 = x +y z 0 0 0 0 0
F3 =xyz + x y z + xy 0 0 1 0 1
F4 = xy + x z 0 1 0 0 0
0 1 1 0 0
1 0 0 0 1
1 0 1 0 1
1 1 0 1 1
1 1 1 0 1
Expression Simplification
• Simplify to contain the smallest number
of literals (complemented and
uncomplemented variables):
A B+ A C D + A B D + A C D + A B C D=
Complementing Functions
Use DeMorgan's Theorem to
complement a function:
1. Interchange AND and OR operators
2. Complement each literal
Example: Complement x yz +xy z
(x yz + xy z) = ( x y z)  (xy z)
= (x +y + z)  (x + y +z)

• This generate a lot of terms. You might want to


simplify the expression first.
Canonical Forms
• It is useful to specify Boolean functions of
n variables in a manner that is easy to
compare.
• Two such Canonical Forms are in
common usage:
 Sum of Minterms
 Product of Maxterms
Minterms
Minterms are AND terms with every variable in true
or complemented form. Given that each binary
variable may appear normal (e.g. x ) or complemented
(e.g. x'), there are 2n minterms for n variables.
EXAMPLE: Two variables combined with an AND
operator, x  y have 2*2 or 4 combinations:
1. x y (Both normal)
2. xy (x normal, y complemented)
3. x y (x complemented, y normal)
4. xy (Both complemented)
Thus there are four minterms of two variables.
Maxterms
Maxterms are OR terms with every variable in
true or complemented form. Given that each
binary variable may appear normal (e.g. x ) or
complemented (e.g. x'), there are 2n maxterms
for n variables.
Two variables combined with an OR operator, x +
y, have 2*2 or 4 combinations:
1. x + y (Both normal)
2. x +y (x normal, y complemented)
3. x + y (x complemented, y normal)
4. x +y (Both complemented)
Thus there are four maxterms of two variables.
Maxterms and Minterms
Examples: Two variable minterms and maxterms.

Index Maxterm Minterm


0 x + y x  y
1 x +y x y
2 x + y x y
3 x + y x y
The index above is important for describing which variables
in the terms are true and which are complemented.
Standard Order
 Minterms and maxterms are designated with a subscript.
 The subscript is a number, corresponding to a binary pattern.
 The bits in the pattern represent the complemented or normal
state of each variable listed in a standard order.
 All variables will be present in a minterm or maxterm and will
be listed in the same order (usually alphabetically).
Example: For variables a, b, c:
Maxterms: (a + b +c), (a + b + c)
Minterms: a bc, a b c, ab c
Terms: (b + a + c), ac b, and (c + b + a) are NOT in standard
order.
Terms: (a + c), b c, and (a + b) do not contain all variables.
Purpose of the Index
• The index for the minterm or maxterm, expressed
as a binary number, is used to determine whether the
variable is shown in the true form or complemented
form.
For Minterms:
“1” means the variable is “Not Complemented” and
“0” means the variable is “Complemented”.
For Maxterms:
“0” means the variable is “Not Complemented” and
“1” means the variable is “Complemented”.
Index Example in Three Variables
Example: (for three variables)
Assume the variables are called x, y, and z.
The standard order is x, then y, then z.
The Index 0 (base 10) = 000 (base 2 to three
digits) so all three variables are
complemented for minterm 0 (x, y, z) and
no variables are complemented for Maxterm
0 (x, y, z)
Minterm 0, called m0 is x y z.
Maxterm 0, called M0 is (x + y + z).
Four Variables, Index 0-7
Index Binary Minterm Maxterm
i Pattern mi Mi
0 0000 a'b'c'd' a+b+c+d
1 0001 a'b'c'd a+b+c+d'
2 0010 a'b'cd' a+b+c'+d
3 0011 a'b'cd a+b+c'+d'
4 0100 a'bc'd' a+b'+c+d
5 0101 a'bc'd a+b'+c+d'
6 0110 a'bcd' a+b'+c'+d
7 0111 a'bcd a+b'+c'+d'
Four Variables, Index 8-15
Index Binary Minterm Maxterm
i Pattern mi Mi
8 1000 ab'c'd' a'+b+c+d
9 1001 ab'c'd a'+b+c+d'
10 1010 ab'cd' a'+b+c'+d
11 1011 ab'cd a'+b+c'+d'
12 1100 abc'd' a'+b'+c+d
13 1101 abc'd a'+b'+c+d'
14 1110 abcd' a'+b'+c'+d
15 1111 abcd a'+b'+c'+d'
Minterm and Maxterm Relationship
Review: DeMorgan's Theorem
(x  y) = (x +y) and (x + y) = (x y )
Note: For 2 variables:
M2 = (x + y) and m2 = (x y)

Thus M2 is the complement of m2 and vice-versa.


Since DeMorgan's Theorem can be extended to n
variables, this holds that for terms of n variables
giving:
Mi and mi are complements.
Function Tables for Both
Minterms of two Maxterms of two
variables variables
x y m0 m1 m2 m3 x y M0 M1 M2 M3
x'y' x'y xy' xy x+y x+y' x'+y x'+y'
00 1 0 0 0 00 0 1 1 1
01 0 1 0 0 01 1 0 1 1
10 0 0 1 0 10 1 1 0 1
11 0 0 0 1 11 1 1 1 0
Note that the each column in the minterm function table
is the complement of the column in the Maxterm
function table since Mi and mi are complements.
Observations
In the function tables:
 Each minterm has one and only one 1 present in the 2n
terms (a mininum of ones). All other entries are 0.
 Each maxterm has one and only one 0 present in the 2n
terms (a maximum of ones). All other entries are 1.
It seems that we can implement any function by "ORing" the
minterms where we want a "1" to appear in the function table.
Similarly, we can implement any function by "ANDing" the
maxterms where we want a "0" to appear in the function table.
This gives us two Canonical Forms for stating an arbitrary
Boolean function.
Minterm Function Example
Example: Implement F1 = m1 + m4 + m7
F1 = xy z + x y z + x y z
x y z index m1 + m4 + m7 = F1
000 0 0 + 0 + 0 =0
001 1 1 + 0 + 0 =1
010 2 0 + 0 + 0 =0
011 3 0 + 0 + 0 =0
100 4 0 + 1 + 0 =1
101 5 0 + 0 + 0 =0
110 6 0 + 0 + 0 =0
111 7 0 + 0 + 1 =1
Minterm Function Example
• F(A, B, C, D, E) = m2 + m9 + m17 + m23
Maxterm Function Example
Example: Implement F1 in maxterms:
F1 = M0  M2  M3  M5  M6
F1 = (x + y + z) (x +y + z)(x +y +z')(x + y +z)(x +y + z)

xyz i M0M2M3M5M6 = F1
000 0 0  1  1 1  1 =0
001 1 1  1  1 1  1 =1
010 2 1  0  1 1  1 =0
011 3 1  1  0 1  1 =0
100 4 1  1  1 1  1 =1
101 5 1  1  1 0  1 =0
110 6 1  1  1 1  0 =0
111 7 1  1  1 1  1 =1
Maxterm Function Example
• F ( A , B , C , D )= M 3⋅M 8⋅M 11⋅M 14
Cannonical Sum of Minterms
Any Boolean Function can be expressed as a Sum of
Minterms.
The minterms used are the terms corresponding to the
"1's" in the function table.
Note: You may have to expand all terms first to explicitly
list all minterms. You do this by "ANDing" any term
missing a variable v with a term (v +v).
Example: Implement f = x +xy as a sum of minterms.
First expand terms: f = x (y + y) +xy
Then collect terms: f = x y + xy +x y
Express as sum of minterms: f = m3+m2+m0
Another SOM Example
Example: F = A + B'C
There are three variables, A, B, and C which we take to be
the standard order.
Expanding the terms missing variables:
A = A(B+B') = AB+AB'
AB = AB(C+C') = ABC+ABC'
AB' = AB'(C+C') = AB'C+AB'C'
and B'C = (A+A')B'C = AB'C + A'B'C
Collect terms (and get rid of duplicate terms):
F = ABC+ABC'+AB'C+AB'C'+A'B'C
Expressed as minterms: F = m7+m6+m5+m4+m1
Shorthand SOM Form
From the previous example, we started
with:
F = A + B'C
We ended up with:
F = m7+m6+m5+m4+m1
T h is c a n b e d e n o te d in th e fo r m a l s h o r th a n d :

F ( A , B , C )   (1 ,4 ,5 ,6 ,7 )
Note that we explicitly show the standard
variables in order and drop the “m” designators.
Canonical Product of
Maxterms
Any Boolean Function can be expressed as a Product of
Maxterms.
The maxterms used are the terms corresponding to the
"0's" in the function table.
Note: You may have to expand all terms first to explicitly
list all maxterms. You do this by first using the distributive
law and by "ORing" terms missing variable v with a term
equal to v v'.
Example: Implement f = x+x'y' as a product of maxterms.
First apply the distributive law:
x+x'y' = (x+x')(x+y') = 1 (x+y') = (x+y')
In this example, we do not need to add missing variables.
Express as sum of Maxterms: f = M1
Product of Maxterm Example
Given f(A,B,C) = AC' + BC + A'B'
we must convert it to Product of Maxterm form.
Use distribution of + over  to get:{Hint: x + yz =
(x+y) (x+z)
so substitute x= (AC' + BC), y = A', and z = B'}
f= (AC' + BC + A')(AC' + BC + B')
Then use the relation x + x'y = x + y to get:
f= (C' + BC + A')(AC' + C + B') and a second time for:
f = (C' + B + A')(A + C + B') and then rearrange to get:
f = (A' + B + C')(A + B' + C)
Thus: f = M5  M2
Function Complements
The complement of a function expressed as a sum of
minterms is constructed by selecting the minterms missing
in the sum-of-minterms canonical forms.
Alternatively, the complement of a function expressed by a
Sum of Mintems form is simply the Product of Maxterms
of the same index.
Example: Given F(x,y,z) = F (1, 3,5, 7)
Then: F '  ( 0, 2 , 4 , 6)

Or alternately: F '  (1, 3, 5, 7 )


Conversion Between Forms
To convert between sum-of-minterms and product-of-
maxterms form (or vice-versa) we follow these steps:
1. Implement the function complement by swapping
terms in the list with terms not in the list.
2. Change from products to sums, or vice versa.
Example: Given F as before: F = ∑ (1,3,5,7 )
Form the Complement: F = ∑ (0,2,4,6 )
Then use the other form with the same indices -- this
forms the complement again.
F = ∏ ( 0,2,4,6 )
Review of Canonical Forms
Minterms -- Terms with all variables present,
combined with "AND"
For n variables combined with AND, there are 2n
combinations. Each unique combination is called a
MINTERM.
(Examples: X Y Z, A' B C')
Maxterms -- Terms with all variables present,
combined with "OR"
For n variables combined with OR, there are 2n
combinations. Each unique combination is called a
MAXTERM.
(Examples: X+Y+Z, A'+B+C')
Review: Indices
Given n variables, use an n-bit binary expansion of the
Index , i, to determine variable "true" or
"complement" state.
For Minterms:
"1"  "True", "0"  "Complemented".
For Maxterms:
"0"  "True", "1"  "Complemented".
Minterm 0, called m0 is x'y'z'.
Maxterm 0, called M0 is (x+y+z).
Forms of Terms, Complements
Index Binary Minterm Maxterm
i Pattern. mi Mi
0 0000 a'b'c'd' a+b+c+d
1 0001 a'b'c'd a+b+c+d'
   
14 1110 abcd' a'+b'+c'+d
15 1111 abcd a'+b'+c'+d
'
Mi is the complement of mi and vice-versa.
Review: Sum of Minterms Form
F = ABC+ABC'+AB'C+AB'C'+A'B'C
Express as Sum of minterms:
F = m7+m6+m5+m4+m1
This can be denoted:
F ( A , B ,C )= ∑ (1,4,5,6,7 )
Review: Product of Maxterms
A n y B o o le a n F u n c tio n c a n b e e x p r e s s e d a s a p r o d u c t o f
m a x te r m s.
E x a m p le : I m p le m e n t F = x y + x 'y ' a s a p r o d u c t o f m a x te r m s .
x y + x 'y ' = (x y + x ') (x y + y ')
= (x '+ x y ) (y '+ x y )
= (x '+ x ) (x '+ y ) (y '+ x ) (y '+ y )
= (1 ) (x '+ y ) (y '+ x ) (1 )
= (x '+ y ) (x + y ')
= M 2 M 1
W h ic h c a n b e d e n o te d :

F  (1,2 )
Review: Complements, Conversions
Complement: Swap indices with the indices not in the list,
or use opposite canonical form.
Example: Given F Form the complement:

F   (1, 3 , 5 , 7 ) o r F '   (0, 2 , 4 , 6) or


F   (0,2,4,6) F '   (1, 3 , 5 , 7 )

Canonical Conversion: To change the form of a


function, complement the index set then change form.

You might also like