Logic and Computer Design Fundamentals
Combinational Logic Circuits
Part1- Gate Circuits and Boolean Equations
Dr. Joydeep Chandra
Indian Institute of Technology Patna
Adapted from William Stallings, Pearson book
25/08/23 1 Indian Institute of Technology Patna
1
Overview
• Part 1 – Gate Circuits and Boolean Equations
• Binary Logic and Gates
• Boolean Algebra
• Standard Forms
• Part 2 – Circuit Optimization
• Two-Level Optimization
• Map Manipulation
• Multi-Level Circuit Optimization
25/08/23 2 Indian Institute of Technology Patna
2
Binary Logic and Gates
• Binary variables take on one of two values.
• Logical operators operate on binary values
and binary variables.
• Basic logical operators are the logic
functions AND, OR and NOT.
• Logic gates implement logic functions.
• Boolean Algebra: a useful mathematical
system for specifying and transforming logic
functions.
• We study Boolean algebra as foundation for
designing and analyzing digital systems!
25/08/23 3 Indian Institute of Technology Patna
4
Binary Variables
• Recall that the two binary values have
different names:
• True/False
• On/Off
• Yes/No
• 1/0
• We use 1 and 0 to denote the two values.
• Variable identifier examples:
• A, B, y, z, or X1 for now
• RESET, START_IT, or ADD1 later
25/08/23 4 Indian Institute of Technology Patna
5
Logical Operations
• The three basic logical operations are:
• AND
• OR
• NOT
• AND is denoted by a dot (·).
• OR is denoted by a plus (+).
• NOT is denoted by an overbar ( ¯ ), a single
quote mark (') after, or (~) before the
variable.
25/08/23 5 Indian Institute of Technology Patna
6
Notation Examples
• Examples:
• Y A B is read “Y is equal to A AND B.”
• z x y is read “z is equal to x OR y.”
•
X A is read “X is equal to NOT A.”
Note: The statement:
1 + 1 = 2 (read “one plus one equals two”)
is not the same as
1 + 1 = 1 (read “1 or 1 equals 1”).
25/08/23 6 Indian Institute of Technology Patna
Operator Definitions
Operations are defined on the values "0" and
"1" for each operator:
AND OR NOT
0·0=0 0+0=0 0 1
0·1=0 0+1=1 1 0
1·0=0 1+0=1
1·1=1 1+1=1
25/08/23 7 Indian Institute of Technology Patna
8
Truth Tables
• Truth table a tabular listing of the values of a
function for all possible combinations of values
on its arguments
• Example: Truth tables for the basic logic
operations:
AND OR NOT
X Y Z = X·Y X Y Z = X+Y X ZX
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
25/08/23 8 Indian Institute of Technology Patna
9
Logic Function Implementation
• Using Switches Switches in parallel => OR
• For inputs:
• logic 1 is switch closed
• logic 0 is switch open
• For outputs:
• logic 1 is light on
• logic 0 is light off. Switches in series => AND
• NOT uses a switch such
that:
• logic 1 is switch open
• logic 0 is switch closed Normally-closed switch => NOT
C
25/08/23 9 Indian Institute of Technology Patna
0
Logic Function Implementation (Continued)
• Example: Logic Using Switches
B C
A
• Light is on (L = 1) for
L(A, B, C, D) =
and off (L = 0), otherwise.
• Useful model for relay circuits and for
CMOS gate circuits, the foundation of
current digital logic technology
25/08/23 10 Indian Institute of Technology Patna
1
Logic Gates
1
• In the earliest computers, switches were
opened and closed by magnetic fields
produced by energizing coils in relays. The
switches in turn opened and closed the
current paths.
• Later, vacuum tubes that open and close
current paths electronically replaced relays.
• Today, transistors are used as electronic
switches that open and close current paths.
25/08/23 11 Indian Institute of Technology Patna
3
Logic Gate Symbols and Behavior
• Logic gates have special symbols:
X X
= X ·Y
Z5 Z= +Y
5 X1 X Z=
5 X
Y Y
AND gate OR gate
(a) Graphic symbols
• And waveform behavior in time as follows:
X 0 0 1 1
Y 0 1 0 1
(AND) X · Y 0 0 0 1
(OR) X1 Y 0 1 1 1
(NOT) X 1 1 0 0
(b) Timing diagram
25/08/23 12 Indian Institute of Technology Patna
1
3
Logic Diagrams and Expressions
Truth Table
XYZ F X Y Z Equation
000 0
001 1 F X Y Z
010 0
011 0 Logic Diagram
X
100 1
101 1
Y F
110 1
111 1 Z
• Boolean equations, truth tables and logic diagrams describe
the same function!
• Truth tables are unique; expressions and logic diagrams are
not. This gives flexibility in implementing functions.
25/08/23 13 Indian Institute of Technology Patna
C
h
a
p
t
e
r
P
a
r
t
25/08/23 14 Indian Institute of Technology Patna
C
h
a
Gate ICs
p
t
e
r
P
a
r
t
25/08/23 15 Indian Institute of Technology Patna
Boolean Algebra
An algebraic structure defined on a set of at least two elements,
B, together with three binary operators (denoted +, · and, )
that satisfies the following basic identities:
1. X+0= X 2. X .1=X 1-4 Existence of 0 , 1
3. X+1=1 4. X .0 =0 5-6 Idempotence
5. X+X=X 6. X .X = X 7-8 Existence of
complement
7. X+X =1 8. X .X = 0
9 Involution
9. X=X
10. X+Y =Y+X 11. XY = YX Commutative
12. (X + Y) + Z = X + (Y + Z) 13. (XY) Z = X(Y Z) Associative
14. X(Y + Z) = XY + XZ 15. X + YZ = (X + Y) (X + Z) Distributive
16. X + Y =X .Y 17. X .Y = X + Y DeMorgan’s
25/08/23 16 Indian Institute of Technology Patna
Some Properties of Identities & the
Algebra
If the meaning is unambiguous, we leave out the
symbol “·”
The identities above are organized into pairs. These pairs
have names as follows:
1-4 Existence of 0 and 1 5-6 Idempotence
7-8 Existence of complement 9 Involution
10-11 Commutative Laws 12-13 Associative Laws
14-15 Distributive Laws 16-17 DeMorgan’s Laws
The dual of an algebraic expression is obtained by
interchanging + and · and interchanging 0’s and 1’s.
The identities appear in dual pairs. When there is only
one identity on a line the identity is self-dual, i. e., the
dual expression = the original expression.
25/08/23 17 Indian Institute of Technology Patna
1
8
Some Properties of Identities & the Algebra
(Continued)
• Unless it happens to be self-dual, the dual of
an expression does not equal the expression
itself.
• Example: F = (A + C) · B + 0
dual F = (A · C + B) · 1 = A · C + B
• Example: G = X · Y + (W + Z)
dual G =
• Example: H = A · B + A · C + B · C
dual H =
• Are any of these functions self-dual?
25/08/23 18 Indian Institute of Technology Patna
1
Boolean Operator Precedence
9
The order of evaluation in a Boolean
expression is:
1. Parentheses
2. NOT
3. AND
4. OR
Consequence: Parentheses appear
around OR expressions
Example: F = A(B + C)(C + D)
25/08/23 19 Indian Institute of Technology Patna
2
Useful Theorems
0
• x y + x y = y (x+y) (x+y) = y Minimization
• 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
• Consensus
(x+y) (x+z) (y+z) = (x+y) (x+z)
• x + y = x y x y = x + y DeMorgan’s Law
25/08/23 20 Indian Institute of Technology Patna
2
1
Example 1: Boolean Algebraic Proof
• A + A·B = A (Absorption Theorem)
Proof Steps Justification (identity or
theorem)
A + A·B
=A·1+A·B X=X·1
= A · ( 1 + B) X · Y + X · Z = X ·(Y + Z)(Distributive Law)
=A·1 1+X=1
=A X·1=X
• Our primary reason for doing proofs is to learn:
• Careful and efficient use of the identities and theorems of
Boolean algebra, and
• How to choose the appropriate identity or theorem to
apply to make forward progress, irrespective of the
application.
25/08/23 21 Indian Institute of Technology Patna
2
Proof of Simplification
2
xy+xy=y
(x + y ) ( x + y ) = y
25/08/23 22 Indian Institute of Technology Patna
2
3
Boolean Function Evaluation
F1 xy z x y z F1 F2 F3 F4
F2 x yz 0 0 0 0 0
F3 xyz x y z xy 0 0 1 0 1
F4 xy 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
25/08/23 23 Indian Institute of Technology Patna
2
4
Complementing Functions
• Use DeMorgan's Theorem to complement
a function:
1. Interchange AND and OR operators
2. Complement each constant value and
literal
• Example: Complement
• F = xy z xyz
• F = (x + y + z)(x + y + z)
• Example: Complement G = (a + bc)d + e
G=
25/08/23 24 Indian Institute of Technology Patna
2
Overview – Canonical Forms
5
• What are Canonical Forms?
• Minterms and Maxterms
• Index Representation of Minterms and Maxterms
• Sum-of-Minterm (SOM) Representations
• Product-of-Maxterm (POM) Representations
• Representation of Complements of Functions
• Conversions between Representations
25/08/23 25 Indian Institute of Technology Patna
2
6
Canonical Forms
• It is useful to specify Boolean functions in a
form that:
• Allows comparison for equality.
• Has a correspondence to the truth tables
• Canonical Forms in common usage:
• Sum of Minterms (SOM)
• Product of Maxterms (POM)
25/08/23 26 Indian Institute of Technology Patna
2
7
Minterms
• Minterms are AND terms with every variable
present in either 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 (X and Y)produce
2 x 2 = 4 combinations:
XY (both normal)
X Y (X normal, Y complemented)
X Y (X complemented, Y normal)
X Y (both complemented)
• Thus there are four minterms of two variables.
25/08/23 27 Indian Institute of Technology Patna
2
8
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.
• Example: Two variables (X and Y) produce
2 x 2 = 4 combinations:
X Y (both normal)
X Y (x normal, y complemented)
(x complemented, y normal)
X Y (both complemented)
X Y
25/08/23 28 Indian Institute of Technology Patna
2
9
Maxterms and Minterms
• Examples: Two variable minterms and maxterms.
Index Minterm Maxterm
0 xy x+y
1 xy x+y
2 xy x+y
3 xy x+y
• The index above is important for describing
which variables in the terms are true and which
are complemented.
25/08/23 29 Indian Institute of Technology Patna
3
0
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)
• Terms: (b + a + c), a c b, and (c + b + a) are NOT in
standard order.
• Minterms: a b c, a b c, a b c
• Terms: (a + c), b c, and (a + b) do not contain all
variables
25/08/23 30 Indian Institute of Technology Patna
3
1
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”.
25/08/23 31 Indian Institute of Technology Patna
3
2
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) for three
variables). 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).
• Minterm 6 ?
• Maxterm 6 ?
25/08/23 32 Indian Institute of Technology Patna
7
Index Examples – Four Variables
Index Binary Minterm Maxterm
i Pattern mi Mi
0 0000 a bc d a b c d
1 0001 a bc d ?
3 0011 ? a bcd
a b c d a bcd
5 0101
? a bcd
7 0111
a b c d a bcd
10 1010
a b c d ?
13 1101
15 1111 abcd a bc d
25/08/23 33 Indian Institute of Technology Patna
3
4
Minterm and Maxterm Relationship
• Review: DeMorgan's Theorem
x · y x yand x y x y
• Two-variable example:
M2 x y and m2 x·y
Thus M2 is the complement of m2 and vice-versa.
• Since DeMorgan's Theorem holds for n variables,
the above holds for terms of n variables
• giving:
Mi mi and mi Mi
Thus Mi is the complement of mi.
25/08/23 34 Indian Institute of Technology Patna
3
Function Tables for Both
5
• Minterms of Maxterms of
2 variables 2 variables
xy m0 m1 m2 m3 x y M0 M1 M2 M3
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
• Each column in the maxterm function table is
the complement of the column in the minterm
function table since Mi is the complement of mi.
25/08/23 35 Indian Institute of Technology Patna
3
6
Observations
• In the function tables:
• Each minterm has one and only one 1 present in the 2n terms (a minimum of 1s).
All other entries are 0.
• Each maxterm has one and only one 0 present in the 2n terms All other entries are
1 (a maximum of 1s).
• We can implement any function by "ORing" the minterms corresponding
to "1" entries in the function table. These are called the minterms of the
function.
• We can implement any function by "ANDing" the maxterms
corresponding to "0" entries in the function table. These are called the
maxterms of the function.
• This gives us two canonical forms:
• Sum of Minterms (SOM)
• Product of Maxterms (POM)
for stating any Boolean function.
25/08/23 36 Indian Institute of Technology Patna
3
7
Minterm Function Example
• Example: Find 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
25/08/23 37 Indian Institute of Technology Patna
3
8
Minterm Function Example
• F(A, B, C, D, E) = m2 + m9 + m17 + m23
• F(A, B, C, D, E) =
25/08/23 38 Indian Institute of Technology Patna
3
9
Maxterm Function Example
• Example: Implement F1 in maxterms:
F1 = M0 · M2 · M 3 · M 5 · M 6
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 11 1 =0
001 1 1 1 11 1 =1
010 2 1 0 11 1 =0
011 3 1 1 01 1 =0
100 4 1 1 11 1 =1
101 5 1 1 10 1 =0
110 6 1 1 11 0 =0
111 7 1 1 11 1 =1
25/08/23 39 Indian Institute of Technology Patna
4
0
Maxterm Function Example
• F( A, B, C, D ) M 3 M8 M11 M14
• F(A, B,C,D) =
25/08/23 40 Indian Institute of Technology Patna
4
1
Canonical Sum of Minterms
• Any Boolean function can be expressed as a
Sum of Minterms.
• For the function table, the minterms used are the
terms corresponding to the 1's
• For expressions, expand all terms first to
explicitly list all minterms. 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 distribute terms: f xy xy x y
Express as sum of minterms: f = m3 + m2 + m0
25/08/23 41 Indian Institute of Technology Patna
4
2
Another SOM Example
• Example:
F A BC
• There are three variables, A, B, and C which we take to
be the standard order.
• Expanding the terms with missing variables:
• Collect terms (removing all but one of duplicate terms):
• Express as SOM:
25/08/23 42 Indian Institute of Technology Patna
4
3
Shorthand SOM Form
• From the previous example, we started with:
F A B C
• We ended up with:
F = m1+m4+m5+m6+m7
• This can be denoted in the formal shorthand:
F( A , B, C) m(1,4,5,6,7 )
• Note that we explicitly show the standard
variables in order and drop the “m”
designators.
25/08/23 43 Indian Institute of Technology Patna
4
4
Canonical Product of Maxterms
• Any Boolean Function can be expressed as a Product
of Maxterms (POM).
• For the function table, the maxterms used are the terms
corresponding to the 0's.
• For an expression, expand all terms first to explicitly list all
maxterms. Do this by first applying the second distributive
law , “ORing” terms missing variable v with a term equal to
and then applying the distributive law again.
v v
• Example: Convert to product of maxterms:
f (x, y, z) x x y
Apply the distributive law:
x x y (x x)(x y ) 1 (x y ) x y
Add missing variable z:
x y z z(x y z) x y z
Express as POM: f = M2 · M3
25/08/23 44 Indian Institute of Technology Patna
4
5
Another POM Example
• Convert to Product of Maxterms:
f(A, B, C) A C B C A B
• Use x + y z = (x+y)·(x+z) with x (A C B C), y A ,
and z B to get:
f (A C B C A )(A C B C B)
• Then use x x y x y to get:
f ( C BC A )(A C C B)
and a second time to get:
f ( C B A )(A C B)
• Rearrange to standard order,
f ( A B C)(A B C) to give f = M · M
5 2
25/08/23 45 Indian Institute of Technology Patna
4
6
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 Minterms form is
simply the Product of Maxterms with the
same indices.
• Example: Given F ( x , y , z ) m (1, 3, 5, 7 )
F(x, y, z) m(0,2,4,6)
F(x, y, z) M(1,3,5,7)
25/08/23 46 Indian Institute of Technology Patna
4
Conversion Between Forms
7
• To convert between sum-of-minterms and
product-of-maxterms form (or vice-versa) we
follow these steps:
• Find the function complement by swapping terms in
the list with terms not in the list.
• Change from products to sums, or vice versa.
• Example:Given F as before: F( x , y , z ) m(1, 3,5,7 )
• Form the Complement: F(x, y, z) m(0,2,4,6)
• Then use the other form with the same indices –
this
forms the complement again, giving the other
form of the original function:F( x , y , z ) M ( 0, 2,4,6 )
25/08/23 47 Indian Institute of Technology Patna
4
8
Standard Forms
• Standard Sum-of-Products (SOP) form: equations are written
as an OR of AND terms
• Standard Product-of-Sums (POS) form: equations are written
as an AND of OR terms
• Examples:
• SOP:
• POS: A B C A B C B
(A B)· (AB C )· C
These “mixed” forms are neither SOP nor POS
•
• (A B C) (A C)
A B C A C (A B)
25/08/23 48 Indian Institute of Technology Patna
4
9
Standard Sum-of-Products (SOP)
• A sum of minterms form for n variables can be
written down directly from a truth table.
• Implementation of this form is a two-level network
of gates such that:
• The first level consists of n-input AND gates, and
• The second level is a single OR gate (with fewer
than 2n inputs).
• This form often can be simplified so that the
corresponding circuit is simpler.
25/08/23 49 Indian Institute of Technology Patna
5
0
Standard Sum-of-Products (SOP)
• A Simplification Example:
• F( A , B, C) m(1,4,5,6,7 )
• Writing the minterm expression:
F = A B C + A B C + A B C + ABC + ABC
• Simplifying:
F=
• Simplified F contains 3 literals compared to 15
in minterm F
25/08/23 50 Indian Institute of Technology Patna
5
AND/OR Two-level Implementation of
1
SOP Expression
• The two implementations for F are shown
below – it is quite apparent which is simpler!
A
F
B
C
25/08/23 51 Indian Institute of Technology Patna
5
2
SOP and POS Observations
• The previous examples show that:
• Canonical Forms (Sum-of-minterms, Product-of-
Maxterms), or other standard forms (SOP, POS) differ in
complexity
• Boolean algebra can be used to manipulate equations
into simpler forms.
• Simpler equations lead to simpler two-level
implementations
• Questions:
• How can we attain a “simplest” expression?
• Is there only one minimum cost circuit?
• The next part will deal with these issues.
25/08/23 52 Indian Institute of Technology Patna