gate-level minimizationcomp.eng.ankara.edu.tr/files/2015/11/chapter3.pdf · outline intro to...

Post on 17-Mar-2018

232 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gate-Level Minimization

Mano & Ciletti

Chapter 3 By Suleyman TOSUN Ankara University

Outline

Intro to Gate-Level Minimization

The Map Method

2-3-4-5 variable map methods

Product-of-Sums Method

Don’t care Conditions

NAND and NOR Implementations

Gate-Level Minimization

Finding an optimal gate-level implementation

of Boolean functions.

Difficult to perform manually.

Can use computer-based logic synthesis tool

Exp: espresso logic minimization software

Karnough Map (K-map) can be used for manual

design of digital circuits.

The Map Method

The truth table representation of a function is

unique.

But, not the algebraic expression

Several versions of an algebraic expression exist.

Difficult to minimize algebraic functions manually.

The map method is a simple proceure to

minimize Boolean functions.

Pictorial form of a truth table.

Called Karnough Map or K-Map.

Two-Variable Map

Four Minterms

Two variables

Four squares for four minterms

Figure b shows the relationship between the squares and the variables x and y.

Two-Variable Map (Cont.)

May only be useful to represent 16 Boolean

functions.

Exp: If m1=m2=m3=1 then

m1+m2+m3=x’y+xy’+xy=x+y (OR function)

Three-Variable Map

There are 8 minterms for 3 variables.

So, there are 8 squares.

Minterms are arranged not in a binary sequence, but in sequence similar to the Gray code.

Three-Variable Map (Cont.)

The square for square m5 corresponds to

row 1 and column 01 (101).

Another look to m5 is m5=xy’z.

When variables are 0, they are primed (ex:

x’). Otherwise not primed (x).

Three-Variable Map (Cont.)

Two adjacent squares differs one variable (one primed

other is not).

So, they can be minimized

Ex: m5+m7=xy’z+xyz=xz(y’+y)=xz

So, try to cover as many adjacent squares as

possible by the orders of two.

1,2,4,8… squares that has the logical value1.

Example 1

Simplfy the Boolean function

F(x,y,z)=Σ(2,3,4,5)

F(x,y,z)=x’y+xy’

Adjacent squares

Some adjacent squares don’t touch each other. m0 is adjacent to m2 and m4 is adjacent to m6.

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

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

Example 2

Simplfy the Boolean function

F(x,y,z)=Σ(3,4,6,7)

F(x,y,z)=yz+xz’

Example 3

Simplfy the Boolean function

F(x,y,z)=Σ(0,2,4,5,6)

F(x,y,z)=z’+xy’

Example 4

F=A’C+A’B+AB’C+BC

Express F as a sum of minterms.

F(A,B,C)=Σ(1,2,3,5,7)

Find the minimal sum-of-products expression

F=C+A’B

Four-Variable Map

16 minterms (and squares) for 4 variables.

Example 5

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

F(w,x,y,z)=y’+w’z’+xz’

Example 6

Simplfy F=A’B’C’+B’CD’+A’BCD’+AB’C’

F=B’D’+B’C’+A’CD”

Prime Implicant

A product term obtained by combining the

max. possible number of adjacent squares.

If a minterm is covered by only one prime

implicant, that prime implicant is said to be

essential.

Example

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

Example

F=BD+B’D’+CD+AD=BD+B’D’+CD+AB’

=BD+B’D’+B’C+AD=BD+B’D’+B’C+AB’

Five-Variable Map

Not simple, is not usually used. 5 variables,

32 squares.

Example 7 Simplfy

F(A,B,C,D,E)=Σ(0,2,4,6,9,13,21,23,25,29,31)

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

Product-of-Sums Simplification

Mark the empty squares by 0’s.

Combine them (as we did for sum-of-

products)

We obtain F’ (complement of the function)

Take the complement of F’ ((F’)’) to obtain F.

Example 8

Simplfy F(A,B,C,D)=Σ(0,1,2,5,8,9,10)

F=B’D’+B’C’+A’C’D

F’=AB+CD+BD’ => F=(A’+B’)(C’+D’)(B’+D)

Example 8 gate impl.

Two different implementations of the same

function.

Don’t Care Conditions

In practice’ some combinations are not specified as

1’s or 0’s.

Four bit binary codes has six unused combinations.

Functions having unspecified outputs are called

incompletely specified functions.

We don’t care the unspecified minterms

These minterms are called don’t-care conditions.

They can be used for minimization.

They are indicated as X’s in the map.

They can be assumed as 1’s or 0’s to have best

simplification.

Example 9

Simplify F(w,x,y,z)=Σ(1,3,7,11,15) having

don’t care conditions d(w,x,y,z)= Σ(0,2,5)

NAND and NOR Implementation

Generally used for circuit design

Easier to fabricate.

Basic gates

Other functions can be generated from them.

Rules have been developed to convert functions

to NAND and NOR only implementations.

NAND Circuits

NAND gate is universal

Any digital system can be implemented with it.

AND, OR and NOT can be implemented with

NANDs.

Two graphic symbols of NAND

Two-Level Implementation

Have the function in sum-of-product form.

Put bubbles (inverters) to have two different

representations of NAND gate

Either AND-invert or Invert-OR

Example: F=AB+CD

Example 10 Implement F(x,y,z)=Σ(1,2,3,4,5,7) with only

NAND gates.

Multilevel NAND Circuits

F=A(CD+B)+BC’

NOR Implementation

Dual of NAND operation

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

Example: F=(AB’+A’B)(C+D’)

Exclusive-Or (XOR) Function

XOR

1 if only x is one or if only y is 1

XNOR

1 if both inputs are 1 or both inputs are 0

Some identities of XOR

yxyxyx

yxxyyx )(

xx 0

'1 xx

0 xx

1' xx

)'('' yxyxyx

XOR Implementations

Odd Funct’on

N variable XOR function is odd function

defined as

The logical sum of the 2n/2 minterms whose

binary numerical values have an odd number of

1’s. If n=3, 4 minterms have odd number of 1’s.

Logic Diagram of odd and even functions

Parity Generation

A parity bit is an extra bit included with a

binary message

If number of 1’s is odd, parity bit is 1; else 0.

The circuit that generates the parity bit in the

transmitter is called parity generator.

Parity bit can be generated using XOR

function.

3-Bit Parity Generator

Parity Checker

Bits are transmitted to the destination with

parity.

The circuit that checks the parity in the

receiver is called a parity checker.

Parity checker can be implmeneted with XOR

gates.

3-Bit Parity Checker

top related