4 / 63 · Concept
Reading NAND, NOR and inversion symbols
Identify the scope of inversion and use De Morgan's laws to connect equivalent symbols and expressions.
Lessons are free to read. Enroll to save your learning progress.
The small circle inverts the entire output
NAND inverts an AND result; NOR inverts an OR result. NAND does not mean “AND with each input inverted.” First check the scope of the inversionInversion The NOT operation, which changes 0 to 1 and 1 to 0. A bar over an expression applies NOT to the entire expression beneath it..
| a | b | NAND | NOR |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| a | b | y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Select NAND and confirm that its output is 0 only for 11. Switch to NOR: its output is 1 only for 00. An inverted output is still a valid 0/1 signal, not a value that “has not yet been computed.”
De Morgan's laws are a way to read gates
Moving inversion from an AND output to its inputs also changes the operation to OR. Moving only the bubbles while keeping AND produces a different function. For , NAND is 1 but is 0: an immediate counterexample.
- NAND: Y = NOT (a AND b)
- Invert each input: Form NOT a and NOT b
- Combine with OR: Y = (NOT a) OR (NOT b)
Active-low specifies the polarity of an asserted signal
A signal such as reset_n, which acts when it is 0, is active-lowActive-low A convention in which a request or function is active when its signal is 0. A trailing _n is a common naming convention; the specification defines the actual behavior.. The _n suffix is a convention; the specification and circuit determine the behavior. To make alarm equal 1 when either request req0_n or req1_n is 0, compute
A bar over an individual signal applies NOT to that signal. The final long bar applies NOT to the entire AND of the two signals, so one NAND implements the function. Inputs 11 mean no request, hence alarm=0; inputs 01 mean the first request is active, hence alarm=1.
A signal being “active” does not always mean the value 1. Check the logic value, active condition and inversion symbol separately when reading an input.
Try it yourself
go must be 1 only when both active-low permissions permit0_n and permit1_n are active. Should you connect a NAND or a NOR?
Read the explanation
Use NOR, because the output must be 1 only when both inputs are 0: go=NOT(permit0_n OR permit1_n). Selecting AND just because the wording says “both” misses the signals' active polarity.