0% found this document useful (0 votes)
8 views32 pages

CE212 Chapter3

Uploaded by

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

CE212 Chapter3

Uploaded by

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

Digital Design

CE 212 Chapter 3

Salah Safi
fall 2024-2025
German Jordanian University
Chapter 3: Gate-Level
Minimization
3.1 INTRODUCTION
● Gate-level minimization is the design task of finding an optimal gate-level implementation of
the Boolean functions describing a digital circuit.

● This task is well understood, but is difficult to execute by manual methods when the logic has
more than a few inputs.

● Fortunately, computer-based logic synthesis tools can minimize a large set of Boolean
equations efficiently and quickly.

● Nevertheless, it is important that a designer understand the underlying mathematical


description and solution of the problem.
3.2 THE MAP METHOD
● The complexity of the digital logic gates that implement a Boolean function is directly related
to the complexity of the algebraic expression from which the function is implemented.

● Although the truth table representation of a function is unique, when it is expressed


algebraically it can appear in many different, but equivalent, forms.

● Boolean expressions may be simplified by algebraic means as discussed before.

● However, this procedure of minimization is awkward because it lacks specific rules to predict
each succeeding step in the manipulative process.

● The map method presented here 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 K-map.
Two-Variable K-Map
● The two-variable map is shown in Fig. 3.1(a).

● There are four minterms for two variables; hence, the map
consists of four squares, one for each minterm.

● The map is redrawn in (b) to show the relationship between


the squares and the two variables x and y.

● The 0 and 1 marked in each row and column 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.
Two-Variable K-Map
● 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 of two variables.

● As an example, the function xy is shown in Fig. 3.2(a).


Since xy is equal to m3, a 1 is placed inside the square
that belongs to m3.

● Similarly, the function x + y is represented in the map of● The three squares could also have been
Fig. 3.2(b) by three squares marked with 1’s. These determined from the intersection of
squares are found from the minterms of the function: variable x in the second row and variable
y in the second column, which encloses
the area belonging to x or y. In each
example, the minterms at which the
function is asserted are marked with a 1.
Three-Variable K-Map
● A three-variable K-map is shown in Fig. 3.3.

● There are eight minterms for three binary variables;


therefore, the map consists of eight squares.

● Note that the minterms are arranged, not in a binary


sequence, but in a sequence similar to the Gray code.

● The characteristic of this sequence is that only one bit


changes in value from one adjacent column to the next.

● Note that there are four squares in which each variable


is equal to 1 and four in which each is equal to 0.
Three-Variable K-Map
Three-Variable K-Map
Three-Variable K-Map
Three-Variable K-Map
3.3 Four-Variable K-Map
A B C D F
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
3.3 Four-Variable K-Map
Four-Variable K-Map
Four-Variable K-Map
K-Map procedure
● In choosing adjacent squares in a map, we must ensure that:
■ All the minterms of the function are covered when we combine the squares.
■ The number of terms in the expression is minimized.
■ There are no redundant terms (i.e., minterms already covered by other terms)

● Sometimes there may be two or more expressions that satisfy the simplification criteria.

● The procedure for combining squares in the map may be made more systematic if we
understand the meaning of two special types of terms: Prime and Essential implicants.
Prime Implicants
Implicants, Prime Implicants, and Essential Prime Implicants:

● Implicant: A group of 1s on a map that forms a rectangle with a size that is a power of 2 (1, 2, 4,
8, or 16).

● Prime Implicant: The largest possible implicant.

● Essential Prime Implicant: A prime implicant that covers at least one 1 that no other prime
implicant can cover.
K-Map procedure:
● Find essential prime implicants

● Choose prime implicants to cover remaining "1"s

● Write corresponding terms in SOP Form


3.4 PRODUCT-OF-SUMS SIMPLIFICATION
● The procedure for obtaining a minimized function in product-of-sums form follows from the
basic properties of Boolean functions.

● The 1’s placed in the squares of the map represent the minterms of the function. The minterms
not included in the standard sum-of-products form of a function denote the complement of the
function.

● If we mark the empty squares by 0’s and combine them into valid adjacent squares, we obtain a
simplified sum-of-products expression of the complement of the function (F’).

● The complement of F’ gives us back the function F in product-of-sums form (a consequence of


DeMorgan’s theorem). Because of the generalized DeMorgan’s theorem, the function so
obtained is automatically in product-of-sums form.
3.4 PRODUCT-OF-SUMS SIMPLIFICATION
3.5 DON’T-CARE CONDITIONS
● The logical sum of the minterms associated with a Boolean function specifies the conditions
under which the function is equal to 1. The function is equal to 0 for the rest of the minterms.

● This pair of conditions assumes that all the combinations of the values for the variables of the
function are valid.

● In practice, in some applications the function is not specified for certain combinations of the
variables. As an example, the four-bit binary code for the decimal digits has six combinations
that are not used and consequently are considered to be unspecified. Functions that have
unspecified outputs for some input combinations are called incompletely specified functions.

● In most applications, we simply don’t care what value is assumed by the function for the
unspecified minterms. For this reason, it is customary to call the unspecified minterms of a
function don’t-care conditions. These don’t-care conditions can be used on a map to provide
further simplification of the Boolean expression.
3.5 DON’T-CARE CONDITIONS
● A don’t-care minterm is a combination of variables whose logical value is not specified. Such a
minterm cannot be marked with a 1 in the map, because it would require that the function
always be a 1 for such a combination. Likewise, putting a 0 on the square requires the function
to be 0.

● To distinguish the don’t-care condition from 1’s and 0’s, an X is used. Thus, an X inside a square
in the map indicates that we don’t care whether the value of 0 or 1 is assigned to F for the
particular minterm.

● In choosing adjacent squares to simplify the function in a map, the don’t-care min- terms may be
assumed to be either 0 or 1. When simplifying the function, we can choose to include each
don’t-care minterm with either the 1’s or the 0’s, depending on which combination gives the
simplest expression.
3.5 DON’T-CARE CONDITIONS
3.5 DON’T-CARE CONDITIONS
3.6 NAND and NOR Implementation
● Digital circuits are frequently constructed with NAND or NOR gates rather than with AND and
OR gates.

● NAND and NOR gates are easier to fabricate with electronic components and are the basic
gates used in all IC digital logic families.

● Because of the prominence of NAND and NOR gates in the design of digital circuits, rules and
procedures have been developed for the conversion from Boolean functions given in terms of
AND, OR, and NOT into equivalent NAND and NOR logic diagrams.
NAND Circuits
● The NAND gate is said to be a universal gate because any logic circuit can be implemented with
it.
NAND Circuits
● A convenient way to implement a Boolean function with NAND gates is to obtain the simplified
Boolean function in terms of Boolean operators and then convert the function to NAND logic.

● The implementation of Boolean functions with NAND gates requires that the functions be in
sum-of-products form.

● Note: When both symbols are mixed in the same diagram, the circuit is said to be in mixed
notation.
NAND Circuits
NAND Circuits
3.6 NAND and NOR Implementation
● The NOR operation is the dual of the NAND operation.

● Therefore, all procedures and rules for NOR logic are the duals of the corresponding
procedures and rules developed for NAND logic.

● The NOR gate is another universal gate that can be used to implement any Boolean function.
3.6 NOR Implementation
3.6 NOR Implementation

You might also like