From e47cade1d9549a2c9a616dd82891521aeb2bc2c6 Mon Sep 17 00:00:00 2001 From: lshprung Date: Wed, 30 Sep 2020 11:12:57 -0700 Subject: Post-class 09/30 --- 4.md | 4 ++++ 5.1.png | Bin 0 -> 8715 bytes 5.2.png | Bin 0 -> 12265 bytes 5.3.png | Bin 0 -> 66185 bytes 5.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 62 insertions(+) create mode 100644 5.1.png create mode 100644 5.2.png create mode 100644 5.3.png create mode 100644 5.md diff --git a/4.md b/4.md index bebaa4a..9fc5c53 100644 --- a/4.md +++ b/4.md @@ -146,3 +146,7 @@ - An essential PI contains cells that are not part of any other PI - Write the SOP equation, starting with the essential PI's - Add the minimum number of non-essential PI's needed to "cover" all cases where the function should evaluate to true + +--- + +[Additional K-map concepts: solving for 0's and use of don't cares ->](5.md) diff --git a/5.1.png b/5.1.png new file mode 100644 index 0000000..d192aeb Binary files /dev/null and b/5.1.png differ diff --git a/5.2.png b/5.2.png new file mode 100644 index 0000000..b9f4b80 Binary files /dev/null and b/5.2.png differ diff --git a/5.3.png b/5.3.png new file mode 100644 index 0000000..c0a0b5c Binary files /dev/null and b/5.3.png differ 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 -- cgit