數位系統 Digital Systems

### Department of Computer Science and Information Engineering, Chaoyang University of Technology

朝陽科技大學資工系

Speaker: Fuw-Yi Yang

### 楊伏夷

伏夷非征番,

道德經 察政章(Chapter 58)

### 伏

者潛藏也道紀章(Chapter 14) 道無形象, 視之不可見者曰

### 夷

Text Book: Digital Design 4th Ed.

Chap 3 Gate-Level Minimization

### 3.1 Introduction

### 3.2 The Map Method 3.3 Four-Variable Map 3.4 Five-Variable Map

### 3.5 Production-of-Sums Simplification 3.6 Don't-Care Conditions

### 3.7 NAND and NOR Implementation

Text Book: Digital Design 4th Ed.

Chap 3.1 Introduction

Gate-level minimization refers to the design task of finding an optimal gate-level implementation of the Boolean

functions describing a digital circuit.

It is important that a designer understand the underlying mathematical description and solution of a problem.

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method

Boolean expression may be simplified by algebraic means as discussed in Section 2.4. However, this procedure of minimization is awkward because it lacks specific rules to

## predict each succeeding step

in the manipulative process.The map method (also known as the Karnaugh map or

## K-map) provides a simple, straightforward procedure for

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method—two-variable map Figure 3.1 Two-Variable map

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method—two-variable map Figure 3.2 Representation of functions in the map

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method—three-variable map Figure 3.3 Three-variable map

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method —

## Example 3.1

*Simplify the Boolean function F(x, y, z) = Σ(2, 3, 4, 5)*

Figure 3.4

*F(x, y, z) *

= Σ(2, 3, 4, 5)

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method —

## Example 3.2

*Simplify the Boolean function F(x, y, z) = Σ(3, 4, 6, 7)*

Figure 3.5

*F(x, y, z) *

= Σ(3, 4, 6, 7)

*= yz + xz'*

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method —

## Example 3.3

*Simplify the Boolean function F(x, y, z) = Σ(0, 2, 4, 5, 6)*

Figure 3.6

*F(x, y, z) *

= Σ(0, 2, 4, 5, 6)

Text Book: Digital Design 4th Ed.

Chap 3.2 The Map Method —

## Example 3.4

*a. Express F as a sum of minterms.*

b. Find the minimum SOP.

Figure 3.7

*F = A'C + A'B * *+ AB'C + BC*

= Σ(1, 2, 3, 5, 7)

*= C + A'B*

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method — Four-Variable Map

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method — Four-Variable Map

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Example 3.5

*Simplify F(w, x, y, z) = Σ(0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)*
Figure 3.9

*F = Σ(0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)*

*= y'+ w' z'+ x z'*

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Example 3.5

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Example 3.6

*Simplify F(A, B, C, D) = A'B'C' + B'CD' + A'BCD' + AB'C'*
Figure 3.10

*F = A'B'C' + B'CD' + A'BCD' + AB'C'*

*= B'C' + B'D' + A'CD'* see next page

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Example 3.6

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Prime implicants

In choosing adjacent squares in a map, we must ensure that (1) all the minterms of the function are covered when we

combine the squares,

(2) the number of terms in the expression is minimized, and

(3) there are no redundant terms (i.e., minterms already covered by other terms).

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method —

## Prime implicants

A prime implicant is a product term obtained combining the maximum possible number of adjacent squares in the

map.

If a minterm in a square is covered by only one prime implicant, that prime implicant is said to be essential.

*Simplify F(A, B, C, D) = *

Σ(0, 2, 3, 5, 7, 8, 9, 10, 11, 13, 15) See next pages

Text Book: Digital Design 4th Ed.

Chap 3.3 The Map Method — prime

Two

essential prime

implicants:

**BD**

and
**BD**

**B'D'**

**B'D'**

Fuw-Yi Yang 21

Essential prime implicants: BD and B'D'

Prime

implicants: AD,

**CD, B'C, and ** **AB'**

**CD, B'C, and**

**AB'**

**F = BD+B'D'** **+CD+ AD** **OR** **BD+B'D'**

**F = BD+B'D'**

**+CD+ AD**

**BD+B'D'**

**+CD+ AB'** **OR** **BD+B'D'**

**+CD+ AB'**

**BD+B'D'**

**+ B'C+ AD** **OR** **BD+B'D'**

**+ B'C+ AD**

**BD+B'D'**

**+ B'C **

**+ B'C**

Text Book: Digital Design 4th Ed.

Chap 3.5 Product-of-Sums Simplification Example 3.8
*Simplify F(A, B, C, D) = Σ(0, 1, 2, 5, 8, 9, 10) into *

## a. sum-of-products form, taking the procedures as

described previously, i.e., group the squares marked by 1’s and combine them.

**b. product-of-sums form. Group the squares marked by**

*0’s and combine them, i.e., we obtain F ' in the form of*sum-of-product. Because of the generalized DeMorgan’s

**F=B'C' + B'D' +** **A'C'D'**

**F=B'C' + B'D' +**

**A'C'D'**

**F' = AB + CD + ** **BD'**

**F' = AB + CD +**

**BD'**

Applying

DeMorgan’s theorem to F',

**F = (A' + B') +**

**F = (A' + B') +**

**(C' + D') +**

**(C' + D') +**

**(B' + D)**

**(B' + D)**

**F=B'C' + B'D' +** **A'C'D'**

**F=B'C' + B'D' +**

**A'C'D'**

**F' = AB + CD + ** **BD'**

**F' = AB + CD +**

**BD'**

Applying

DeMorgan’s theorem to F',

**F = (A' + B') +**

**F = (A' + B') +**

**(C' + D') +**

**(C' + D') +**

Text Book: Digital Design 4th Ed.

Chap 3.5 Product-of-Sums Simplification

## a. sum-of-products form b. product-of-sums form

These two forms can also obtain from truth table, see next page.

Fuw-Yi Yang 27

Text Book: Digital Design 4th Ed.

Chap 3.5 Product-of-Sums Simplification

*F(x, y, z) *

= Σ(1, 3, 4, 6)

*F(x, y, z) *

= Π(0, 2, 5, 7)

*= (x' + z')*

*(x + z)*

See next page,
note that we
*express F*

directly in the

## POS

form.Table 3.2

*x* *y* *z F*

0 0 *0 0 m*

_{0}

*, M*

_{0}

0 0 *1 1 m*

_{1}

*, M*

_{1}

0 1 *0 0 m*

_{2}

*, M*

_{2}

0 1 *1 1 m*

_{3}

*, M*

_{3}

1 0 *0 1 m*

_{4}

*, M*

_{4}

1 0 *1 0 m*

_{5}

*, M*

_{5}

1 1 *0 1 m*

_{6}

*, M*

_{6}

1 1 *1 0 m*

_{7}

*, M*

_{7}

*F(x, y, z) *

= Σ(1, 3, 4, 6)

*F'(x, y, z) *

= Σ(0, 2, 5, 7) By DeMorgan’s Theorem

*F(x, y, z) *

= Π(0, 2, 5, 7)

*= (x' + z')*

*(x + z)*

Text Book: Digital Design 4th Ed.

Chap 3.6 Don’t Care Conditions

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 a Boolean expression.

Text Book: Digital Design 4th Ed.

Chap 3.6 Don’t Care Conditions

## Example 3.9 Simplify the Boolean function *F(w, x, y, z) = Σ(1, 3, 7, 11, 15)*

which has the don’t care conditions
*d(w, x, y, z) = Σ(0, 2, 5).*

Text Book: Digital Design 4th Ed.

Chap 3.7 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

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NAND Circuits

The NAND gate is said to be a universal gate because any digital system can be implemented with it.

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- 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 conversion of an algebraic expression from AND, OR, and complement to NAND can be done by simple circuit manipulation technique that change AND-OR

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NAND Circuits

Two equivalent graphic symbols for the NAND gate are shown below. It is convenient to use them in converting AND, OR, and NOT expressions into NAND expressions.

See next page.

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation

*-- Three ways to implement F = AB + CD (two-level)*

*(x')' = x*

## AND-OR

### Equivalent

### symbols of

### NAND

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- Example 3.10 Two-level

*Implement F(x, y, z) = Σ(1, 2, 3, 4, 5, 7) with NAND gates. *

*After simplification, F(x, y, z) = xy' + x'y + z*

## AND-OR **(x')' = x**

**(x')' = x**

## Implemented with NAND gates

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NAND Circuits--Multilevel

There are occasions, however, when the design of digital systems results in gating structures with three or more

## levels.

The most common procedure in the design of multilevel circuits is to express the Boolean function in terms of AND, OR, and complement operations. The function can then be implemented with AND and OR gares. After that, if

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NAND Circuits--Multilevel

## AND-OR

*(x')' = x*

NAND Circuits--Multilevel

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NOR Circuits

The NOR gate is said to be a universal gate because any digital system can be implemented with it.

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NOR Circuits

A convenient way to implement a Boolean function with NOR gates is to obtain the simplified Boolean function in terms of Boolean operators and then convert the function to NOR logic.

The conversion of an algebraic expression from AND, OR, and complement to NOR can be done by simple circuit manipulation technique that change OR-AND

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NOR Circuits

Two equivalent graphic symbols for the NOR gate are shown below. It is convenient to use them in converting AND, OR, and NOT expressions into NOR expressions.

See next page.

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NOR Circuits

*Implementing F = (A + B) (C + D) E with NOR gates *
Note that OR-AND

Text Book: Digital Design 4th Ed.

Chap 3.7 NAND and NOR Implementation -- NOR Circuits

*Implementing F = (AB' + A'B) (C + D') with NOR gates *
Note that OR-AND

## Equivalent

## symbols of

## NOR

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations

The types of gates most often found in integrated circuits are NAND and NOR gates.

For this reason, NAND and NOR logic implementations are the most important from a practical point of view.

Some NAND and NOR gates allow the possibility of a wire connection between the outputs of two gates to

provide a specific logic function. This type of logic is

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Wired logic

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations AND-OR-INVERT

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations OR-AND-INVERT

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Example 3.11

Implement the function of the following map with the four 2-level forms listed in Table 3.3.

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Example 3.11

*AND-NORÆ AND-OR-NOT F' = x'y + xy' + z *
combined squares of the 0’s.

*Thus F = (F')' output gate NOR = OR+NOT *

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Example 3.11

*NAND-ANDÆ AND-OR-NOT F' = x'y + xy' + z *
combined squares of the 0’s.

*Thus F = (F')' = (x'y + xy' + z)' = (x'y)' (xy')' z'*

output gate AND

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Example 3.11

*OR-NANDÆ OR-AND-NOT F = x'y'z' + xyz'*
combined squares of the 1’s.

*Thus F = (F')' = ((x + y + z) (x' + y' + z))' , or-and-not.*

output gate NAND = AND + NOT

Text Book: Digital Design 4th Ed.

Chap 3.8 Other Two-Level Implementations Example 3.11

*NOR-ORÆ OR-AND-NOT F = x'y'z' + xyz'*
combined squares of the 1’s.

*Thus F = (F')' = ((x + y + z) (x' + y' + z))'*

*= (x + y + z)' + (x' + y' + z)', output gate OR.*

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function

The exclusive-OR (XOR), denoted by the symbol ⊕, is a
logical operation that performs the following Boolean
*operation: x ⊕ y = x'y + xy'.*

It can be shown that the exclusive-OR operation is both commutative and associative; that is,

*x ⊕ y = y ⊕ x and*

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function —

AND-OR-NOT implementation

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function -- NAND implementation

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function --

## ODD Function

*x ⊕ y = x'y + xy'*

*x ⊕ y ⊕ z = xy'z' + x'yz' + x'y'z + xyz*

The Boolean expression clearly indicates that the XOR functions are equal to 1 if and only if an odd number of variables equal to 1.

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function

--Parity Generation and Checking

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function

--Parity Generation and Checking

*x Æ*

*Y Æ* *z Æ* *P Æ*

Four bits are transmitted

Text Book: Digital Design 4th Ed.

Chap 3.9 Exclusive-OR Function

--Parity Generation and Checking

*x Æ*

*y Æ* *z Æ* *P Æ*

Four bits are transmitted

Text Book: Digital Design 4th Ed.

Chap 3.10 Hardware Description Language HDL Example 3.1

module Simple_Circuit(A, B, C, D, E);

output D, E;

input A, B, C;

wire w1;

and G1(w1, A, B);

not G2(E, C);