Anda di halaman 1dari 18

GATE LEVEL MINIMIZATION

What it is: Gate level minimization is the design task of finding an optimal gate level implementa
tion of the Boolean functions.
THE MAP METHOD
The complexity of the digital logic gates is because of complexity of the algebraic expression of
boolean function.
Boolean expressions complexity may be simplified by algebraic means(using theorems &
postulates) but this procedure of minimization is awkward, because it lacks specific rules to
predict each succeeding step in the manipulative process.
Another way of simplifying boolean expressions is map method which provides a simple,
straightforward procedure for minimizing Boolean functions. This method may be regarded as a
pictorial form of a truth table. The map method is also known as the Karnaugh map or Kmap .
A Kmap is a diagram made up of squares, with each square representing one minterm of the
function that is to be minimized.
The map presents a visual diagram of all possible ways a function may be expressed in standard
form.
By recognizing various patterns, the user can derive alternative algebraic expressions for the
same function, from which the simplest can be selected.
simplest algebraic expression produced by kmap is an algebraic expression with a minimum
number of terms and with the smallest possible number of literals in each term. This expression
produces a circuit diagram with a minimum number of gates and the minimum number of inputs
to each gate.
TwoVariable KMap
The twovariable map is shown in Fig.


There are four minterms for two variables; hence, the map consists of four squares, one for each
minterm.
The 0 and 1 marked in each row and column of diagram (b) designate the values of variables.
Variable x appears primed in row 0 and unprimed in row 1.
Similarly, y appears primed in column 0 and unprimed in column 1.
If we mark the squares whose minterms belong to a given function, the two variable map
becomes another useful way to represent any one of the 16 Boolean functions
Example:


The function xy is shown in Fig. above.Since xy is equal to m3 , a 1 is placed inside the square
that belongs to m3
Another Example

The function x + y is represented in the map of above figure by three squares marked with 1s.
These squares are found from the minterms of the function:


THREEVARIABLE KMAP
A threevariable Kmap is shown in Fig.

There are eight minterms for three binary variables; therefore, the map consists of eight squares.
The minterms are arranged,in a sequence similar to the Gray code
Each cell of the map corresponds to a unique minterm, so square m5 = xyz is considered to be
in the row marked x and the column belonging to y z (column 01).

1
To simplify Boolean functions, we must recognize the basic property possessed by adjacent
squares:
Any two adjacent squares in the map differ by only one variable, which is primed in one
square and unprimed in the other.
Example
m 5 and m 7 lie in two adjacent squares. Variable y is primed in m 5 and unprimed in m 7 , whereas
the other two variables are the same in both squares.
From the postulates of Boolean algebra, it follows that the sum of two minterms in
adjacent squares can be simplified to a single product term consisting of only two literals.
consider the sum of two adjacent squares such as m 5 and m 7

Here, the two squares differ by the variable y , which can be removed when the sum of the two
minterms is formed.
Thus, any two minterms in adjacent squares (vertically or horizontally, but not diagonally,
adjacent) that are ORed together will cause a removal of the dissimilar variable.
Example
Simplify the following Boolean function:
F(x, y, z) =(2,3,4,5) = x'.y.z'+x'.y.z + x.y'.z'+x.y'.z

The map shows that the function can be simplified as F = x'.y + x.y'.
The rightmost and leftmost columns are also adjacent because their minterms differ
by one variable.
One can consider the map as a 3dimensional surface where the right and left edges
touch each other.
Example
Simplify the following Boolean function:

2
F(x, y, z) =(3,4,6,7)

The map shows that the function can be simplified as F = y.z + x.z'
The number of adjacent squares that may be combined must always represent a number
that is a power of two, such as 1, 2, 4, and 8.
One square represents one minterm, giving a term with three literals.
Two adjacent squares represent a term with two literals.
Four adjacent squares represent a term with one literal.
Eight adjacent squares encompass the entire map and produce a function that is always
equal to 1.
Example
Simplify the Boolean function
F(x, y, z) =(0,2,4,5,6)

3
The map shows that the function can be simplified as F = z'+x.y' .
Example
Consider the following Boolean function:
F = A'.C + A'.B + A.B'.C + B.C
Find an expression for F as sum of minterms, and then find an expression with minimum number
of terms.

It can be seen from the map that the minterms

are equal to 1.
F(A, B,C) =(1,2,3,5,7)
The map shows that the function can be simplified as F = C + A'.B .
FOURVARIABLE MAP

In writing the elements of the above map in terms of w, x, y, z, it is better to start with writing w in
the first two rows and w in the last two rows, then writing x in the middle rows and x in the first
and last row, then y, y, z and z in the corresponding columns.

4
The method for simplifying the Boolean function using the fourvariable map is similar to the
threevariable map.
The map is considered to lie on a surface with the top and bottom edges, as well as the right and
left edges, touching each other to form adjacent squares. For example, m0 and m2 form adjacent
squares, as do m3 and m11
The combination of adjacent squares that is useful during the simplification process is easily
determined from inspection of the fourvariable map:
One square represents one minterm, giving a term with four literals.
Two adjacent squares represent a term with three literals.
Four adjacent squares represent a term with two literals.
Eight adjacent squares represent a term with one literal.
Sixteen adjacent squares produce a function that is always equal to 1.
No other combination of squares can simplify the function.
Example
Simplify the following Boolean function
F(w, x, y, z) =(0,1,2,4,5,6,8,9,12,13,14)

The map shows that the function can be simplified as F = y'+w'.z'+x.z' .


The number of groupings is equal to the number of terms in the simplified expression.
It is preferable to group as many squares as possible because it reduces the number of
literals in each term.
For example, although the left middle rows and left top rows have been grouped with the eight
left squares, we grouped them again with the corresponding right columns to make a bigger
group which means a smaller number of literals in the corresponding terms.
Example
Simplify the following Boolean function

5
F = A'.B'.C'+B'.C.D'+A'.B.C.D'+A.B'.C'

The map shows that the function can be simplified as F = B'.D'+B'.C'+A'.C.D'.


Example
Given function, F = (0, 2, 3, 4, 5, 7, 8, 9, 13, 15)
Since, the biggest number is 15, we need to have 4 variables to define this function.
Lets draw KMap for this function by writing 1 in cells that are present in function and 0 in rest of the cells.

Applying rules of simplifying KMap, there is no octet. There are 1 quad and 3 pairs.
(5, 7, 13, 15) BD (Since A and C are changing variables, they are eliminated)
(0, 4) AC'D (Since B is the changing variable, it is eliminated)
(2, 3) AB'C (Since D is the changing variable, it is eliminated)
(8, 9) ABC (Since D is the changing variable, it is eliminated)
Thus, F = BD + AC'D + AB'C + ABC

6
Example
Simplify the following Boolean function:
F(A, B,C,D) =(0,2,3,5,7,8,9,10,11,13,15)
This function has several minterms and they can be grouped in
different ways as follows:

7
8
The four simplified expressions are not similar but the corresponding Boolean functions are
equivalent.
Each simplified expression has 4 product terms and 8 literals.
When several groupings are available, one should be careful to avoid redundant terms.
For example, the functions

All have redundant terms as some groupings contain the squares that all of them have
already been covered by other groupings.
Two of the groupings (corresponding to B.D, B'.D' ) appear in all four cases as they contain a
minterm ( m0 and m5 ) that is not covered by any other groups.
Definition:
A product term obtained by combining the maximum possible number of adjacent squares in the
map is called a prime implicant.
A prime implicant is called essential if at least one of the minterms covered by it is not covered
by any other prime implicant.
When simplifying a function that has some nonessential prime implicants, one must be careful not
to include redundant terms.
FiveVariable Map
The fivevariable map consists of 2 fourvariable maps as shown below.

9
The method for simplifying fivevariable maps is similar to fourvariable maps and the only
difference is that each square in the left half of the map (m0 to m15) is also adjacent to the
corresponding square in the right half of the map (m16 to m31) as they differ by only one variable
A. For example, m2 is
adjacent to m18 (in
general, mi is adjacent to mi+16, for i=1, 2,,15).
Note that the squares in the right edge of the lefthalf map are not adjacent to the squares in the
left edge of the righthalf map.
Example
Simplify the following Boolean function

The map shows that the function can be simplified as F = A'.B'.E'+B.D'.E + A.C.E(the grouping of
adjacent squares of lefthalf map and righthalf map is indicated by double lines).
PRODUCT OF SUMS SIMPLIFICATION
To minimize a function in the form of product of sums, one can minimize the complement of the
function in the form of sum of products and use DeMorgans theorem.
Example
Simplify the following Boolean function first in sum of products and then in product of sums.
F(A, B,C,D) =(0,1,2,5,8,9,10)
Using the following Kmap for F , we will have F = B'.D'+B'.C'+A'.C'.D

10
To simplify F as product of sums, we will use the following map for the complement of F which is
equal to F'(A, B,C,D) =(3,4,6,7,11,12,13,14,15) .
The simplified function for F' in sum of products will be equal to F'= A.B + C.D + B.D' .
Using DeMorgans theorem, we will have F = (A'+B').(C'+D').(B'+D) which is expressed as
product of sums.

The simplified expression in the sum of products form is implemented as follows:

11
The implementation of the simplified expression in the product of sums form, on the other hand, is
as follows:

Both expressions are in standard forms and the implementation of a function in a standard form is
always a twolevel implementation.
To enter a function expressed in product of sums in the map, use DeMorgans theorem to
express the complement of the function, enter the complement function in the map and then
replace all 0s with 1s and all 1s with 0s.
ANOTHER METHOD
The procedure for obtaining a minimized function in productofsums form
The minterms not included in the standard sumofproducts form of a function denote the
complement of the function.
From this observation, we see that the complement of a function is represented in the map by
the squares not marked by 1s.
If we mark the empty squares by 0s and combine them into valid adjacent squares, we obtain a
simplified sumofproducts expression of the complement of the function (i.e., of F| ).
The complement of F| gives us back the function F in productofsums form (a consequence of
DeMorgans theorem).
Because of the generalized DeMorgans theorem, the function so obtained is automatically in
productofsums form.
Example
Simplify the following Boolean function into
(a) sumofproducts form and
(b) productofsums form:
F (A, B, C, D) = (0, 1, 2, 5, 8, 9, 10)
The 1s marked in the map of Fig. represent all the minterms of the function.
The squares marked with 0s represent the minterms not included in F and therefore denote

12
the complement of F .
Combining the squares with 1s gives the simplified function in sumofproducts form:
(a) F = B D + B C+ A CD
If the squares marked with 0s are combined, as shown in the diagram, we obtain the simplified
complemented function:
F = AB + CD + BD
Applying DeMorgans theorem (by taking the dual and complementing each literal), we obtain the
simplified function in productof sums form:
(b) F = (A + B ) (C + D ) (B + D)

The gatelevel implementation of the simplified expressions is shown in Fig.


The sumofproducts expression is implemented in (a) with a group of AND gates, one for each
AND term.
The outputs of the AND gates are connected to the inputs of a single OR gate. The same
function is implemented in (b) in its productofsums

DONTCARE CONDITIONS
Sometimes it is not important to assign 0 or 1 to some minterms.
For example, when we use fourbit binary code for the decimal numbers, there will be
six extra combinations that are unspecified.
The unspecified minterms of a function are called dontcare conditions and are denoted by an X
in the Kmap.

13
We can use either 0 or 1 for a dontcare condition depending on which one gives the simplest
expression for the corresponding Boolean function.
Example
It is desired to simplify the following Boolean function
F(w, x, y, z) =(1,3,7,11,15)
with the following dontcare conditions
d(w, x, y, z) =(0,2,5)
The groupings in the Kmap of this function can be done in two different ways by assigning
different values to the dontcare conditions as follows

Simplified function: F = y.z + w'.x'

14
Simplified function: F = y.z + w'.z
The only difference between the two simplified expressions is in the value of F for the dontcare
minterms.
To find the Kmap of the complement of F , one should change 0s to 1s and 1s to 0s in the
Kmap of F and all dontcare terms of F will be dontcare terms of F' too.
NAND AND NOR IMPLEMENTATION
NAND and NOR gates are easier to fabricate and are the basic gates used in all IC digital logic
families.
The NAND gate and NOR gate are called universal gates because any digital system can be
implemented with each one of them.
We will first consider NAND circuits.
The AND and OR operations can be achieved through a NAND gate as follows:

The complement operation is obtained simply from a one-input NAND gate (it can also be
obtained from a two input NAND gate by connecting both inputs to the variable to be
complemented, or by connecting one of the inputs to 1).
To implement a standard form Boolean expression with NAND gate, we will use the following
invert-OR gate.

The previous symbol for NAND gate is in fact an AND-invert symbol (each bubble denotes a
complementation).
One can use a two-level implementation with AND and OR gates and change it to an
implementation with NAND gates in a very simple way.
For example consider the Boolean function F = A.B + C.D .
The implementation of this function with NAND gates can be obtained from the implementation
with AND and OR gates as follows:

15
The equivalency of these circuits can also be easily verified using DeMorgans theorem.
Example
- Simplify the following Boolean function and implement it with NAND gates:
F(x, y, z) =(1,2,3,4,5,7)
- Using the K-map, the function can be simplified as F = x.y'+x'.y + z

The implementation with NAND gates can be obtained as follows:

16
17

Anda mungkin juga menyukai