blob: 3ec12b30ae849f4557df2f6551b52a1c7da5dcde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
[\<- Karnaugh Maps, Prime Implicants](4.md)
---
# Additional K-map concepts: solving for 0's and use of don't cares
## Using the 0's in a K-map
### Consider the 0's
- Sometimes targeting the 0's yields a lower cost solution
- Cost = #gates + #inputs to all gates
- Apply the same process of identifying PI's, but use the 0's instead of the 1's
- Same as if we created K-map for the inverse of the functnio; call if g (=!f)
### POS example
- !f = `!x3*!x4 + !x2*!x3 + x1*x2*x3*x4`
- f = `!(!x3*!x4 + !x2*!x3 + x1*x2*x3*x4)`
- f = `(x3+x4) * (x2+x3) * (!x1+!x2+!x3+!x4)`
![diagram](5.1.png)
---
## The concept and use of don't cares
### Don't Cares
- Sometimes you know certain input combinations can't happen
- You "don't care" how the logic handles it (wildcard)
- Include in an implicant to give it more coverage => "smaller" product terms
![diagram](5.2.png)
---
## Example of 7-segment display
- If you draw an "8" with equal-sized straight lines, there will be 7 such line "segments"
- All decimal digits (0-9) can be represented using a subset of these 7 segments
- A 7-segment display has 7 inputs, one for each segment
- An assertion (1) causes that segment to light
- How to convert a 4-bit value, representing a number from 0-9, into the correct 7 controls?
![diagram](5.3.png)
---
## Summary of how to make use of don't cares
### K-maps with don't cares
- Our general process is to try to find the largest PIs possible
- Use don't cares to create larger PIs
- Creates a product term with fewer variables
- Applies whether solving for 1's or 0's
- A don't care cell does \*not\* make a PI essential
|