# NOR is universal too

*Every gate from NOR alone*

NOR is a universal gate: using only NOR gates you can build NOT, OR, AND, and every other logic function, so any digital circuit can be made from NOR alone, just as it can from NAND alone.

Group: Gates
URL: https://digiwleea.wleeaf.dev/learn/nor-universal/

A gate is **universal** if you can build every other gate from copies of it, which means you can build *any* logic function from that one gate. [NAND](https://digiwleea.wleeaf.dev/learn/nand/) is the famous example. Its mirror, [NOR](https://digiwleea.wleeaf.dev/learn/nor/), is universal too, and this page shows the concrete constructions gate by gate. Historically it mattered: the Apollo Guidance Computer that flew to the Moon was built almost entirely from a single NOR-gate chip.

> **TIP:** Recall a NOR outputs `1` only when **both** inputs are `0`: `F = NOT (A OR B)`. Every construction below is just clever wiring of that one rule.

## NOT from one NOR

Tie both NOR inputs together to the same signal `A`. Then `NOR(A, A) = NOT (A OR A) = NOT A`, because `A OR A` is just `A` (the [idempotent law](https://digiwleea.wleeaf.dev/learn/boolean-identities/)). One NOR with its inputs joined is an inverter.

```
NOT A = NOR(A, A)
```

## OR from two NORs

A NOR already computes `NOT (A OR B)`, so an OR is a NOR followed by a NOT, and you just built the NOT from a NOR. Feed `A` and `B` into a NOR, then feed its output into a second NOR wired as an inverter:

```
A OR B = NOT( NOR(A, B) ) = NOR( NOR(A, B), NOR(A, B) )
```

## AND from three NORs

By [De Morgan's law](https://digiwleea.wleeaf.dev/learn/demorgans/), `A AND B = NOT( (NOT A) OR (NOT B) ) = NOR(NOT A, NOT B)`. So invert each input with a NOR, then feed both inverted signals into one more NOR:

```
A AND B = NOR( NOR(A, A), NOR(B, B) )
```

That is three NOR gates. Since you now have NOT, OR, and AND from NOR alone, and any logic function can be written with those three, NOR can build anything. NAND, XOR, adders, latches: all reachable from a pile of NOR gates.

_Circuit diagram: A single NOR gate: series PMOS pull-up, parallel NMOS pull-down. Open it in the lab, tie both inputs together, and confirm it inverts, the first building block toward every other gate._

| A | B | NOR | NOT A (=NOR A,A) | AND (3 NORs) |
| --- | --- | --- | --- | --- |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 1 |

_The NOR column is the raw gate; NOT A ties both inputs to A; the AND column is the three-NOR construction, matching a real AND (only 1 when both inputs are 1)._

> **WARN:** **Common mistakes.** NOR and NAND are each universal, but they are **not** the same gate: NAND is `NOT (A AND B)`, NOR is `NOT (A OR B)`. The NOR construction of AND takes three gates (invert both inputs, then NOR); do not expect the NAND recipe to work unchanged, the roles of AND and OR swap. And tying a gate's inputs together makes a NOT only for NOR and NAND, not for OR or AND.

**Q (Try it):** Build a NOT and an OR from NOR gates only. How many NOR gates does each need?

**A:** A **NOT** is one NOR with both inputs tied to `A`: `NOR(A, A) = NOT A`. An **OR** is a NOR followed by that NOT: `NOR(A, B)` gives `NOT(A OR B)`, then invert it with a second NOR, so `A OR B = NOR( NOR(A,B), NOR(A,B) )`, two NOR gates total.

### FAQ

**Q:** Is NOR a universal gate?

**A:** Yes. A NOR gate alone can build NOT, OR, AND, and therefore every logic function, so any digital circuit can be made from NOR gates only, just like [NAND](https://digiwleea.wleeaf.dev/learn/nand/).

**Q:** How do you make a NOT gate from a NOR gate?

**A:** Tie both NOR inputs to the same signal `A`. Then `NOR(A, A) = NOT (A OR A) = NOT A`, so a single NOR with its inputs joined is an inverter.

**Q:** How do you build an AND gate from NOR gates?

**A:** By [De Morgan's law](https://digiwleea.wleeaf.dev/learn/demorgans/), `A AND B = NOR(NOT A, NOT B)`. Invert each input with a NOR (inputs tied together), then feed both inverted signals into a third NOR: three NOR gates in all.

**Q:** What is the difference between NAND and NOR universality?

**A:** Both are universal, but the constructions swap AND and OR roles. NAND naturally builds sum-of-products (AND-OR) logic cleanly; NOR naturally builds product-of-sums (OR-AND) logic. Which you pick usually depends on the technology and which form of the function is simpler.

> **KEY:** Universality is why a chip fab can offer one gate and let designers build everything: [NAND](https://digiwleea.wleeaf.dev/learn/nand/) and NOR are the two workhorses. The [multiplexer](https://digiwleea.wleeaf.dev/learn/mux-universal/) is universal in a different sense, building any function from a data selector.
