Designing a combinational circuit from an English description feels like a blank page, but it's a fixed recipe. The only real thinking happens in step 3.
- Name the signals. List every input and output, and write what 1 means for each ("W = 1: window open").
- Fix the order. Choose which input is the MSB. That fixes the row numbers.
- Fill the truth table. One row per input combination, 2ⁿ rows. For each row, ask the spec whether the output should be 1. Every row needs a value.
- List the 1-rows as a minterm list, Σm( … ).
- Write the canonical SOP: one minterm per 1-row.
- Simplify, with algebra or a karnaugh map.
- Verify, then draw. Test every 1-row and a few 0-rows on the final expression before you draw gates.
With several outputs, give each its own column and repeat steps 4–7 per column (a multiple output circuit).
Translating words is where most errors come from:
- "and", "both" → AND. "or", "at least one" → OR. "exactly one" → XOR.
- "X unless Y" → .
- Watch for the hidden NOT: "the window is shut" is if W = 1 means open.
| P | |||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |