Chapter 3 Gate-Level Minimization

advertisement
Gate-Level Minimization
Chapter 3
The Map Method
Two-variable map
Two-variable map
Three-variable map
Adjacent
Adjacent
Adjacent when minterms differ by one variable
Graphical view of
adjacency
Taking the difference
between adjacent
squares gives:
Example 3.1
Simplify the Boolean function
Example 3.2
Simplify the Boolean Function
Three variable map
00
0
1
01
11
10
Three-variable map
• The number of adjacent squares that may be
combined must always represent a number that
is a power of two:
– One square represents one minterm which in this case
gives 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 equal to 1
Three-variable map
00
0
1
01
11
10
Three-variable map
00
0
1
01
11
10
Three-variable map
00
0
1
01
11
10
Example 3.3
Example 3.4
Let the Boolean Function
(a) Express this function as a sum of minterms
Example 3.4
(b) Find the minimal sum-of-products expression
00
0
1
Find adjacent squares
01
11
10
Problem 3.3 (a)
Simplify the following Boolean function, using three-variable maps
00
0
1
01
11
10
Find adjacent squares
Problem 3.3 (a)
Another solution (without a three-variable map)
Factorize the expression
Voila!
Four-Variable Map
Four-variable map
• The number of adjacent squares that may be combined
must always represent a number that is a power of
two:
– One square represents one minterm which in this case
gives 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 encompass the entire map and
produce a function equal to 1
Adjacency in a four-variable map
Adjacency in a four-variable map
Example 3.5
Simplify the Boolean Function
00
01
11
10
00
1
1
1
01
1
1
1
11
1
1
1
10
1
1
Example 3.6
Simplify the Boolean Function
00
00
01
1
1
01
11
10
1
1
11
10
1
1
1
Prime implicants
When choosing adjacent squares in a map,
make sure that:
1. All the minterms are covered when
combining the squares
2. The number of terms in the expression is
minimized
3. There are no redundant terms (minterms
already covered by other terms)
Example 3.5 (revisited)
Simplify the Boolean Function
00
01
11
10
00
1
1
1
01
1
1
1
11
1
1
1
10
1
1
Example 3.6 (revisited)
Simplify the Boolean Function
00
00
01
1
1
01
11
10
1
1
11
10
1
1
1
Prime implicants
Simplify the function
00
00
01
1
11
10
1
1
01
1
11
1
1
1
1
10
1
1
1
Prime implicants
Simplify the function
00
00
01
1
11
10
1
1
01
1
11
1
1
1
1
10
1
1
1
Prime implicants
Simplify the function
00
00
01
1
11
10
1
1
01
1
11
1
1
1
1
10
1
1
1
Prime implicants
Simplify the function
00
00
01
1
11
10
1
1
01
1
11
1
1
1
1
10
1
1
1
Five-Variable Map
Five-Variable Map
How can adjacency be visualized in a five-variable
map?
00
01
11
10
00
01
11
10
Five-Variable Map
Five-Variable Map
Simplify the Boolean function
Product-Of-Sums Simplification
Take the squares with zeros and
obtain the simplified
complemented function
Complement the above
expression and use DeMorgan’s
Product-Of-Sums Simplification
Sum-of-products
Product-of-sums
Don’t-Care Conditions
• Used for incompletely specified functions, e.g.
BCD code in which six combinations are not used
(1010, 1011, 1100, 1101, 1110, and 1111)
• Those unspecified minterms are neither 1’s nor
0’s
• Unspecified terms are referred to as “don’t care”
and are marked as X
• In choosing adjacent squares, don’t care squares
can be chosen either as 1’s or 0’s to give the
simplest expression
Don’t-Care Conditions
Simplify the Boolean function
which has the don’t care conditions
NAND and NOR Implementation
NAND and NOR Implementation
Two-level implementation
NAND and NOR Implementation
Implement the following Boolean function with NAND gates
Multilevel NAND circuits
Multilevel NAND circuits
NOR Implementation
NOR Implementation
NOR Implementation
NOR Implementation
Exclusive OR Function
Exclusive-OR or XOR performs the following logical operation
Exclusive-NOR or equivalence performs the following logical operation
Identities of the XOR operation
XOR is commutative and associative
Exclusive-OR implementations
Parity generation and checking
Parity generation and checking
Parity generation and checking
Download