When simplifying a boolean expression, when a bit “doesn’t matter”, it becomes an implicant.
Example: 5, 7: 101, 111: 1X1; 1, 3: 001, 011: 0X1
Prime implicant: XX1
We can also represent this as a cube—each vertex differs by one bit.
Each edge is an implicant, where a face has a “two X” implicant.
Tables:
2 bits: 2 x 2
3 bits: 2 x 4
4 bits: 4 x 4
When creating these tables, use gray coding.
For incompletely specified functions, we can use an X in K-maps for which the inputs are undefined. When simplifying the K-map, we can use them as either a 0 or 1 to help.
When changing inputs, the transition state may change even if the output shouldn’t (prime number example—transitioning from 2 to 3). This is due to the fact that gates have delays. Hazards also decrease efficiency (discharging then recharging capacitor).
We can fix this by adding redundancy in the K-map (connecting disjoint rectangles).