5. • TEXT BOOKS
• M. Morris Mano, Digital Design, 4th Edition, Pearson Prentice Hall,
2008
• REFERENCE BOOKS
• Donald P Leach, Albert Paul Malvino & Goutam Saha, Digital Principles and
Applications, 8th Edition, Tata McGraw Hill, 2015.
• R D Sudhaker Samuel: Illustrative Approach to Logic Design, Sanguine-Pearson,
2010.
• Ronald J. Tocci, Neal S. Widmer, Gregory L. Moss: Digital Systems Principles and
Applications, 10th Edition, Pearson Education, 2007.
• ONLINE RESOURCES
• Digital Electronic Circuits: https://nptel.ac.in/courses/108/105/108105132/
• Digital Electronics Lab: http://vlabs.iitkgp.ac.in/dec
5
6. • Outcomes of the Course
• CO1: Identify and explain fundamental concepts of digital logic
design including number systems, logic gates, and simplification of
Boolean expressions.
• CO2: Apply Multi-variable Karnaugh map methods to simplify
Boolean expressions.
• CO3: Design different data processing circuits using IC and logic
gates.
• CO4: Design and Implement different sequential circuits including
both synchronous and asynchronous circuits
6
7. UNIT-1
• Basic logic circuits:
• Logic gates AND, OR, NOT, NAND, NOR, Ex-OR, Ex-NOR and their
truth tables,
• Number system and codes:
• Binary, octal, hexadecimal and decimal Number systems and
their inter conversion ,
• Laws of Boolean algebra, De-Morgan's theorem,
• Min term, Max term, POS, SOP, Decimal notation,
• Implementation of simple Circuit using basic gates and universal
gates.
• Laboratory Component:
• Verification of basic and universal gates ICs
• Given a Boolean expression implementation using
basic/universal gates.
7
8. Basic Definitions
• Computer is an electronic device that is designed to work with
Information. The term computer is derived from the Latin
term ‘computare’, this means to calculate or programmable
machine.
• Computer can not do anything without a Program. It represents the
decimal numbers through a string of binary digits. The Word
'Computer' usually refers to the Center Processor Unit plus Internal
memory.
• Charles Babbage is called the "Grand Father" of the computer. The
First mechanical computer designed by Charles Babbage was
called Analytical Engine. It uses read-only memory in the form of
punch cards.
9. Classification based on Operating Principles
• Based on the operating principles, computers can be classified into
one of the following types
• Analog Computers
• Digital Computers
• Hybrid Computers
• Analog computers
• An analog computer is a form of computer that uses the continuously
changeable aspects of physical phenomena such as electrical, mechanical, or
hydraulic quantities to model the problem being solved. In contrast, digital
computers represent varying quantities symbolically, as their numerical values
change.
10. • Digital computer
• Operate essentially by counting.
• All quantities are expressed as discrete or numbers.
• Digital computers are useful for evaluating arithmetic expressions and
manipulations of data (such as preparation of bills, ledgers, solution of
simultaneous equations etc)
• Digital computer is an advanced electronic device that takes raw data as input
from the user and processes these data under the control of set of
instructions (called program) and gives the result (output) and saves output
for the future use.
• It can process both numerical and non-numerical (arithmetic and logical)
calculations.
11. • Hybrid Computers
• These are computers that exhibit features of analog
computers and digital computers.
• The digital component normally serves as the controller and provides logical
operations, while the analog component normally serves as a solver
of differential equations.
12. DIGITAL & COMPUTER SYSTEMS
• Takes a set of discrete information inputs and discrete internal
information (system state) and generates a set of discrete
information outputs.
System State
Discrete
Information
Processing
System
Discrete
Inputs Discrete
Outputs
13. Computer Organization and Architecture
• Computer Architecture is the programmer’s perspective on functional
behavior of a computer (e.g., 32 bits to represent an integer value)
• Computer organization is the internal structural relationships not
visible to a programmer…e.g., physical memory
14. Hierarchy of Computer Architecture
I/O system
Instr. Set Proc.
Compiler
Operating
System
Application
Digital Design
Circuit Design
Instruction Set
Architecture
Firmware
Datapath & Control
Layout
Software
Hardware
Software/Hardware
Boundary
High-Level Language Programs
Assembly Language
Programs
Microprogram
Register Transfer
Notation (RTN)
Logic Diagrams
Circuit Diagrams
Machine Language
Program
15. Types of Digital Systems
• No state present (Combinational)
• Combinational Logic System
• Output = Function(Input)
• State present (Sequential)
• State updated at discrete times
=> Synchronous Sequential System
• State updated at any time
=>Asynchronous Sequential System
• State = Function (State, Input)
• Output = Function (State, Input)
16. INFORMATION REPRESENTATION - Signals
• Information variables represented by physical quantities.
• For digital systems, the variables take on discrete values.
• Two level, or binary values are the most prevalent values in digital systems.
• Binary values are represented abstractly by:
• digits 0 and 1
• words (symbols) False (F) and True (T)
• words (symbols) Low (L) and High (H)
• and words On and Off.
• Binary values are represented by values or ranges of values of physical
quantities
17. • Digital Signal : Decimal values are difficult to represent in
electrical systems. It is easier to use two voltage values than
ten.
• Digital Signals have two basic states:
1 (logic “high”, or H, or “on”)
0 (logic “low”, or L, or “off”)
• Digital values are in a binary format. Binary means 2 states.
• A good example of binary is a light (only on or off)
on off
Power switches have labels “1” for on and “0” for off.
17
18. Analog and Digital Signal
• Analog system
• The physical quantities or signals may vary continuously over a
specified range.
• Digital system
• The physical quantities or signals can assume only discrete values.
• Greater accuracy
t
X(t)
t
X(t)
Analog signal Digital signal 18
19. Signal Examples Over Time
• Kkk
Analog
Asynchronous
Synchronous
Time
Continuous in
value & time
Discrete in
value &
continuous in
time
Discrete in
value & time
Digital
20. Digital System Example:
A Digital Counter (e. g., odometer):
1 3
0 0 5 6 4
Count Up
Reset
Inputs: Count Up, Reset
Outputs: Visual Display
State: "Value" of stored digits
21. Number System in Digital Systems
• In digital systems, the number system is used for representing the
information.
• The number system has different bases and the most common of
them are the decimal, binary, octal, and hexadecimal.
• The base or radix of the number system is the total number of the
digit used in the number system.
22. Types of Number Systems
• Some of the important types of number system are
• Decimal Number System
• Binary Number System
• Octal Number System
• Hexadecimal Number System
23. Decimal Number Systems
• The number system is having digit 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
• this number system is known as a decimal number system because
total ten digits are involved.
• The base of the decimal number system is 10.
24. Decimal Number System
• Base (also called radix) = 10
• 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
• Digit Position
• Integer & fraction
• Digit Weight
• Weight = (Base) Position
• Magnitude
• Sum of “Digit x Weight”
• Formal Notation
1 0 -1
2 -2
5 1 2 7 4
10 1 0.1
100 0.01
500 10 2 0.7 0.04
d2*B
2
+d1*B
1
+d0*B
0
+d-1*B
-1
+d-2*B
-2
(512.74)10
24
25. Binary Number Systems
• The modern computers do not process decimal number; they work
with another number system known as a binary number system
which uses only two digits 0 and 1.
• The base of binary number system is 2 because it has only two digit 0
and 1.
• The digital electronic equipments are works on the binary number
system and hence the decimal number system is converted into
binary system.
26. Binary Number System
• Base = 2
• 2 digits { 0, 1 }, called binary digits or “bits”
• Weights
• Weight = (Base)
Position
• Magnitude
• Sum of “Bit x Weight”
• Formal Notation
• Groups of bits
4 bits = Nibble
8 bits = Byte
1 0 -1
2 -2
2 1 1/2
4 1/4
1 0 1 0 1
1 *22
+0 *21
+1 *20
+0 *2-1
+1 *2-2
=(5.25)10
(101.01)2
1 0 1 1
1 1 0 0 0 1 0 1
26
27. Octal Numbers
• The base of a number system is equal to the number of digits used,
i.e., for decimal number system the base is ten while for the binary
system the base is two.
• The octal system has the base of eight as it uses eight digits 0, 1, 2, 3,
4, 5, 6, 7.
• All these digits from 0 to 7 have the same physical meaning as by
decimal symbols, the next digit in the octal number is represented by
10, 11, 12, which are equivalent to decimal digits 8, 9, 10 respectively.
• In this way, the octal number 20 will represent the decimal digit and
subsequently, 21, 22, 23.. Octal numbers will represent the decimal
number digit 17, 18, 19… etc. and so on.
28. Octal Number System
• Base = 8
• 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 }
• Weights
• Weight = (Base)
Position
• Magnitude
• Sum of “Digit x Weight”
• Formal Notation
1 0 -1
2 -2
8 1 1/8
64 1/64
5 1 2 7 4
5 *82
+1 *81
+2 *80
+7 *8-1
+4 *8-2
=(330.9375)10
(512.74)8
28
29. Hexadecimal Numbers
• These numbers are used extensively in microprocessor work.
• The hexadecimal number system has a base of 16, and hence it
consists of the following sixteen number of digits.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
• The size of the hexadecimal is much shorter than the binary number
which makes them easy to write and remember.
• Let 0000 to 000F representing hexadecimal numbers from zero to
fifteen, then 0010, 0011, 0012, …etc. Will represent sixteen,
seventeen, eighteen… etc. till 001F which represent thirty one and so
on.
30. Hexadecimal Number System
• Base = 16
• 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
• Weights
• Weight = (Base)
Position
• Magnitude
• Sum of “Digit x Weight”
• Formal Notation
1 0 -1
2 -2
16 1 1/16
256 1/256
1 E 5 7 A
1 *162
+14 *161
+5 *160
+7 *16-1
+10 *16-2
=(485.4765625)10
(1E5.7A)16
30
31. The Power of 2
n 2n
0 20=1
1 21=2
2 22=4
3 23=8
4 24=16
5 25=32
6 26=64
7 27=128
n 2n
8 28=256
9 29=512
10 210=1024
11 211=2048
12 212=4096
20 220=1M
30 230=1G
40 240=1T
Mega
Giga
Tera
Kilo
31
32. Conversion of Number Systems
• A number can be converted from one number system to another
number system using number system formulas.
• Like binary numbers can be converted to octal numbers and vice
versa, octal numbers can be converted to decimal numbers and vice
versa, and so on.
34. Decimal to other Number System
• The decimal number can be an integer or floating-point integer.
• When the decimal number is a floating-point integer, then we convert both
part (integer and fractional) of the decimal number in the isolated
form(individually).
• There are the following steps that are used to convert the decimal number
into a similar number of any base 'r'.
• In the first step, we perform the division operation on integer and successive part
with base 'r'.
• We will list down all the remainders till the quotient is zero.
• Then we find out the remainders in reverse order for getting the integer part of the
equivalent number of base 'r'.
• In this, the least and most significant digits are denoted by the first and the last
remainders.
• In the next step, the multiplication operation is done with base 'r' of the fractional
and successive fraction.
• The carries are noted until the result is zero or when the required number of the
equivalent digit is obtained.
• For getting the fractional part of the equivalent number of base 'r', the normal
sequence of carrying is considered.
35. Decimal to Binary Conversion
• For converting decimal to binary, there are two steps required to
perform, which are as follows:
• In the first step, we perform the division operation on the integer and the
successive quotient with the base of binary(2).
• Next, we perform the multiplication on the integer and the successive
quotient with the base of binary(2).
36. Decimal (Integer) to Binary Conversion
• Divide the number by the ‘Base’ (=2)
• Take the remainder (either 0 or 1) as a coefficient
• Take the quotient and repeat the division
Example: (13)10 Quotient Remainder Coefficient
Answer: (13)10 = (a3 a2 a1 a0)2 = (1101)2
MSB LSB
13 / 2 = 6 1 a0 = 1
6 / 2 = 3 0 a1 = 0
3 / 2 = 1 1 a2 = 1
1 / 2 = 0 1 a3 = 1
36
37. Decimal (Fraction) to Binary Conversion
• Multiply the number by the ‘Base’ (=2)
• Take the integer (either 0 or 1) as a coefficient
• Take the resultant fraction and repeat the division
Example: (0.625)10 Integer Fraction Coefficient
Answer: (0.625)10 = (0.a-1 a-2 a-3)2 = (0.101)2
MSB LSB
0.625 * 2 = 1 . 25
0.25 * 2 = 0 . 5 a-2 = 0
0.5 * 2 = 1 . 0 a-3 = 1
a-1 = 1
37
38. • Convert the following decimal numbers to binary
• (5.25)10 = 101.01
• (152.25)10 = 10011000.01
• (43.75)10 = 101011.11
• (0.6875)10 = 0.1011
39. Decimal to Octal Conversion
• For converting decimal to octal, there are two steps required to
perform, which are as follows:
• In the first step, we perform the division operation on the integer and the
successive quotient with the base of octal(8).
• Next, we perform the multiplication on the integer and the successive
quotient with the base of octal(8).
41. Decimal to hexadecimal conversion
• For converting decimal to hexadecimal, there are two steps required
to perform, which are as follows:
• In the first step, we perform the division operation on the integer and the
successive quotient with the base of hexadecimal (16).
• Next, we perform the multiplication on the integer and the successive
quotient with the base of hexadecimal (16).
43. Digital Logic Circuits
• A digital logic circuits is an electronic circuits that handle
information encoded in binary form (deal with signals that
have only two values, 0 and 1)
• A digital logic circuit is defined as the one in which voltages are
assumed to be having a finite number of distinct value.
• Digital circuits are the backbone of computers.
• They are used for multiple purposes ranging from simple logic
gates to complex microprocessors, which are responsible for
executing instructions in a computer.
• Types of digital logic circuits are
• combinational logic circuits and
• sequential logic circuits.
44. Concepts required for digital circuits
Binary Logic
• Binary logic consists of binary variables and logical operations.
Binary variables
• The variables are designated by the alphabets such as A, B, C, x, y, z,
etc., with each variable having only two distinct values: 1 and 0.
• 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.
• Binary/logic variables are typically represented as letters or word
• Examples:A,B,C,…,X,Y,Z, RESET, START_IT, or ADD1 later
45. Logical Operations
•The three basic logical operations are:
•AND --- Binary operation
•OR ---Binary operation
•NOT ---Unary operation
•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.
46. • Examples:
• is read “Y is equal to A AND B.”
• is read “z is equal to x OR y.”
• is read “X is equal to NOT A.”
Notation Examples
▪ 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”).
= B
A
Y
y
x
z +
=
A
X =
47. Operator Definitions
▪ Operations are defined on the values
"0" and "1" for each operator:
AND
0 · 0 = 0
0 · 1 = 0
1 · 0 = 0
1 · 1 = 1
OR
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
NOT
1
0 =
0
1 =
48. 0
1
1
0
X
NOT
X
Z =
Truth Tables
• Truth table - a tabular listing of the values of a function
for all possible combinations of values on its arguments
• For n n input variables there are 2
n
rows are considered
• Example: Truth tables for the basic logic operations:
1
1
1
0
0
1
0
1
0
0
0
0
Z = X·Y
Y
X
AND OR
X Y Z = X+Y
0 0 0
0 1 1
1 0 1
1 1 1
49. Boolean algebra
• Boolean algebra is a division of mathematics that deals with
operations on logical values and incorporates binary variables.
• Boolean Algebra is used to analyze and simplify the digital (logic)
circuits.
• It uses only the binary numbers i.e. 0 and 1.
• It is also called as Binary Algebra or logical Algebra.
• Boolean algebra was invented by George Boole in 1854.
50. Boolean Algebra Properties
Let X: boolean variable, 0,1: constants
1. X + 0 = X -- Zero Axiom
2. X • 1 = X -- Unit Axiom
3. X + 1 = 1 -- Unit Property
4. X • 0 = 0 -- Zero Property
5. X + X = X -- Idepotence
6. X • X = X -- Idepotence
7. X + X’ = 1 -- Complement
8. X • X’ = 0 -- Complement
9. (X’)’ = X -- Involution
51. Let X,Y, and Z: boolean variables
10. X + Y = Y + X 11. X • Y = Y • X -- Commutative
12. X + (Y+Z) = (X+Y) + Z 13. X•(Y•Z) = (X•Y)•Z -- Associative
14. X•(Y+Z) = X•Y + X•Z 15. X+(Y•Z) = (X+Y) • (X+Z)
-- Distributive
16. (X + Y)’ = X’ • Y’ 17. (X • Y)’ = X’ + Y’ -- DeMorgan’s
In general,
( X1 + X2 + … + Xn )’ = X1’•X2’ • … •Xn’, and
( X1•X2•… •Xn )’ = X1’ + X2’ + … + Xn’
52. Binary Logic Function or Boolean function
• A Boolean function described by an algebraic expression consists of binary variables, the
constants 0 and 1, and the logic operation symbols.
• For a given value of the binary variables, the function can be equal to either 1 or 0.
• Terminology:
• Literal: A variable or its complement
• Product term: literals connected by •
• Sum term: literals connected by +
F(vars) = expression
Example: F(a,b) = a’•b + b’
G(x,y,z) = x•(y+z’)
set of binary
variables
◼Operators ( +, •, ‘ )
◼Variables
◼Constants ( 0, 1 )
◼Groupings (parenthesis)
53. Boolean Operator Precedence
• The order of evaluation in a Boolean expression is:
• Parenthesis
• AND
• OR
• NOT
• Consequence: Parentheses appear around OR expressions
• Example: F = A(B + C)(C + D)
54. Logic gates
• A logic gate is a device that acts as a building block for digital circuits.
• They perform basic logical functions that are fundamental to digital
circuits.
• Most electronic devices we use today will have some form of logic gates in
them.
• For example, logic gates can be used in technologies such as smartphones, tablets or
within memory devices.
• In a circuit, logic gates will make decisions based on a combination of
digital signals coming from its inputs.
• Most logic gates have two inputs and one output.
• Logic gates are based on Boolean algebra.
• At any given moment, every terminal is in one of the two binary conditions,
false or true.
• False represents 0, and true represents 1.
• Depending on the type of logic gate being used and the combination of
inputs, the binary output will differ.
55. • A logic gate can be thought of like a light switch, wherein one position
the output is off -- 0, and in another, it is on -- 1.
• Logic gates are commonly used in integrated circuits (IC).
56. Types of logic gates
• Basic gates
• The basic logic gates are used to perform fundamental logical functions.
• Basic gates are AND, OR, NOT,XOR
• Universal gates
• These area derived from basic logic gates
• Universal gates are NAND (AND-NOT), NOR(OR-NOT),XNOR(XOR-NOT)
57. • AND gate
• In AND gate the output of an AND gate attains the state 1 if and only if all the
inputs are in state 1
• It has n input (n >= 2) and one output.
• Logic Symbol Truth Table
• Expression (for two input) Expression (for more than two inputs)
Y=A AND B Y=A AND B AND C…….N
Y=A.B Y=A.B.C………N
Switches in series => AND
59. OR gate
• In OR gate the output of an OR gate attains the state 1 if one or more
inputs attain the state 1.
• It has n input (n >= 2) and one output.
• Logic symbol Truth table
• Expression (for two input) Expression (for more than two inputs)
Y=A OR B Y=A OR B OR C…….N
Y=A+B Y=A+B+C………N
Switches in parallel => OR
61. NOT gate
• In NOT gate the output of a NOT gate attains the state 1 if and only if the
input does not attain the state 1.
• NOT gate is also known as Inverter. It has one input A and one output Y.
• Logic symbol Truth table
• Expression
Y=NOT A
Y=A’
Y=෩
𝐴
Y= ҧ
𝐴
C
Normally-closed switch => NOT
63. XOR Gate
• XOR or Ex-OR gate is a special type of gate.
• In XOR gate the output of a two-input XOR gate attains the state 1 if one adds only input
attains the state 1.
• It can be used in the half adder, full adder and subtractor.
• The exclusive-OR gate is abbreviated as EX-OR gate or sometime as X-OR gate.
• It has n input (n >= 2) and one output.
• Logic symbol Truth table
• Expression(for two inputs) Expression(for more than two inputs)
• Y=A XOR B Y=A XOR B XOR C….N
• Y=A.Bˉ+Aˉ.B Y= A⨁B⨁C……..N
• Y=A⨁B
65. Universal Gates
•A universal gate is a gate which can implement any Boolean
function without need to use any other gate type.
•The NAND and NOR gates are universal gates.
•In practice, this is advantageous since NAND and NOR gates
are economical and easier to fabricate and are the basic
gates used in all IC digital logic families.
•In fact, an AND gate is typically implemented as a NAND
gate followed by an inverter not the other way around!!
•Likewise, an OR gate is typically implemented as a NOR gate
followed by an inverter not the other way around!!
66. NAND Gate
• The NAND gate represents the complement of the AND operation. Its
name is an abbreviation of NOT AND.
• The graphic symbol for the NAND gate consists of an AND symbol
with a bubble on the output, denoting that a complement operation
is performed on the output of the AND gate.
• The truth table and the graphic symbol of NAND gate
67. • Implementing an Inverter Using only NAND Gate
• Implementing AND Using NAND Gate
70. NOR Gate
• The NOR gate represents the complement of the OR operation.
• Its name is an abbreviation of NOT OR.
• The graphic symbol for the NOR gate consists of an OR symbol with a bubble
on the output, denoting that a complement operation is performed on the
output of the OR gate.
• The truth table and the graphic symbol of NOR gate
78. • Design a circuit to implement function F2=x+y’z
• Truth table Circuit
x y z F2
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
79. Duality
• The dual of an expression is obtained by exchanging (• and +), and (1
and 0) in it, provided that the precedence of operations is not
changed.
• Cannot exchange x with x’
• Example:
• Find H(x,y,z), the dual of F(x,y,z) = x’yz’ + x’y’z
• H = (x’+y+z’) (x’+y’+ z)
80. With respect to duality, Identities 1 – 8 have the following relationship:
1. X + 0 = X 2. X • 1 = X (dual of 1)
3. X + 1 = 1 4. X • 0 = 0 (dual of 3)
5. X + X = X 6. X • X = X (dual of 5)
7. X + X’ = 1 8. X • X’ = 0 (dual of 7)
81. Power of Duality
1. x + x•y = x is true, so (x + x•y)’=x’
2. (x + x•y)’=x’•(x’+y’)
3. x’•(x’+y’) =x’
4. Let X=x’, Y=y’
5. X•(X+Y) =X, which is the dual of x + x•y = x.
6. The above process can be applied to any formula. So if a formula is
valid, then its dual must also be valid.
7. Proving one formula also proves its dual.
82. Complement of a function
• The complement of a function is derived by interchanging (• and +),
and (1 and 0), and complementing each variable.
• Otherwise, interchange 1s to 0s in the truth table column showing F.
• The complement of a function IS NOT THE SAME as the dual of a
function.
• Find G(x,y,z), the complement of
F(x,y,z) = xy’z’ + x’yz
• G = F’ = (xy’z’ + x’yz)’
= (xy’z’)’ • (x’yz)’ DeMorgan
= (x’+y+z) • (x+y’+z’) DeMorgan again
• Note: The complement of a function can also be derived by finding the function’s
dual, and then complementing all of the literals
83. 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)
84. 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., ), there are 2n minterms for n variables.
• Example: Two variables (X and Y)produce
2 x 2 = 4 combinations:
(both normal)
(X normal, Y complemented)
(X complemented, Y normal)
(both complemented)
• Thus there are four minterms of two variables.
Y
X
XY
Y
X
Y
X
x
85. 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:
(both normal)
(x normal, y complemented)
(x complemented, y normal)
(both complemented)
Y
X +
Y
X +
Y
X +
Y
X +
86. Chapter 2 86
• Examples: Two variable minterms and maxterms.
• The index above is important for describing which
variables in the terms are true and which are
complemented.
Maxterms and Minterms
Index Minterm Maxterm
0 x y x + y
1 x y x + y
2 x y x + y
3 x y x + y
87. 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
88. 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”.
89. 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 ( ) and
no variables are complemented for Maxterm 0 (X,Y,Z).
• Minterm 0, called m0 is .
• Maxterm 0, called M0 is (X + Y + Z).
• Minterm 6 ?
• Maxterm 6 ?
Z
,
Y
,
X
Z
Y
X
m6 = X Y Z’
M6 = (X’ + Y’ + Z)
90. • Review: DeMorgan's Theorem
and
• Two-variable example:
and
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:
and
Thus Mi is the complement of mi.
Minterm and Maxterm Relationship
y
x
y
·
x +
= y
x
y
x
=
+
y
x
M2
+
= y
x·
m2
=
i m
M = i i
i M
m =
91. Truth Table notation for Minterms and
Maxterms
• Minterms and Maxterms are
easy to denote using a truth
table.
• Example:
Assume 3 variables x,y,z
(order is fixed)
x y z Minterm Maxterm
0 0 0 x’y’z’ = m0 x+y+z = M0
0 0 1 x’y’z = m1 x+y+z’ = M1
0 1 0 x’yz’ = m2 x+y’+z = M2
0 1 1 x’yz = m3 x+y’+z’= M3
1 0 0 xy’z’ = m4 x’+y+z = M4
1 0 1 xy’z = m5 x’+y+z’ = M5
1 1 0 xyz’ = m6 x’+y’+z = M6
1 1 1 xyz = m7 x’+y’+z’ = M7
92. Function for Canonical Forms (Unique)
• Any Boolean function F( ) can be expressed as a unique
sum of minterms and a unique product of maxterms
(under a fixed variable ordering).
• In other words, every function F() has two canonical
forms:
• Canonical Sum-Of-Products (sum of minterms)
• Canonical Product-Of-Sums (product of maxterms)
93. • Canonical Sum-Of-Products:
The minterms included are those mj such that F( ) = 1 in row j of the
truth table for F( ).
• Canonical Product-Of-Sums:
The maxterms included are those Mj such that F( ) = 0 in row j of the
truth table for F( ).
94. Function Tables for Both
• Minterms of Maxterms of
2 variables 2 variables
• 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.
x y m0 m1 m2 m3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
x y M0 M1 M2 M3
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
95. 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.
96. Example
• Consider the Truth table for f1(a,b,c) at right and
write the canonical sum-of-products and canonical
product-of-sums for f1
• The canonical sum-of-products form for f1 is
f1(a,b,c) = m1 + m2 + m4 + m6
= a’b’c + a’bc’ + ab’c’ + abc’
• The canonical product-of-sums form for f1 is
f1(a,b,c) = M0 • M3 • M5 • M7
= (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’).
• Observe that: mj = Mj’
a b c f1
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
97. 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
)
7
,
5
,
3
,
1
(
)
z
,
y
,
x
(
F m
S
=
)
6
,
4
,
2
,
0
(
)
z
,
y
,
x
(
F m
S
=
)
7
,
5
,
3
,
1
(
)
z
,
y
,
x
(
F M
P
=
98. Conversion Between Forms
• 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:
• Form the Complement:
• Then use the other form with the same indices – this
forms the complement again, giving the other form of the original
function:
)
7
,
5
,
3
,
1
(
)
z
,
y
,
x
(
F m
S
=
)
6
,
4
,
2
,
0
(
)
z
,
y
,
x
(
F m
S
=
)
6
,
4
,
2
,
0
(
)
z
,
y
,
x
(
F M
P
=
99. • 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:
• These “mixed” forms are neither SOP nor POS
Standard Forms
B
C
B
A
C
B
A +
+
C
·
)
C
B
(A
·
B)
(A +
+
+
C)
(A
C)
B
(A +
+
B)
(A
C
A
C
B
A +
+
100. Standard Sum-of-Products (SOP)
• Standard forms are “like” canonical forms, except that not all variables
need appear in the individual product (SOP) or sum (POS) terms.
• 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.
• Example:
f1(a,b,c) = a’b’c + bc’ + ac’
is a standard sum-of-products form
• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)
is a standard product-of-sums form.
102. Simplify the following function using Boolean laws and implement the
• SOP circuit using basic gates and usinf only NAND gates
• POS circuit using basic gates and using only NOR gates
Truth table
• Writing the minterm expression:
F = A'B'C + AB'C' + AB'C + ABC' + ABC
Standard Sum-of-Products (SOP)
)
7
,
6
,
5
,
4
,
1
(
m
)
C
,
B
,
A
(
F S
=
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
103. • Simplifying:
F = A’ B’ C + A (B’ C’ + B C’ + B’ C + B C)
= A’ B’ C + A (B’ + B) (C’ + C)
= A’ B’ C + A.1.1
= A’ B’ C + A
= B’C + A
• Observation
• Simplified F contains 3 literals compared to 15 in minterm F
104. AND/OR Two-level Implementation of SOP Expression
• The two implementations for F are shown below – it is quite
apparent which is simpler!
F
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
F
B
C
A
109. Conversion of SOP from standard to canonical
form
• Expand non-canonical terms by inserting equivalent of 1 in each
missing variable x:
(x + x’) = 1
• Remove duplicate minterms
• f1(a,b,c) = a’b’c + bc’ + ac’
= a’b’c + (a+a’)bc’ + a(b+b’)c’
= a’b’c + abc’ + a’bc’ + abc’ + ab’c’
= a’b’c + abc’ + a’bc’ + ab’c’
110. Conversion of POS from standard to canonical
form
• Expand noncanonical terms by adding 0 in terms of missing variables
(e.g., xx’ = 0) and using the distributive law
• Remove duplicate maxterms
• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)
= (a+b+c)•(aa’+b’+c’)•(a’+bb’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•
(a’+b+c’)•(a’+b’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•(a’+b+c’)
111. Conversion of POS from standard to canonical
form
• Expand noncanonical terms by adding 0 in terms of missing variables
(e.g., xx’ = 0) and using the distributive law
• Remove duplicate maxterms
• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)
= (a+b+c)•(aa’+b’+c’)•(a’+bb’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•
(a’+b+c’)•(a’+b’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•(a’+b+c’)
112. 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
113.
114. • 3 input AND Gate(74LS11) 3 input NAND Gate(74LS10)
115. • 3 input OR gate(74HC4075) 3 input NOR gate (74LS27)
116. • Convert the following expression to canonical form and implement
• SOP circuit using basic gates and using only NAND gates
• POS circuit using basic gates and using only NOR gates
F(a,b,c,d)=abc’+a’b’c+a’d
• Canonical form of SOP
• F(a,b,c,d)=∑m(1,2,3,5,7,12,13)
• F(a,b,c,d)=a’b’c’d + a’b’cd’ + a’b’cd + a’bc’d + a’bcd + abc’d’ + abc’d