Download - The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows
![Page 1: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/1.jpg)
The covering procedure
![Page 2: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/2.jpg)
The covering procedure
![Page 3: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/3.jpg)
The covering procedure
• Remove rows with essential PI’s and any columns with x’s in those rows
![Page 4: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/4.jpg)
The covering procedure
• Remove rows that are covered by other rows• Remove columns that cover other columns• Why?
![Page 5: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/5.jpg)
The covering procedure
• Remove rows that are covered by other rows• Remove columns that cover other columns
![Page 6: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/6.jpg)
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
![Page 7: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/7.jpg)
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
![Page 8: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/8.jpg)
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
![Page 9: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/9.jpg)
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
![Page 10: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/10.jpg)
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?
![Page 11: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/11.jpg)
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?
![Page 12: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/12.jpg)
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
![Page 13: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/13.jpg)
Incompletely specified functions
![Page 14: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/14.jpg)
Incompletely specified functions
![Page 15: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/15.jpg)
Multiple simultaneous outputs
![Page 16: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/16.jpg)
Multiple simultaneous outputs
![Page 17: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/17.jpg)
Multiple simultaneous outputs
• In general, # of lists ≤ n+1 (n = # variables)
![Page 18: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/18.jpg)
‘d’s are not in the charts, but are used for PIs
• List 1, group 1
• Group 2, list 2
• Group 3, list 3
![Page 19: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/19.jpg)
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)
![Page 20: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/20.jpg)
Multiple simultaneous outputs
![Page 21: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/21.jpg)
• 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
![Page 22: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/22.jpg)
Hazards and K-maps
t1
t3
t2
t1 = t2 = t3
![Page 23: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/23.jpg)
Hazards and K-maps
t1
t3
t2
t1 > t2 > t3
![Page 24: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/24.jpg)
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:
![Page 25: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/25.jpg)
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
![Page 26: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/26.jpg)
Hazards and K-maps
• Static 0 hazards in POS circuits:
• Identify the hazard(s): how many? Where?
![Page 27: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/27.jpg)
Hazards and K-maps
• Hazards identified and fixed? What is missing?
![Page 28: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/28.jpg)
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
![Page 29: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/29.jpg)
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
![Page 30: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/30.jpg)
Karnaugh maps: 2, 3, and 4 variable
![Page 31: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/31.jpg)
F = X’YZ’ + XZ + Y’Z
Example:
![Page 32: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/32.jpg)
Another example: Prime implicants(maximal clusters)
![Page 33: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/33.jpg)
Prime number detector
![Page 34: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/34.jpg)
Prime number detector
![Page 35: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/35.jpg)
Another example:distinguished cell: covered by only one prime implicantessential prime implicant: contains distinguished cell
![Page 36: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/36.jpg)
Another example:primes, distinguished cells, essentials
![Page 37: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/37.jpg)
Selecting essentials leaves an uncovered cellcover with simpler implicant: W’Z
![Page 38: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/38.jpg)
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
![Page 39: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/39.jpg)
Alas, no essential prime implicantsbranching: choose a cell and examine all implicants
that cover that cell
![Page 40: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/40.jpg)
Don’t cares....
![Page 41: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/41.jpg)
Multiple functionscan use separate Karnaugh maps
![Page 42: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/42.jpg)
...or can manage to find common terms...
![Page 43: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/43.jpg)
For more than 6 input variables,Karnaugh maps are difficult to manipulate
Need computer program....Quine-McCluskey algorithm
![Page 44: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/44.jpg)
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
![Page 45: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/45.jpg)
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
![Page 46: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/46.jpg)
![Page 47: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/47.jpg)
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
![Page 48: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/48.jpg)
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
![Page 49: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/49.jpg)
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
![Page 50: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/50.jpg)
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
![Page 51: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/51.jpg)
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:
![Page 52: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/52.jpg)
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
![Page 53: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/53.jpg)
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’
![Page 54: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/54.jpg)
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
![Page 55: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/55.jpg)
Not all prime implicants are necessarily essential
distinguished cellsessential implicants
remainder C eclipses B and D
Minimal form: A + E + C
![Page 56: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/56.jpg)
Not all prime implicants are necessarily essential
distinguished cellsessential implicants
remainder C eclipses B and D
Minimal form: A + E + C
![Page 57: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/57.jpg)
Not all prime implicants are necessarily essential
distinguished cellsessential implicants
remainder C eclipses B and D
Minimal form: A + E + C
![Page 58: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/58.jpg)
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
![Page 59: The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows](https://reader036.vdocuments.us/reader036/viewer/2022062802/56649ea75503460f94ba976e/html5/thumbnails/59.jpg)
Solution: add consensus term
Z’
XZ’ Z’
XZ’
Consensus term
Z’
XZ’