summaryrefslogtreecommitdiff
path: root/5.md
diff options
context:
space:
mode:
Diffstat (limited to '5.md')
-rw-r--r--5.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/5.md b/5.md
new file mode 100644
index 0000000..3ec12b3
--- /dev/null
+++ b/5.md
@@ -0,0 +1,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