8-input AND as an address decoder line — AND gate
corewide fan-in, 1/256 selectivity
Answer
output 1 on 1 of 256 input patterns
Why this example is worth doing
An eight-input AND is true on one of two hundred and fifty-six patterns, which is precisely what an address decoder needs: one output line asserted for one address. The page uses it to introduce fan-in cost, because an eight-input CMOS AND is not one stage — it is a tree, and the delay grows with the logarithm of the input count. That is the reason wide decoders are built from layers of small gates rather than from single wide ones.
Try your own input in the AND gate. Truth table, symbol and algebraic form for A·B, with a live two-input toggle.
How the answer is reached
Truth table
| # | A | B | C | D | E | F | G | H | A · B · C · D · E · F · G · H |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 6 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
| 8 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 9 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 10 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| 11 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
| 12 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 14 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
| 16 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 17 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 18 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 19 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
| 20 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 21 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 22 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
| 23 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 24 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 25 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 26 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 27 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
| 28 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| 29 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
| 30 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 31 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
First 32 of 256 rows.