Last time

Overview

K-maps

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.

Hazards

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).