gate-level minimization

70
Gate-Level Minimization Chapter 3

Upload: cullen

Post on 06-Jan-2016

161 views

Category:

Documents


0 download

DESCRIPTION

Gate-Level Minimization. Chapter 3. 3-1 Introduction. Gate-level minimization refers to the design task of finding an optimal gate-level implementation of Boolean functions describing a digital circuit. 3-2 The Map Method. The complexity of the digital logic gates - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Gate-Level Minimization

Gate-Level Minimization

Chapter 3

Page 2: Gate-Level Minimization

3-2Digital Circuits

3-1 Introduction

Gate-level minimization refers to the design task of finding an optimal gate-level implementation of Boolean functions describing a digital circuit.

Page 3: Gate-Level Minimization

3-3Digital Circuits

3-2 The Map Method

The complexity of the digital logic gates the complexity of the algebraic expression

Logic minimization algebraic approaches: lack specific rules the Karnaugh map

a simple straight forward procedure a pictorial form of a truth table applicable if the # of variables < 5 If there are more than 5 variables, it is still possible to use

Karnaugh maps, and you will find larger Karnaugh maps discussed in many textbooks.  However, as the number of variables increases it becomes more difficult to see patterns, and computer methods start to become more attractive.

A diagram made up of squares each square represents one minterm

Page 4: Gate-Level Minimization

3-4Digital Circuits

Boolean function sum of minterms sum of products (or product of sum) in the simplest

form a minimum number of terms a minimum number of literals The simplified expression may not be unique

Page 5: Gate-Level Minimization

3-5Digital Circuits

Two-Variable Map

A two-variable map four minterms x' = row 0; x = row 1 y' = column 0;

y = column 1 a truth table in square

diagram xy x+y =

Fig. 3.2 Representation of functions in the map

Page 6: Gate-Level Minimization

3-6Digital Circuits

A three-variable map eight minterms the Gray code sequence any two adjacent squares in the map differ by only

on variable primed in one square and unprimed in the other e.g., m5 and m7 can be simplified

m5+ m7 = xy'z + xyz = xz (y'+y) = xz

Page 7: Gate-Level Minimization

3-7Digital Circuits

Example 3-1 F(x,y,z) = (2,3,4,5) F = x'y + xy'

Page 8: Gate-Level Minimization

3-8Digital Circuits

m0 and m2 (m4 and m6) are adjacent

m0+ m2 = x'y'z' + x'yz' = x'z' (y'+y) = x'z'

m4+ m6 = xy'z' + xyz' = xz' (y'+y) = xz'

Page 9: Gate-Level Minimization

3-9Digital Circuits

Example 3-2 F(x,y,z) = (3,4,6,7) = yz+ xz'

Page 10: Gate-Level Minimization

3-10Digital Circuits

Four adjacent squares 2, 4, 8 and 16 squares m0+m2+m4+m6 = x'y'z'+x'yz'+xy'z'+xyz'

= x'z'(y'+y) +xz'(y'+y)= x'z' + xz‘ = z'

m1+m3+m5+m7 = x'y'z+x'yz+xy'z+xyz=x'z(y'+y) + xz(y'+y)

=x'z + xz = z

Page 11: Gate-Level Minimization

3-11Digital Circuits

Example 3-3 F(x,y,z) = (0,2,4,5,6) F = z'+ xy'

Page 12: Gate-Level Minimization

3-12Digital Circuits

Example 3-4 F = A'C + A'B + AB'C + BC express it in sum of minterms find the minimal sum of products expression

Page 13: Gate-Level Minimization

3-13Digital Circuits

3-3 Four-Variable Map The map

16 minterms combinations of 2, 4, 8, and 16 adjacent squares

Page 14: Gate-Level Minimization

3-14Digital Circuits

Example 3-5 F(w,x,y,z) = (0,1,2,4,5,6,8,9,12,13,14)

F = y'+w'z'+xz'

Page 15: Gate-Level Minimization

3-15Digital Circuits

Example 3-6Simplify the Boolean function

F = ABC + BCD + ABCD + ABC

Page 16: Gate-Level Minimization

3-16Digital Circuits

Prime Implicants all the minterms are covered minimize the number of terms a prime implicant: a product term obtained by

combining the maximum possible number of adjacent squares (combining all possible maximum numbers of squares)

essential: a minterm is covered by only one prime implicant, that prime implicant is called essential

Page 17: Gate-Level Minimization

3-17Digital Circuits

the simplified expression may not be unique F = BD+B'D'+CD+AD = BD+B'D'+CD+AB = BD+B'D'+B'C+AD = BD+B'D'+B'C+AB'

( , , , ) (0,2,3,5,7,8,9,10,11,13,15)F A B C D Consider

Page 18: Gate-Level Minimization

3-18Digital Circuits

3-4 Five-Variable Map Map for more than four variables becomes

complicated five-variable map: two four-variable map (one on

the top of the other)

Page 19: Gate-Level Minimization

3-19Digital Circuits

Table 3.1 shows the relationship between the number of adjacent squares and the number of literals in the term.

Page 20: Gate-Level Minimization

3-20Digital Circuits

Example 3-7 F = (0,2,4,6,9,13,21,23,25,29,31)

F = A'B'E'+BD'E+ACE

Page 21: Gate-Level Minimization

3-21Digital Circuits

Another Map for Example 3-7

Page 22: Gate-Level Minimization

3-22Digital Circuits

3-5 Product of Sums Simplification

Approach #1 Simplified F' in the form of sum of products Apply DeMorgan's theorem F = (F')' F': sum of products => F: product of sums

Approach #2: duality combinations of maxterms (like it was minterms) M0M1 = (A+B+C+D)(A+B+C+D')

= (A+B+C)+(DD')= A+B+C

CDAB 00 01 11 1000 M0 M1 M3 M2

01 M4 M5 M7 M6

11 M12 M13 M15 M14

10 M8 M9 M11 M10

Page 23: Gate-Level Minimization

3-23Digital Circuits

Example 3-8 F = (0,1,2,5,8,9,10)

F' = AB+CD+BD' Apply DeMorgan's theorem; F=(A'+B')(C'+D')(B'+D) Or think in terms of maxterms

Page 24: Gate-Level Minimization

3-24Digital Circuits

Gate implementation of the function of Example 3-8

Page 25: Gate-Level Minimization

3-25Digital Circuits

Consider the function defined in Table 3.2.

( , , ) (1,3,4,6)F x y z In sum-of-minterm:

In product-of-maxterm:

)7,5,2,0(),,( zyxF

Page 26: Gate-Level Minimization

3-26Digital Circuits

Consider the function defined in Table 3.2. ( , , )F x y z x z xz

Combine the 1’s:

Combine the 0’s :

zxxzF

zxzxF

Taking the complement of F

( , , ) ( )( )F x y z x z x z

Page 27: Gate-Level Minimization

3-27Digital Circuits

3-6 Don't-Care Conditions

The value of a function is not specified for certain combinations of variables BCD; 1010-1111: don't care

The don't care conditions can be utilized in logic minimization can be implemented as 0 or 1

Example 3-9 F (w,x,y,z) = (1,3,7,11,15) d(w,x,y,z) = (0,2,5)

Page 28: Gate-Level Minimization

3-28Digital Circuits

F = yz + w'x'; F = yz + w'z F = (0,1,2,3,7,11,15) ; F = (1,3,5,7,11,15) either expression is acceptable

Also apply to products of sum

Page 29: Gate-Level Minimization

3-29Digital Circuits

3-7 NAND and NOR Implementation

NAND gate is a universal gate can implement any digital system

Page 30: Gate-Level Minimization

3-30Digital Circuits

Two graphic symbols for a NAND gate

Page 31: Gate-Level Minimization

3-31Digital Circuits

Two-level Implementation two-level logic NAND-NAND = sum of products Example: F = AB+CD F = ((AB)' (CD)' )' =AB+CD

Fig. 3-20 Three ways to implement F = AB + CD

Page 32: Gate-Level Minimization

3-32Digital Circuits

Example 3-10

( , , ) (1,2,3,4,5,7)F x y z ( , , )F x y z xy x y z

Page 33: Gate-Level Minimization

3-33Digital Circuits

The procedure simplified in the form of sum of products a NAND gate for each product term; the inputs to

each NAND gate are the literals of the term a single NAND gate for the second sum term

Page 34: Gate-Level Minimization

3-34Digital Circuits

Multilevel NAND Circuits Boolean function implementation

AND-OR logic => NAND-NAND logic AND => NAND + inverter OR: inverter + OR = NAND

Fig. 3.22Implementing F = A(CD + B) + BC

Page 35: Gate-Level Minimization

3-35Digital Circuits

NAND Implementation

Fig. 3.23Implementing F = (AB +AB)(C+ D)

Page 36: Gate-Level Minimization

3-36Digital Circuits

NOR Implementation

NOR function is the dual of NAND function The NOR gate is also universal

Page 37: Gate-Level Minimization

3-37Digital Circuits

Two graphic symbols for a NOR gate

Example: F = (A + B)(C + D)E

Fig. 3.26ImplementingF = (A + B)(C + D)E

Page 38: Gate-Level Minimization

3-38Digital Circuits

Example: F = (AB +AB)(C + D)

Fig. 3.27Implementing F = (AB +AB)(C + D) with NOR gates

Page 39: Gate-Level Minimization

3-39Digital Circuits

Boolean-function implementation OR => NOR + INV AND

INV + AND = NOR

第三版內容,參考用 !

Page 40: Gate-Level Minimization

3-40Digital Circuits

第三版內容,參考用 !

Page 41: Gate-Level Minimization

3-41Digital Circuits

第三版內容,參考用 !

Page 42: Gate-Level Minimization

3-42Digital Circuits

3-8 Other Two-level Implementations Wired logic

a wire connection between the outputs of two gates open-collector TTL NAND gates: wired-AND logic the NOR output of ECL gates: wired-OR logic

( ) ( ) ( ) ( )( )

( ) ( ) [( )( )]

F AB CD AB CD A B C D

F A B C D A B C D

AND-OR-INVERT function

OR-AND-INVERT function

Page 43: Gate-Level Minimization

3-43Digital Circuits

Nondegenerate Forms

16 possible combinations of two-level forms eight of them: degenerate forms = a single operation The eight nondegenerate forms

AND-OR, OR-AND, NAND-NAND, NOR-NOR, NOR-OR, NAND-AND, OR-NAND, AND-NOR

AND-OR and NAND-NAND = sum of products OR-AND and NOR-NOR = product of sums NOR-OR, NAND-AND, OR-NAND, AND-NOR = ?

Page 44: Gate-Level Minimization

3-44Digital Circuits

AND-OR-Invert Implementation

AND-OR-INVERT (AOI) Implementation NAND-AND = AND-NOR = AOI F = (AB+CD+E)' F' = AB+CD+E (sum of products)

simplify F' in sum of products

Page 45: Gate-Level Minimization

3-45Digital Circuits

OR-AND-INVERT (OAI) Implementation OR-NAND = NOR-OR = OAI F = ((A+B)(C+D)E)' F' = (A+B)(C+D)E (product of sums)

simplified F' in products of sum

Page 46: Gate-Level Minimization

3-46Digital Circuits

Tabular Summary and Examples

Example 3-11 F' = x'y+xy'+z (F': sum of products) F = (x'y+xy'+z)' (F: AOI implementation)

F = x'y'z' + xyz' (F: sum of products) F' = (x+y+z)(x'+y'+z) (F': product of sums) F = ((x+y+z)(x'+y'+z))' (F: OAI)

Page 47: Gate-Level Minimization

3-47Digital Circuits

Tabular Summary and Examples

Page 48: Gate-Level Minimization

3-48Digital Circuits

Page 49: Gate-Level Minimization

3-49Digital Circuits

3-9 Exclusive-OR Function

Exclusive-OR (XOR) xy = xy'+x'y

Exclusive-NOR (XNOR) (xy)' = xy + x'y'

Some identities x0 = x x1 = x' xx = 0 xx' = 1 xy' = (xy)' x'y = (xy)'

Commutative and associative AB = BA (AB) C = A (BC) = ABC

Page 50: Gate-Level Minimization

3-50Digital Circuits

Implementations (x'+y')x + (x'+y')y = xy'+x'y = xy

Page 51: Gate-Level Minimization

3-51Digital Circuits

Odd function

ABC = (AB'+A'B)C' +(AB+A'B')C = AB'C'+A'BC'+ABC+A'B'C

= (1,2,4,7) an odd number of 1's

Page 52: Gate-Level Minimization

3-52Digital Circuits

Logic diagram of odd and even functions

Page 53: Gate-Level Minimization

3-53Digital Circuits

Four-variable Exclusive-OR function ABCD = (AB’+A’B)(CD’+C’D)

= (AB’+A’B)(CD+C’D’)+(AB+A’B’)(CD’+C’D)

Page 54: Gate-Level Minimization

3-54Digital Circuits

Parity Generation and Checking Parity Generation and Checking

a parity bit: P = xyz parity check: C = xyzP

C=1: an odd number of data bit error C=0: correct or an ever # of data bit error

Page 55: Gate-Level Minimization

3-55Digital Circuits

Parity Generation and Checking

Page 56: Gate-Level Minimization

3-56Digital Circuits

Parity Generation and Checking

Page 57: Gate-Level Minimization

3-57Digital Circuits

3.10 Hardware Description Language (HDL)

Describe the design of digital systems in a textual form hardware structure function/behavior Timing

VHDL and Verilog HDL

Page 58: Gate-Level Minimization

3-58Digital Circuits

A Top-Down Design Flow

Specification

RTL design andSimulation

Logic Synthesis

Gate Level Simulation

ASIC Layout FPGA Implementation

第三版內容,參考用 !

Page 59: Gate-Level Minimization

3-59Digital Circuits

Module Declaration

Examples of keywords:

module, end-module, input, output, wire, and, or, and not.

Fig. 3-37Circuit to demonstrate an HDL

Page 60: Gate-Level Minimization

3-60Digital Circuits

HDL Example 3.1

HDL description for circuit shown in Fig. 3.37

Page 61: Gate-Level Minimization

3-61Digital Circuits

Gate Displays

Example: timescale directive

‘timescale 1 ns/100ps

Page 62: Gate-Level Minimization

3-62Digital Circuits

HDL Example 3.2

Gate-level description with propagation delays for circuit shown in Fig. 3.37

Page 63: Gate-Level Minimization

3-63Digital Circuits

HDL Example 3.3

Test bench for simulating the circuit with delay

Page 64: Gate-Level Minimization

3-64Digital Circuits

Simulation output for HDL Example 3.3

Page 65: Gate-Level Minimization

3-65Digital Circuits

Boolean Expression

Boolean expression for the circuit of Fig. 3.37

Boolean expression:

HDL Example 3.4

Page 66: Gate-Level Minimization

3-66Digital Circuits

HDL Example 3.4

Page 67: Gate-Level Minimization

3-67Digital Circuits

User-Defined Primitives

General rules:

Declaration:

Implementing the hardware in Fig. 3.39

Page 68: Gate-Level Minimization

3-68Digital Circuits

HDL Example 3.5

Page 69: Gate-Level Minimization

3-69Digital Circuits

HDL Example 3.5 (Continued)

Page 70: Gate-Level Minimization

3-70Digital Circuits

Fig. 3.39Schematic for circuit with_UDP_02467