the covering procedure. remove rows with essential pi’s and any columns with x’s in those rows

Post on 12-Jan-2016

225 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The covering procedure

The covering procedure

The covering procedure

• Remove rows with essential PI’s and any columns with x’s in those rows

The covering procedure

• Remove rows that are covered by other rows• Remove columns that cover other columns• Why?

The covering procedure

• Remove rows that are covered by other rows• Remove columns that cover other columns

The covering procedure

• Rows PI’s– Covering row takes care of more minterms

– Minterms included in a smaller (covered) row are also included in the bigger (covering) one

– Can discard the small ones and use only the covering row; minterm coverage is preserved

• Columns min/max terms– Whenever a min/max term corresponding to a

covered (smaller) column is included by some PI, the min/max term corresponding to the covering (bigger) column also gets included

– Covering column can be dropped

– Reduces # of PI’s that include this min/max term

Cyclic PI charts

• Cyclic PI charts have no essential PI’s– Cannot be reduced by rules 1 and 2

• Example of cyclic PI chart of 3 variables

BC

A 00 01 11 10

0 1 1 1

1 1 1 1

Cyclic PI chart

chosen PI

• Cyclic PI charts have no essential PI’s– Select the row with max number of x’s (randomly if

more than one); PI1 in this example

Cyclic PI chart

After removing PI1,

apply rules 1 and 2.

Remove covered

PI2 and PI6

PI3 and PI5 cover the

resulting chart.

Minimal cover: PI1, PI3, PI5

Cyclic PI charts

• Example of cyclic PI chart of 4 variables

1 1 1

1 1 1

• Q: if PI’s covering 4 minterms are allowed, can one create a cyclic PI chart where no PIs are essential?

Cyclic PI charts

• A: yes

1 1 1

1 1 1

1 1 1

1 1 1

• Q: what about a 4 variable K-map and groups of 8 ones?– In general n variable functions with a K-map and

PIs covering 2n-1 min/max terms – can there be a cyclic PI chart?

Incompletely specified functions

• When some of the minterms can be either 0 or 1, we can denote them by ‘d’ (don’t care)

• When simplifying, we use ‘d’s to generate PIs, but do not include them in the PI chart

Incompletely specified functions

Incompletely specified functions

Multiple simultaneous outputs

Multiple simultaneous outputs

Multiple simultaneous outputs

• In general, # of lists ≤ n+1 (n = # variables)

‘d’s are not in the charts, but are used for PIs

• List 1, group 1

• Group 2, list 2

• Group 3, list 3

Multiple simultaneous outputs

Why select

PI3 over

PI11?

• PIs from higher-numbered list are likely to cover more PIs (not always true: don’t cares)

Multiple simultaneous outputs

• Static hazard or glitch: unwanted output transition when inputs change and the output should have remained the same

• For simplicity consider only a single input changes at a time

• Different gates have different propagation delays

Hazards and K-maps

Hazards and K-maps

t1

t3

t2

t1 = t2 = t3

Hazards and K-maps

t1

t3

t2

t1 > t2 > t3

Hazards and K-maps

• A hazard exists when a changing input requires corresponding minterms/maxterms to be covered by different product/sum terms

• Remove hazards by bridging the gaps on the K-map:

Hazards and K-maps

• Hazard-free circuit:• Cover each pair

of adjacentminterms by adifferent product term

• Deliberate redundancy like this makes circuits impossible to test completely

• Static 1 hazards: in SOP circuits: 1 0 1• Static 0 hazards: in POS circuits: 0 1 0

Hazards and K-maps

• Static 0 hazards in POS circuits:

• Identify the hazard(s): how many? Where?

Hazards and K-maps

• Hazards identified and fixed? What is missing?

Hazards and K-maps

• Dynamic hazards:– When input change requires output change– Occur when output makes more than one transition

• Always result from static hazards elsewhere– Eliminating the static hazards eliminates the

dynamic ones as well

Prime number detector: F = (1, 2, 3, 5, 7, 11, 13)

N3 N2 00 01 11 10

00

01 x x xN1 N0

11 x x x

10 x

0--1

00-1

01-1

00010011

01010111

Karnaugh maps: 2, 3, and 4 variable

F = X’YZ’ + XZ + Y’Z

Example:

Another example: Prime implicants(maximal clusters)

Prime number detector

Prime number detector

Another example:distinguished cell: covered by only one prime implicantessential prime implicant: contains distinguished cell

Another example:primes, distinguished cells, essentials

Selecting essentials leaves an uncovered cellcover with simpler implicant: W’Z

Eclipsing (in reduced map)P eclipses Q if P covers all of Q’s onesif P is no more expensive (same or fewer literals),

then choose P over Q

Alas, no essential prime implicantsbranching: choose a cell and examine all implicants

that cover that cell

Don’t cares....

Multiple functionscan use separate Karnaugh maps

...or can manage to find common terms...

For more than 6 input variables,Karnaugh maps are difficult to manipulate

Need computer program....Quine-McCluskey algorithm

typedef unsigned short WORD; /* assume 16-bit registers */struct cube {

WORD t; /* marks uncomplemented variables */WORD f; /* marks complemented variables */}

typedef struct cube CUBE;

CUBE P1, x, y, z;

0149101215 XXXXXXX

Equation:

w x’ y z’ + w’ x’ y z’ = x’ y z’

Karnaugh map:

wx 00 01 11 10yz 00 01 11 10 1 1

Example in four variables

Cubes (last four bits):

1010 0010 = 1000 ==> single one in common position ==> combinable0101 1101 = 1000

1010 & 0010 = 0010 ==> w now missing, new cube corresponds to z’ y z’0101 & 1101 = 0101

Start with minterms (0-cubes) Combine when possible to form (1-cubes)....

Example: w’xy’z + wxy’z + w’xyz + wxyz = xz

wx 00 01 11 10yz 00 01 1 1 11 1 1 10 Cubes: 0101 1101 0111 1111 1010 0010 1000 0000

0101 1010

1101 0010

0111 1000

1111 0000

0101 1101 = 10001010 0010 = 1000

0101 & 1101 = 01011010 & 0010 = 0010

Start with minterms (0-cubes) Combine when possible to form (1-cubes)....

Example: w’xy’z + wxy’z + w’xyz + wxyz = xz

wx 00 01 11 10yz 00 01 1 1 11 1 1 10 Cubes: 0101 1101 0111 1111 1010 0010 1000 0000

0101 1010

1101 0101 0010 0010

0111 1000

1111 0000

wx 00 01 11 10yz 00 01 1 1 11 1 1 10

0101 1101 = 10001010 0010 = 1000

0101 & 1101 = 01011010 & 0010 = 0010

Start with minterms (0-cubes) Combine when possible to form (1-cubes)....

Example: w’xy’z + wxy’z + w’xyz + wxyz = xz

wx 00 01 11 10yz 00 01 1 1 11 1 1 10 Cubes: 0101 1101 0111 1111 1010 0010 1000 0000

0101 1010

1101 0101 0010 0010

0111 0101 1000 1000

1111 1101 0111 0000 0000 0000

wx 00 01 11 10yz 00 01 1 1 11 1 1 10

Continue to form 2-cubes

Example: w’xy’z + wxy’z + w’xyz + wxyz = xz

wx 00 01 11 10yz 00 01 1 1 11 1 1 10 Cubes: 0101 0101 1101 0111 0010 1000 0000 0000

0101 0010

0101 1000

1101 0101 0000 0000

0111 0101 0000 0000

Read in all minterms (0-cubes);mark all 0-cubes “uncovered”;for (m = 0; m < Nvar; m++) for (j = 0; j < Ncubes[m]; j++) for (k = j + 1; k < Ncubes[m]; k++) if (combinable(cube[m][j], cube[m][k])) { mark cube[m][j] and cube[m][k] “covered” temp = combined cube; if (temp not already at level m + 1) { add temp to level m + 1; mark temp “uncovered”

} }

Quine-McCluskey Algorithm:

Manual algorithm: F = (2, 5, 7, 9, 13, 15) (variables WXYZ)

0010

01011001

01111101

1111

01-1-1011-01

-11111-1

-1-1

uncovered terms

Manual algorithm: F = (2, 5, 7, 9, 13, 15) (variables WXYZ)

0010

0101 x 01-1 x -1-11001 x -101 x

1-01

0111 x -111 x1101 x 11-1 x

1111 xWX

00 01 11 1000

YZ 01 1 1 1

11 1 1

10 1

XZ

WY’Z

W’X’YZ’

MintermsPrime 2 5 7 9 13 15Implicants

0010 x1-01 x x-1-1 x x x x

distinguished minterms (cells): 2, 5, 7, 9, 15essential prime implicants: 0010, 1-01, -1-1 (all)

F = 0010 + 1-01 + -1-1 = W’X’YZ’ + WY’Z + XZ

Not all prime implicants are necessarily essential

distinguished cellsessential implicants

remainder C eclipses B and D

Minimal form: A + E + C

Not all prime implicants are necessarily essential

distinguished cellsessential implicants

remainder C eclipses B and D

Minimal form: A + E + C

Not all prime implicants are necessarily essential

distinguished cellsessential implicants

remainder C eclipses B and D

Minimal form: A + E + C

Static hazard: X = Y = 1, Z falls from 1 to 0

Z’

XZ’ Z’

XZ’

Consensus term

Reconstruct Karnaugh map:F = XZ’ + YZ = XYZ’ + XY’Z’ + XYZ + X’YZ

Solution: add consensus term

Z’

XZ’ Z’

XZ’

Consensus term

Z’

XZ’

top related