You are on page 1of 27

Unit_3_Combinational Logic Design

Boolean Algebra
Basic Theorems and Properties of Boolean Algebra
Law/Property OR Operation AND Operation

Identity Laws A+0=A A·1=A

Null Laws A + A' = 1 A · A' = 0

Domination Laws A+1=1 A·0=0

Commutative Laws A+B=B+A A·B=B·A

Associative Laws (A + B) + C = A + (B + C) (A · B) · C = A · (B · C)

A + (B · C) = (A + B) ·
Distributive Laws A · (B + C) = (A · B) + (A · C)
(A + C)

Double Negation Law A = (A')' A = (A')'

Absorption Laws A + (A · B) = A A · (A + B) = A

Consensus Theorem (Dual (A · B) + (A' · C) + (B · C) = (A · B) AB + A'C + BC = AB +


Form) + (A' · C) A'C

Adjacency Theorem (OR) A + AB = A A · (A + B) = A

-- A+A'B=A+B

Minimization of Logical functions


Minimization of logical functions, also known as logic optimization or simplification, is a crucial
step in digital circuit design and Boolean algebra. The primary goal is to reduce the complexity
of logical expressions while maintaining their functionality. Simplifying logical functions helps
improve circuit efficiency, reduce the number of gates, and minimize power consumption. There
are several techniques and methods for minimizing logical functions:

1. Algebraic Simplification:
Use Boolean algebra theorems and properties to simplify expressions step by step.
Identify opportunities to apply commutative, associative, distributive, and other
fundamental laws.
Apply absorption, null, domination, and other laws to eliminate redundant terms.
2. Karnaugh Maps (K-Maps):
K-Maps are graphical tools used for simplifying Boolean expressions visually.
They are particularly useful for functions with few variables.
Group adjacent 1s or 0s to identify simplified terms.
3. Quine-McCluskey Algorithm:
Suitable for simplifying functions with many variables.
Systematic method to find prime implicants and identify essential prime implicants.
Results in minimal sum-of-products (SOP) or product-of-sums (POS) expressions.
4. Tabulation Method:
Similar to K-Maps but applicable to functions with more variables.
Create tables to generate prime implicants and identify essential prime implicants.
Useful for medium-sized functions.
5. Binary Decision Diagrams (BDDs):
Graphical representation of Boolean functions.
Useful for visualizing and simplifying functions, especially in software and hardware
verification.
6. Espresso Algorithm:
A software tool for logic minimization.
Automates the Quine-McCluskey method and produces simplified expressions.
7. Heuristic Methods:
Techniques like the Petrick's Method, which can be used to minimize expressions.
They are often used when other methods are not practical for large functions.
8. Don't Care Conditions:
Utilize "don't care" conditions when optimizing functions.
These are conditions where the function's value is not critical, allowing for more
optimization possibilities.
9. Technology Mapping:
In digital circuit design, use technology mapping tools to map simplified logical
functions onto specific hardware components, such as NAND or NOR gates.
10. Quadratic Boolean Functions:
For certain applications, quadratic Boolean functions may be preferred, and
techniques for their minimization exist.

The choice of method depends on the complexity of the function, available tools, and design
constraints. In practice, a combination of algebraic simplification, Karnaugh mapping, and
automated tools like Espresso or Quine-McCluskey are commonly used to achieve efficient
logical function minimization in digital design.
Minterms and Maxterms
There are two ways in which we can put the Boolean function. These ways are the minterm
canonical form and maxterm canonical form.

Literal
A Literal signifies the Boolean variables including their complements. Such as B is a boolean
variable and its complements are ~B or B', which are the literals.

Minterm
Minterms are a fundamental concept in Boolean algebra and digital logic design. They are used
to represent specific input combinations in a truth table or Boolean function. Minterms are also
known as "canonical product terms" or "standard product terms." Here's what you need to know
about minterms:

Definition:
A minterm is a product term in which all the variables (inputs) of a Boolean function appear
exactly once, either in their true (uncomplemented) or complemented form. In other words, a
minterm represents a unique combination of input values for which the function evaluates to 1.

Notation:
Minterms are typically represented using binary notation. Each minterm is associated with a
unique binary number based on the values of the input variables. The number indicates which
input combinations result in a 1 output.

For example, in a Boolean function with three variables A, B, and C, you have the following
minterms:

M(0,0,0): Represents the input combination where A = 0, B = 0, and C = 0.


M(0,0,1): Represents the input combination where A = 0, B = 0, and C = 1.
M(0,1,0): Represents the input combination where A = 0, B = 1, and C = 0.
M(0,1,1): Represents the input combination where A = 0, B = 1, and C = 1.
M(1,0,0): Represents the input combination where A = 1, B = 0, and C = 0.
M(1,0,1): Represents the input combination where A = 1, B = 0, and C = 1.
M(1,1,0): Represents the input combination where A = 1, B = 1, and C = 0.
M(1,1,1): Represents the input combination where A = 1, B = 1, and C = 1.

Use:
Minterms are often used in the process of simplifying Boolean functions, especially when using
methods like the Quine-McCluskey algorithm or Karnaugh maps. They help represent the
function in a canonical form, making it easier to apply simplification rules and minimize the
expression.

Maxterm
Maxterms are another fundamental concept in Boolean algebra and digital logic design,
complementing minterms. They are used to represent specific input combinations for which a
Boolean function evaluates to 0. Maxterms are also known as "canonical sum terms" or
"standard sum terms." Here's what you need to know about maxterms:

Definition:
A maxterm is a sum term in which all the variables (inputs) of a Boolean function appear exactly
once, either in their true (uncomplemented) or complemented form. In other words, a maxterm
represents a unique combination of input values for which the function evaluates to 0.

Notation:
Maxterms are also typically represented using binary notation. Each maxterm is associated with
a unique binary number based on the values of the input variables. The number indicates which
input combinations result in a 0 output.

For example, in a Boolean function with three variables A, B, and C, you have the following
maxterms:
m(0,0,0): Represents the input combination where A = 0, B = 0, and C = 0, resulting in a 0
output.
m(0,0,1): Represents the input combination where A = 0, B = 0, and C = 1, resulting in a 0
output.
m(0,1,0): Represents the input combination where A = 0, B = 1, and C = 0, resulting in a 0
output.
m(0,1,1): Represents the input combination where A = 0, B = 1, and C = 1, resulting in a 0
output.
m(1,0,0): Represents the input combination where A = 1, B = 0, and C = 0, resulting in a 0
output.
m(1,0,1): Represents the input combination where A = 1, B = 0, and C = 1, resulting in a 0
output.
m(1,1,0): Represents the input combination where A = 1, B = 1, and C = 0, resulting in a 0
output.
m(1,1,1): Represents the input combination where A = 1, B = 1, and C = 1, resulting in a 0
output.

Use:
Maxterms, like minterms, are used in the process of simplifying Boolean functions. They help
represent the function in a canonical form for simplification using methods like the Quine-
McCluskey algorithm or Karnaugh maps. Maxterms are essential for expressing the
complement of a function.

Sum of Products
A canonical form of representation of a boolean function that consists of two or more AND terms
OR'ed together

Standard Form of SOP


Sum of minterm also known as Sum of products (SOP) .
A canonical sum of products is a boolean expression that entirely consists of minterms. The
Boolean function F is defined on two variables X and Y. The X and Y are the inputs of the
boolean function F whose output is true when any one of the inputs is set to true.

In the Sum of Products (SOP) form, minterms represent a "1" when they are selected (not
complemented) and represent a "0" when they are not selected (complemented).

Input X Input Y Output Minterm

0 0 0 X'Y'

0 1 1 X'Y
Input X Input Y Output Minterm

1 0 1 XY'

1 1 1 XY

Now, we will add all the minterms for which the output is true to find the desired canonical
SOP(Sum of Product) expression.
F=X' Y+XY'+XY

Converting Sum of Products (SOP) to shorthand notation


The process of converting SOP form to shorthand notation is the same as the process of finding
shorthand notation for minterms. There are the following steps to find the shorthand notation of
the given SOP expression.

Write the given SOP expression.


Find the shorthand notation of all the minterms.
Replace the minterms with their shorthand notations in the given expression.

Example: F = X'Y+XY'+XY

1. Firstly, we write the SOP expression:


F = X'Y+XY'+XY
2. Now, we find the shorthand notations of the minterms X'Y, XY', and XY.
X'Y = (01)2 = m1
XY' = (10)2 = m2
XY = (11)2 = m3
3. In the end, we replace all the minterms with their shorthand notations:
F=m1+m2+m3

Converting shorthand notation to SOP expression


The process of converting shorthand notation to SOP is the reverse process of converting SOP
expression to shorthand notation. Let's see an example to understand this conversion.

Example:
Let us assume that we have a boolean function F, which defined on two variables X and Y. The
minterms for the function F are expressed as shorthand notation is as follows:
F=∑(1,2,3)
Now, from this expression, we will find the SOP expression. The Boolean function F has two
input variables X and y and the output of F=1 for m1, m2, and m3, i.e., 1st, 2nd, and 3rd
combinations. So,
F=∑(1,2,3)
F= m1 + m2 + m3
F= 01 + 10 + 11
Now, we replace zeros with either X' or Y' and ones with either X or Y. Simply, the complement
variable is used when the variable value is 1 otherwise the non-complement variable is used.
F = ∑(1,2,3)
F=01+10+11
F= A'B + AB' + AB

Product of Sums
A canonical representation consisting of two or more OR terms AND'ed together.

Standard Form of POS


Product of maxterms is also called Product of Sums.
A canonical representation consisting of product of terms in sum containing all variables either
complemented or uncomplimented
A canonical product of sum is a boolean expression that entirely consists of maxterms. The
Boolean function F is defined on two variables X and Y. The X and Y are the inputs of the
boolean function F whose output is true when only one of the inputs is set to true. The
complement of the variables is taken whose value is 0, and the variables whose value is 1 will
remain the same.

In a Product Of Sum form, maxterms represent a "0" when they are not complemented and
represent a "1" when they are complemented.

Input X Input Y Output Maxterm

0 0 0 X+Y

0 1 1 X+Y'

1 0 1 X'+Y

1 1 1 X'+Y'

Now, we will multiply all the minterms for which the output is false to find the desired canonical
POS(Product of sum) expression.
F=(X'+Y').(X+Y)

Converting Product of Sum (POS) to shorthand notation


The process of converting POS form to shorthand notation is the same as the process of finding
shorthand notation for maxterms. There are the following steps used to find the shorthand
notation of the given POS expression.

Write the given POS expression.


Find the shorthand notation of all the maxterms.
Replace the minterms with their shorthand notations in the given expression.
Example: F = (X'+Y').(X+Y)

1. Firstly, we will write the POS expression:


*F = (X'+Y').(X+Y)
2. Now, we will find the shorthand notations of the maxterms X'+Y' and X+Y.
X'+Y' = (00)2 = M0
X+Y = (11)2 = M3
3. In the end, we will replace all the minterms with their shorthand notations:
F=M0.M3

Converting shorthand notation to POS expression


The process of converting shorthand notation to POS is the reverse process of converting POS
expression to shorthand notation. Let's see an example to understand this conversion.
Example:
Let us assume that we have a boolean function F, defined on two variables X and Y. The
maxterms for the function F are expressed as shorthand notation is as follows:
F=∏(1,2,3)
Now, from this expression, we find the POS expression. The Boolean function F has two input
variables X and Y and the output of F=0 for M1, M2, and M3, i.e., 1st, 2nd, and 3rd
combinations. So,

F=∏(1,2,3)
F= M1.M2.M3
F= 01.10.11
Next, we replace zeros with either X or Y and ones with either X' or Y'. Simply, if the value of the
variable is 1, then we take the complement of that variable, and if the value of the variable is 0,
then we take the variable "as is".
F = ∑(1,2,3)
F=01.10.11
F=(A+B').( A'+B).( A'+B')

Conversion between Canonical Forms


We can represent the POS form in the SOP form and SOP form in the POS form.
For converting the canonical expressions, we have to change the symbols ∏, ∑. These symbols
are changed when we list out the index numbers of the equations. From the original form of the
equation, these indices numbers are excluded. The SOP and POS forms of the boolean
function are duals to each other.

There are the following steps using which we can easily convert the canonical forms of the
equations:

1. Change the operational symbols used in the equation, such as ∑, ∏.


2. Use the Duality's De-Morgan's principal to write the indexes of the terms that are not
presented in the given form of an equation or the index numbers of the Boolean function.

Converting SOP to POS:

1. Start with an SOP expression: For example, (F(A, B, C) = A'B + AB' + ABC).
2. Apply De Morgan's Theorem: Use De Morgan's Theorem to distribute complements
within each term. In SOP form, you have products of literals, and in POS form, you need
sums of complements of literals.
Applying De Morgan's Theorem to the example:
[F(A, B, C) = (A + B')(A' + B)(A' + C)]
3. This new expression is in POS form: Now you have a Product of Sums expression.

Converting POS to SOP:

1. Start with a POS expression: For example, (F(A, B, C) = (A + B)(A' + B' + C)(A' + C)).
2. Apply De Morgan's Theorem: Use De Morgan's Theorem to distribute complements
within each term. In POS form, you have sums of complements of literals, and in SOP
form, you need products of literals.
Applying De Morgan's Theorem to the example:
[F(A, B, C) = (A + B)(A' + B' + C)(A' + C) = ABA' + BAB' + BAC + A'CA' + A'CB' + A'CC]
3. Simplify the expression: Eliminate any redundant terms or simplify further using Boolean
algebra laws.
4. This new expression is in SOP form: Now you have a Sum of Products expression.
The ability to convert between SOP and POS forms allows you to choose the
representation that makes it easier to analyze or manipulate a particular logical function,
depending on the context or requirements of your design. It's a powerful tool in digital logic
design and simplification.

Karnaugh- Map method


The K-map is a systematic way of simplifying Boolean expressions. With the help of the K-map
method, we can find the simplest POS and SOP expression, which is known as the minimum
expression. The K-map provides a cookbook for simplification.
Just like the truth table, a K-map contains all the possible values of input variables and their
corresponding output values. However, in K-map, the values are stored in cells of the array. In
each cell, a binary value of each input variable is stored.
The K-map method is used for expressions containing 2, 3, 4, and 5 variables. For a higher
number of variables, there is another method used for simplification called the Quine-McClusky
method. In K-map, the number of cells is similar to the total number of variable input
combinations. For example, if the number of variables is three, the number of cells is 23=8, and
if the number of variables is four, the number of cells is 24. The K-map takes the SOP and POS
forms. The K-map grid is filled using 0's and 1's. The K-map is solved by making groups. There
are the following steps used to solve the expressions using K-map:

1. First, we find the K-map as per the number of variables.


2. Find the maxterm and minterm in the given expression.
3. Fill cells of K-map for SOP with 1 respective to the minterms.
4. Fill cells of the block for POS with 0 respective to the maxterm.
5. Next, we create rectangular groups that contain total terms in the power of two like 2, 4, 8,
… and try to cover as many elements as we can in one group.
6. With the help of these groups, we find the product terms and sum them up for the SOP
form.

2 Variable K-map
There is a total of 4 variables in a 2-variable K-map. There are two variables in the 2-variable K-
map. The following figure shows the structure of the 2-variable K-map:

Which can also be represented as :


3 Variable K-map
The 3-variable K-map is represented as an array of eight cells. In this case, we used A, B, and
C for the variable. We can use any letter for the names of the variables. The binary values of
variables A and B are along the left side, and the values of C are across the top. The value of
the given cell is the binary values of A and B at left side in the same row combined with the
value of C at the top in the same column. For example, the cell in the upper left corner has a
binary value of 000, and the cell in the lower right corner has a binary value of 101.

Which can also be represented as :


4 Variable K-map
5 Variable K-map

Representation of a Boolean function as SOP or POS using its


K-map
Consider a 2 Variable K-map

Consider a boolean Expression in "X" and "Y" represented as

X Y R Term Minterm Maxterm

0 0 1 t0 A'. B' A+B

0 1 0 t1 A'. B A + B'

1 0 0 t2 A . B' A'+ B

1 1 1 t3 A.B A' + B'

SOP representation POS Representation

Form Used : Minterms Form Used : Maxterms

Consider sum of all "R" terms equal to "1". Consider product of all "R" terms equal to "0".

AB + A'.B' (A+B')(A'+B)

Rules :
We can either group 0’s with 0’s or 1’s with 1’s but we can not group 0’s
and 1’s together.
Groups may overlap each other.
We can only create a group whose number of cells are as in 2n i.e. 1, 2,
4, 8, 16 and so on number of cells.
Groups can be only either horizontal or vertical but never diagonal.

Each group should be as large as possible, while keeping the number of


groups as small as possible.
Problems :
Question 1 : Minimize the following boolean function
F(A, B, C, D) = Σm(0, 1, 2, 5, 7, 8, 9, 10, 13, 15)
Solution : Since the given boolean expression has 4 variables, so we draw a 4 x 4 K Map.
We fill the cells of K Map in accordance with the given boolean function. Then, we form the
groups in accordance with the above rules.

Now , we have
F (A,B,C,D) = (A'B'C'D' + AB'C'D' + AB'C'D' + AB'CD') + (A'B'C'D + A'BC'D + ABC'D +
AB'C'D) + (A'BC'D + ABC'D + A'BCD + ABCD)
= BD + C'D + B'D'

Which can directly be noticed from (A’B + AB)(C’D + CD) + (A’B’ + A’B + AB +
AB’)C’D + (A’B’ + AB’)(C’D’ + CD’) color coded as the figure.

Question 2 : Minimize the following boolean function-


F(A, B, C, D) = Σm(0, 1, 3, 5, 7, 8, 9, 11, 13, 15)
Solution: Since , the give boolean expression has 4 variables we need a 4 X 4 K-map.
now F(A, B, C, D) = (A'B' + AB')(C'D' + C'D) + (A'B' + A'B + AB + AB')(C'D + CD) = B'C'
+D
Thus, minimized boolean expression is F(A, B, C, D) = B’C’ + D
Question 3 : Minimize the following boolean function-
F(A, B, C, D) = Σm(1, 3, 4, 6, 8, 9, 11, 13, 15) + Σd(0, 2, 14)
Solution : The K-Map thus formed with all prime implicants encircled is as shown
Now,
F(A, B, C, D)
= (AB + AB’)(C’D + CD) + (A’B’ + AB’)(C’D + CD) + (A’B’ + AB’)(C’D’ + C’D) + (A’B’ +
A’B)(C’D’ + CD’)
= AD + B’D + B’C’ + A’D’
Thus, minimized boolean expression is-
F(A, B, C, D) = AD + B’D + B’C’ + A’D’

Incompletely Specified functions


Incompletely specified functions, also known as "don't-care" conditions, are a concept in digital
logic design where certain input combinations are not defined or do not affect the desired
behavior of a logical function. These conditions are typically marked as "X" or "don't-care"
values in truth tables or logical expressions. Incompletely specified functions are used to
simplify logic design and optimize circuits. Here's an overview:

1. Don't-Care Conditions:

Don't-care conditions are input combinations for which the output of a logical function is not
specified or does not matter.
In truth tables, don't-care conditions are often represented as "X" or left blank.
Don't-care conditions can be used to reduce the complexity of logical expressions and
circuits.

2. Use in Simplification:

Incompletely specified functions are often encountered when simplifying logical


expressions using tools like Karnaugh maps or algebraic methods.
Don't-care conditions provide flexibility in simplification by allowing certain input
combinations to be treated as either 0 or 1, whichever results in a simpler expression.

3. Circuit Optimization:

Don't-care conditions can be used to optimize digital circuits by allowing for the elimination
of unnecessary gates or terms in the logical expressions.
This can lead to smaller, faster, and more power-efficient circuit designs.

4. Examples:

Example 1 (Truth Table):

A B C F(A, B, C)

0 X 0 0

1 0 1 1

1 1 X 1

In this truth table, the "X" values indicate don't-care conditions. The function
F(A, B, C) is only specified for certain input combinations.

Example 2 (Logical Expression):

F(A, B, C) = A'BC + AB'C + X

In this logical expression, the term with the "X" represents a don't-care condition.
Depending on the simplification context, it can be treated as either 0 or 1.

5. Minimization:

Don't-care conditions play a crucial role in the minimization of logical expressions using
methods like the Quine-McCluskey algorithm or Karnaugh maps.
They help identify groups of terms that can be combined or omitted to simplify the
expression.

Incompletely specified functions are a valuable tool in digital logic design because they allow for
more efficient and flexible circuit implementations. By taking advantage of don't-care conditions,
designers can create simpler and more cost-effective solutions while still meeting the required
logic specifications.

VEM method
Tabulation method
The quine-McCluskey method also called the tabulation method is a very useful and
convenient method for simplification of the Boolean functions for a large number of variables
(greater than 4). This method is useful over K-map when the number of variables is larger for
which K-map formation is difficult. This method uses prime implicants for simplification.
In this method, we construct multiple tables according to the question and at the last, we make
a prime implicant table which is used to obtain essential prime implicants which are present in
the simplified boolean expression.

Quine McCluskey Method (QMC):


Quine McCluskey method also known as the tabulation method is used to minimize the
Boolean functions.
It simplifies boolean expression into the simplified form using prime implicants.
This method is convenient to simplify boolean expressions with more than 4 input
variables.
It uses an automatic simplification routine.

Steps for Quine McCluskey Method:


1. Arrange the given minterms according to the number of ones present in their binary
representation in ascending order.
2. Take the minterms from the continuous group if there is only a one-bit change to make their
pair.
3. Place the ‘-‘ symbol where there is a bit change accordingly and keep the remaining bits
the same.
4. Repeat steps 2 to 3 until we get all prime implicants (when all the bits present in the table
are different).
5. Make a prime implicant table that consists of the prime implicants (obtained minterms) as
rows and the given minterms (given in problem) as columns.
6. Place ‘1’ in the minterms (cell) which are covered by each prime implicant.
7. Observe the table, if the minterm is covered by only one prime implicant then it is an
essential to prime implicant.
8. Add the essential prime implicants to the simplified boolean function.

Example: Simplify using tabulation method : F(A,B,C,D) =∑ m(0,1,2,4,6,8,9,11,13,15)

Solution: Convert the given minterms into their binary representation and arrange them
according to the number of ones present in the binary representation.

TABLE 1

Group Minterm A B C D

--- --- --- --- --- ---

0 0 0 0 0 0

1 0 0 0 1

2 0 0 1 0
1
4 0 1 0 0

8 1 0 0 0

6 0 1 1 0
2
9 1 0 0 1

11 1 0 1 1
3
13 1 1 0 1

4 15 1 1 1 1

As 0 has no 1 in its representation it is kept in one group(0). Similarly, 1 2 4, and 8 contain one
1 in their representation so it is kept in the next group(1). 6 and 9 in the next group(2), 11, and
13 in the next group(3), 15 in the last group(4).

Now, for table-2 take minterms from successive groups(simultaneous group only) which have
an only a 1-bit difference in their representation and form their pair by merging them and
making a group of the pairs which are from the same groups that are merged (for example 0 is
from group 0 and 1 is from group 1 so it is added to the group 0. 0 belongs to group 0 in table 1
and 2 belongs to group 1 in table 1 so its kept in the same group in table 2. Similarly, make all
the possible pairs with the help of the above table and mark – where there is a bit difference.
TABLE-2

Group Pair A B C D

--- --- --- --- --- ---

(0,1) 0 0 0 –

(0,2) 0 0 – 0
0
(0,4) 0 – 0 0

(0,8) – 0 0 0

(1,9) – 0 0 1

(2,6) 0 – 1 0
1
(4,6) 0 1 – 0

(8,9) 1 0 0 –

(9,11) 1 0 – 1
2
(9,13) 1 – 0 1

(11,15) 1 – 1 1
3
(13,15) 1 1 – 1

For table 3 repeat the same step by taking pairs of successive groups merging them where
there is only a 1-bit difference and keeping them in groups according to the groups from where
they are merged and placed – in bit difference.

TABLE-3

Group Quad A B C D

--- --- --- --- --- ---

(0,1,8,9) – 0 0 –
0
(0,2,4,6) 0 – – 0

1 (9,11,13,15) 1 – – 1
After table 3 the process is stopped as there is no 1-bit difference in the remaining group
minterms in the simultaneous groups of table 3.

Now, the remaining quads present in table 3 represent the prime implicants for the given
boolean function. So, we construct prime implicants table which contains the obtained prime
implicants as rows and the given minterms as columns. Place 1 in the corresponding place
which the minterm can represent. Add the minterm to the simplified boolean expression if the
given minterm is only covered by this prime implicant.

PRIME IMPLICANT TABLE

Minterms ⇢
0 1 2 4 6 8 9 11 13 15
Prime Implicants ⇣

--- ---

B’C’ (0,1,8,9) 1 1 1 1

A’D'(0,2,4,6) 1 1 1 1

AD(9,11,13,15) 1 1 1 1

Simplified Boolean function = B’C’ + A’D’ + AD

B’C’ is in simplified function as minterm 1 is only covered by B’C’. Similarly, minterms 2,4,6 are
only covered by A’D’ and minterms 11,13,15 are only covered by AD.

Example: Simplify using tabulation method : F(A,B,C,D,E,F,G) = ∑m(20,28,52,60)

Solution: Convert the given minterms in their binary representation and arrange them
according to number of one’s present in the binary representation.

TABLE-1

Group Minterms A B C D E F G

--- --- --- --- --- --- --- --- ---

0 20 0 0 1 0 1 0 0

28 0 0 1 1 1 0 0
1
52 0 1 1 0 1 0 0

2 60 0 1 1 1 1 0 0

As 20 has 2 1s in its representation it is kept in one group(0). Similarly, 28 and 52 contain 3 1s


in their representation so it is kept in the next group(1). 60 in the next group(2).
Now, for table-2 take minterms from successive groups(simultaneous group only) which have
an only a 1-bit difference in their representation and form their pair by merging them and
making a group of the pairs which are from the same groups that are merged (for example 20 is
from group 0 and 28 is from group 1 so it is added to the group 0. 20 belongs to group 0 in table
1 and 52 belongs to group 1 in table 1 so its kept in the same group in table 2. Similarly, make
all the possible pairs with the help of the above table and mark – where it is a bit different.

TABLE-2

Group Pair A B C D E F G

--- --- --- --- --- --- --- --- ---

(20,28) 0 0 1 – 1 0 0
0
(20,52) 0 – 1 0 1 0 0

(28,60) 0 – 1 1 1 0 0
1
(52,60) 0 1 1 – 1 0 0

For table 3 repeat the same step by taking pairs of successive groups merging them where
there is only a 1-bit difference and keeping them in groups according to the groups from where
they are merged and placed – in bit difference.

TABLE-3

Group Quad A B C D E F G

--- --- --- --- --- --- --- --- ---

0 (20,28,52,60) 0 – 1 – 1 0 0

After table 3 the process is stopped as there is no 1-bit difference in the remaining group
minterms in the simultaneous groups of table 3.

Now, the remaining quads present in table 3 represent the prime implicants for the given
boolean function. So, we construct prime implicants table which contains the obtained prime
implicants as rows and the given minterms as columns. Place 1 in the corresponding place
which the minterm can represent. Add the minterm to the simplified boolean expression if the
given minterm is only covered by this prime implicant.

A’CEF’G’ is obtained from table 3 as A, F, G contains 0 so A’F’G’, C, and E contain 1 so CE.


Prime Implicants Table

Minterms ⇢
20 28 52 60
Prime Implicants ⇣

--- ---

A’CEF’G'(20,28,52,60) 1 1 1 1

Simplified Boolean Function = A’CEF’G’

A’CEF’G’ is in simplified function as it is the only prime implicant that covers all minterms.

Advantages of Quine McCluskey Method:


This method is suitable for a large number of inputs(n>4) for which K-map construction is a
tedious task.
It does not require pattern recognition.

Disadvantages of Quine McCluskey Method:


The computational complexity of this method is high.

Determination of Prime implicants


Determination of prime implicants is a crucial step in the simplification of Boolean functions,
especially when using methods like the Quine-McCluskey algorithm or Karnaugh maps. Prime
implicants are essential in finding the minimal sum-of-products (SOP) or product-of-sums (POS)
expressions for Boolean functions. Here's how you can determine prime implicants:

1. Truth Table: Begin with the truth table that represents the Boolean function you want to
simplify.
2. Identify Minterms or Maxterms: Depending on whether you are working with SOP or
POS expressions, identify the minterms (for SOP) or maxterms (for POS) for which the
function evaluates to 1.
3. Grouping: Group adjacent minterms (for SOP) or maxterms (for POS) that differ by only
one variable. These groupings create potential prime implicants.
4. Prime Implicants: Identify the groupings that cannot be further combined with adjacent
groups. These uncombined groups represent prime implicants.
5. List Prime Implicants: Make a list of all the identified prime implicants.

Prime implicants are important because they are the essential building blocks for simplifying
Boolean functions. They represent combinations of variables that are necessary to cover all 1s
in the truth table. Once you've determined the prime implicants, you can proceed to select
essential prime implicants and use them to construct the simplified expression. The selection of
prime implicants is a critical step in minimizing Boolean functions and optimizing digital circuits.

Selection of Essential Prime implicants


Iterative Consensus & Generalized Consensus method
for minimization of Multiple Output Switching functions
Determination of Prime implicants
Selection of Essential Prime implicants and finding a
minimal cover
Design of Combinational circuits with examples

You might also like