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