0% found this document useful (0 votes)
30 views14 pages

DLD -UNIT-1

Uploaded by

Kartik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views14 pages

DLD -UNIT-1

Uploaded by

Kartik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 14

Digital Logic Design REVA University

BENGALURU, INDIA

Digital Logic Design


B20EF3010
For Second Year B.Tech

SCHOOL OF COMPUTER SCIENCE AND ENGINEERING

School of Computer Science and Engineering Page 1


Digital Logic Design REVA University

Text books:

1. D P Leach, A P Malvino, and Goutham Saha, Digital Principles and Applications, Tata McGraw-
th
Hill, 7 edition, 2006.
rd
2. Moshe Morris Mano, Digital Design, Prentice Hall, 3 edition, 2004.

Reference books:

1. Samuel C Lee, Digital Circuits and Logic Design, PHI Course Pvt. Ltd., 2008.
2. Charles H Roth Jr., Fundamentals of Logic Design, Cengage Course, 5th edition, 2014.
3. John M Yarbrough, Digital Logic Applications and Design, Thomson Course, 2001.
4. Donald D Givone, Digital Principles and Design, Tata McGraw-Hill 2002.

UNIT-1
PRINCIPLE AND MINIMIZATION TECHNIQUES OF COMBINATIONAL CIRCUITS

Boolean Function:
Boolean algebra is an algebra that deals with binary variables and logic operations.
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.
F(vars) = expression

Set of binary Variables Operators (+, •, ‘)


Constants (0, 1)
Groupings (parenthesis)
Variables

Consider an example for the Boolean function


F1 = x + y’z

The function F1 is equal to 1 if x is equal to 1 or if both y’ and z are equal to 1. F1 is equal to 0


otherwise. The complement operation dictates that when y’ = 1, y = 0. Therefore, F1 = 1 if x = 1
or if y = 0 and z = 1.
A Boolean function expresses the logical relationship between binary variables and is evaluated
by determining the binary value of the expression for all possible values of the variables.
A Boolean function can be represented in a truth table. The number of rows in the truth table is
n
2 , where n is the number of variables in the function. The binary combinations for the truth
n
table are obtained from the binary numbers by counting from 0 through 2 - 1.

School of Computer Science and Engineering Page 2


Digital Logic Design REVA University

Gate Implementation of F1 = x + y’z


x y z F1
0 0 0 0
0 0 1 1
Truth Table for F1 0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

School of Computer Science and Engineering Page 3


Note:
Q: Let a function F() depend on n variables. How many rows are there in the truth table of F() ?
n n
A: 2 rows, since there are 2 possible binary patterns/combinations for the n variables.

Truth Tables

• Enumerates all possible combinations of variable values and the corresponding function
value.
• Truth tables for some arbitrary functions
F1(x,y,z), F2(x,y,z), and F3(x,y,z) are shown to the below.

x y z F1 F2 F3
• Truth table: a 0 0 0 0 1 1 unique representation of a
Boolean function
0 0 1 0 0 1
• If two functions 0 have identical truth
tables, the 1 0 0 0 1 functions are
equivalent (and 0 1 1 0 1 1 vice-versa).
• Truth tables can be used to prove equality
1 0 0 0 1 0
theorems.
• However, the 1 0 1 0 1 0 size of a truth table
grows 1 1 0 0 0 0 exponentially with the
number of variables involved,
1 1 1 1 0 1
hence unwieldy. This motivates the use
of Boolean Algebra.

Boolean expressions-NOT unique


Unlike truth tables, expressions representing a
Boolean function are NOT unique.
• Example:
– F(x,y,z) = x’•y’•z’ + x’•y•z’ +
x•y•z’
– G(x,y,z) = x’•y’•z’ + y•z’
• The corresponding truth tables for
F() and G() are to the right. They x y z F G
are identical.
0 0 0 1 1
• Thus, F() = G()
0 0 1 0 0
0 1 0 1 1
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0
Algebraic Manipulation (Minimization of Boolean function)
• Boolean algebra is a useful tool for simplifying digital circuits.
• Why do it? Simpler can mean cheaper, smaller, faster.
• Example: Simplify F = x’yz + x’yz’ + xz.
F= x’yz + x’yz’ + xz
= x’y(z+z’) + xz
= x’y•1 + xz
= x’y + xz

• Example: Prove
x’y’z’ + x’yz’ + xyz’ = x’z’ + yz’
• Proof:
x’y’z’+ x’yz’+ xyz’
= x’y’z’ + x’yz’ + x’yz’ + xyz’
= x’z’(y’+y) + yz’(x’+x)
= x’z’•1 + yz’•1
= x’z’ + yz’

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.
Example
• Find G(x,y,z), the complement of F(x,y,z) = xy’z’ +
x’yz Ans: 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

Canonical and Standard Forms


We need to consider formal techniques for the simplification of Boolean functions.
Identical functions will have exactly the same canonical form.
• Minterms and Maxterms
• Sum-of-Minterms and Product-of- Maxterms
• Product and Sum terms
• Sum-of-Products (SOP) and Product-of-Sums (POS)

Definitions
Literal: A variable or its complement
Product term: literals connected by •
Sum term: literals connected by +
Minterm: a product term in which all the variables appear exactly once, either complemented or
uncomplemented.
Maxterm: a sum term in which all the variables appear exactly once, either
complemented or uncomplemented.
Canonical form: Boolean functions expressed as a sum of Minterms or product of Maxterms are said
to be in canonical form.

Minterm
• Represents exactly one combination in the truth table.
• Denoted by mj, where j is the decimal equivalent of the minterm’s corresponding
binary combination (bj).
• A variable in mj is complemented if its value in bj is 0, otherwise is uncomplemented.

Example: Assume 3 variables (A, B, C), and j=3. Then, bj = 011 and its corresponding minterm is
denoted by mj = A’BC

Maxterm
• Represents exactly one combination in the truth table.
• Denoted by Mj, where j is the decimal equivalent of the maxterm’s corresponding
binary combination (bj).
• A variable in Mj is complemented if its value in bj is 1, otherwise is uncomplemented.

Example: Assume 3 variables (A, B, C), and j=3. Then, bj = 011 and its corresponding maxterm is
denoted by Mj = A+B’+C’

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
Canonical Forms
• Every function F() has two canonical forms:
– Canonical Sum-Of-Products (sum of minterms)
– Canonical Product-Of-Sums (product of maxterms)
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( ).

Example
a b c f1
Consider a Truth table for f1(a,b,c) at right The canonical sum-of-products form
0 0 0 0
for f1 is f1(a,b,c) = m1 + m2 + m4 + m6
0 0 1 1
= a’b’c + a’bc’ + ab’c’ + abc’ 0 1 0 1
The canonical product-of-sums form for f1 is f1(a,b,c) = M0 • M3 • M5 • M7 0 1 1 0
= (a+b+c)•(a+b’+c’)• (a’+b+c’)•(a’+b’+c’). 1 0 0 1
1 0 1 0
• Observe that: mj = Mj’ 1 1 0 1
1 1 1 0
• f1(a,b,c) = ∑ m(1,2,4,6), where ∑ indicates that this is a sum-of-products form, and
m(1,2,4,6) indicates that the minterms to be included are m1, m2, m4, and m6.
• f1(a,b,c) = ∏ M(0,3,5,7), where ∏ indicates that this is a product-of-sums form, and
M(0,3,5,7) indicates that the maxterms to be included are M0, M3, M5, and M7.
• Since mj = Mj’ for any j,
∑ m(1,2,4,6) = ∏ M(0,3,5,7) = f1(a,b,c)

Conversion between Canonical Forms
• Replace ∑ with ∏ (or vice versa) and replace those j’s that appeared in the original form with
those that do not.
• Example:
f1(a,b,c)= a’b’c + a’bc’ + ab’c’ + abc’
= m 1 + m2 + m4 + m6
= ∑(1,2,4,6)
= ∏(0,3,5,7)
= (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’)
Standard Forms
Another way to express Boolean functions is in standard form. In this configuration, the terms that
form the function may contain one, two, or any number of literals.
There are two types of standard forms: the sum of products and products of sums.
The sum of products is a Boolean expression containing AND terms, called product terms, with one or
more literals each. The sum denotes the ORing of these terms. An example of a function expressed as
a sum of products is
F1 = y’ + xy + x’yz’
The expression has three product terms, with one, two, and three literals. Their sum is, in effect, an OR
operation.
A product of sums is a Boolean expression containing OR terms, called sum terms. Each term may
have any number of literals. The product denotes the ANDing of these terms. An example of a
function expressed as a product of sums is
F2 = x(y’ + z)(x’ + y + z’)
This expression has three sum terms, with one, two, and three literals. The product is an AND
operation.

Three-variable K-map:

A function in three variables (A, B, C) expressed in the standard SOP form can have eight
possible combinations: A B C , AB C,A BC ,A BC,AB C ,AB C,ABC , and ABC. Each one of
these combinations designate d by m0,m1,m2,m3,m4,m5,m6, and m7, respectively, is called a
minterm. A is the MSB of the minterm designator and C is the LSB.
In the standard POS form, the eight possible combinations are:A+B+C, A+B+C , A+B
+C,A+B + C ,A + B+ C,A + B + C ,A + B + C,A + B + C . Each oneof these combinations
designated by M0, M1, M2, M3, M4, M5, M6, and M7respectively is called a maxterm. A is the MSB of the maxterm designator
and C is the LSB.
3
A three-variable k-map has, therefore, 8(=2 ) squares or cells, and each square on the
map represents a minterm or maxterm as shown in figure. The small number on the top right
corner of each cell indicates the minterm or maxterm designation.

(a)Minterms

(b) Maxterms

The three-variable k-map.


The binary numbers along the top of the map indicate the condition of B and C for each
column. The binary number along the left side of the map against each row indicates the
condition of A for that row. For example, the binary number 01 on top of the second column in
fig indicates that the variable B appears in complemented form and the variable C in non-
complemented form in all the minterms in that column. The binary number 0 on the left of the
first row indicates that the variable A appears in complemented form in all the minterms in that
row, the binary numbers along the top of the k-map are not in normal binary order. They are,
infact, in the Gray code. This is to ensure that twophysically adjacent squares are really adjacent,
i.e., their minterms or maxterms differ by only one variable.

Ex: Map the expression f=∑m(1,5,2,6,7)= ∑m(1,2,5,6,7). The corresponding k-map is

K-map in SOP form


Ex: Map the expressions f = π M (0,5,7,3,6)= π M (0,3,5,6,7). The mapping of the expression is

K-map in POS form

Minimization of SOP and POS expressions:

For reducing the Boolean expressions in SOP (POS) form plotted on the k-map, look
at the 1s (0s) present on the map. These represent the minterms (maxterms). Look for the
minterms (maxterms) adjacent to each other, in order to combine them into larger squares.
Combining of adjacent squares in a k-map containing 1s (or 0s) for the purpose of simplification
of a SOP (or POS) expression is called looping. Some of the minterms (maxterms) may have
many adjacencies. Always start with the minterms (maxterm) with the least number of
adjacencies and try to form as large as large a square as possible. The larger must form a
geometric square or rectangle. They can be formed even by wrapping around, but cannot be
formed by using diagonal configurations. Next consider the minterm (maxterm) with next to the
least number of adjacencies and form as large a square as possible. Continue this till all the
minterms (maxterms) are taken care of . A minterm (maxterm) can be part of any number of
squares if it is helpful in reduction. Read the minimal expression from the k-map, corresponding
to the squares formed. There can be more than one minimal expression.

Two squares are said to be adjacent to each other (since the binary designations along
the top of the map and those along the left side of the map are in Gray code), if they are
physically adjacent to each other, or can be made adjacent to each other by wrapping around.
For squares to be combinable into bigger squares it is essential but not sufficient that their
minterm designations must differ by a power of two.
General procedure to simplify the Boolean expressions:
1. Plot the k-map and place 1s(0s) corresponding to the minterms (maxterms) of the SOP
(POS) expression.
2. Check the k-map for 1s(0s) which are not adjacent to any other 1(0). They are isolated
minterms(maxterms) . They are to be read as they are because they cannot be combined
even into a 2-square.
3. Check for those 1s(0S) which are adjacent to only one other 1(0) and make them pairs (2
squares).
4. Check for quads (4 squares) and octets (8 squares) of adjacent 1s (0s) even if they contain
some 1s(0s) which have already been combined. They must geometrically form a square
or a rectangle.
5. Check for any 1s(0s) that have not been combined yet and combine them into bigger
squares if possible.
6. Form the minimal expression by summing (multiplying) the product the product (sum)
terms of all the groups.

Reading the K-maps:


While reading the reduced k-map in SOP (POS) form, the variable which remains
constant as 0 along the square is written as the complemented (non-complemented) variable and
the one which remains constant as 1 along the square is written as non-complemented
(complemented) variable and the term as a product (sum) term. All the product (sum) terms are
added (multiplied).

Some possible combinations of minterms and the corresponding minimal expressions


read from the k-maps are shown in fig: Here f6 is read as 1, because along the 8-square no
Digital Logic Design REVA University

variable remains constant. F5 is read as , because, along the 4-square formed by0,m 1,m2 and m3 , the
variables B and C are changing, and A remains constant as a 0. Algebraically,
f5= m0+m1+m2+m3

Some possible maxterm groupings and the corresponding minimal POS expressions read from the
k-map are

Ex: Reduce the expression f=∑m(0,2,3,4,5,6) using mapping and implement it in AOI logic as well as
in NAND logic. The Sop k-map and its reduction , and the implementation of the minimal expression
using AOI logic and the corresponding NAND logic are shown in figures below

In SOP k-map, the reduction is done as:

.1 m5 has only one adjacency m4 , so combine m5 and m4 into a square. Along this 2-square A
remains constant as 1 and B remains constant as 0 but C varies from 0 to 1. So read it as A .
.2 m3 has only one adjacency m2 , so combine m3 and m2 into a square. Along this 2-square A
remains constant as 0 and B remains constant as 1 but C varies from 1 to 0. So read it as B.
.3 m6 can form a 2-square with m2 and m4 can form a 2-square with m0, but observe that by
wrapping the map from left to right m0, m4 ,m2 ,m6 can form a 4-square. Out of these m2
andm4 have already been combined but they can be utilized again. So make it. Along this 4-
square, A is changing from 0 to 1 and B is also changing from 0 to 1 but C is remaining
constant as 0. so read it as .
4. Write all the product terms in SOP form. So the minimal SOP expression is

School of Computer Science and Engineering Page 11


Digital Logic Design REVA University

fmin=
k-map AOI logic NAND logic

Four variable k-maps:

Four variable k-map expressions can have 24=16 possible combinations of input variables such
as ,A’B’C’D’,------------ABCD with minterm designations m0,m1,-----------m15 respectively in SOP
form & A+B+C+D,---------- A’+B’+C’+D’ with maxterms M0,M1, ----------M15 respectively in POS
form. It has 24=16 squares or cells.The binary number designations of rows & columns are in the gray
code. Here follows 01 & 10 follows 11 called Adjacency ordering.

SOP form POS form

EX:

School of Computer Science and Engineering Page 12


Digital Logic Design REVA University

Don’t care combinations: For certain input combinations, the value of the output is unspecified
either because the input combinations are invalid or because the precise value of the output is of no
consequence. The combinations for which the value of experiments are not specified are called don‘t
care combinations are invalid or because the precise value of the output is of no consequence. The
combinations for which the value of expressions is not specified are called don‘t care combinations or
Optional Combinations, such expressions stand incompletely specified. The output is a don‘t care for
these invalid combinations.

Ex: In XS-3 code system, the binary states 0000, 0001, 0010,1101,1110,1111 are unspecified. & never
occur called don‘t cares.

A standard SOP expression with don‘t cares can be converted into a standard POS form by
keeping the don‘t cares as they are & writing the missing minterms of the SOP form as the maxterms
of the POS form viceversa.

Don‘t cares denoted by ‗X‘ or ‗φ‘

Ex: f=∑m(1,5,6,12,13,14)+d(2,4)

Or f=π M(0,3,7,9,10,11,15).πd(2,4)

Prime implicants, Essential Prime implicants, Redundant prime implicants:

Each square or rectangle made up of the bunch of adjacent minterms is called a subcube. Each of these
subcubes is called a Prime implicant (PI). The PI which contains at leastone which cannot be covered
by any other prime implicants is called as Essential Prime implicant (EPI).The PI whose each 1 is
covered at least by one EPI is called a Redundant Prime implicant (RPI). A PI which is neither an EPI
nor a RPI is called a Selective Prime implicant (SPI).

The function has unique MSP comprising EPI is

F(A,B,C,D)= CD+ABC+A D + B

School of Computer Science and Engineering Page 13


Digital Logic Design REVA University

The RPI ‗BD‘ may be included without changing the function but the resulting expression would not
be in minimal SOP(MSP) form.

Essential and Redundant Prime Implicants


F(A,B,C,D)=∑m(0,4,5,10,11,13,15) SPI are marked by dotted squares, shows MSP form of a function need
not be unique.

Here, the MSP form is obtained by including two EPI‘s & selecting a set of SPI‘s to cover remaining
uncovered minterms 5,13,15

Mapping when the function is not expressed in minterms (maxterms):

An expression in k-map must be available as a sum (product) of minterms (maxterms). However if not
so expressed, it is not necessary to expand the expression algebraically into its minterms (maxterms).
Instead, expansion into minterms (maxterms) can be accomplished in the process of entering the terms
of the expression on the k-map.

Limitations of Karnaugh maps:

• Convenient as long as the number of variables does not exceed six.


• Manual technique, simplification process is heavily dependent on the human abilities.

School of Computer Science and Engineering Page 14

You might also like