Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksToolsOpen the lab →

How to build a full adder using only NOR gates

A full adder can be built from nine NOR gates, the same count as the NAND version: take the 9-NAND full adder, replace every NAND with a NOR, and it still computes S = A XOR B XOR Cin and the carry Cout.

Swapping every NAND for a NOR turns a circuit into its dual, which computes the original function with all inputs and the output inverted. For most circuits that changes the function, but not for a full adder: inverting A, B and Cin inverts both the sum (a 3-input XOR) and the carry (a majority vote), so the dual circuit gives back the same S and Cout. Inside, the first four NORs make A XNOR B rather than XOR, the next four XNOR that with Cin, and two XNORs in a row are the same as two XORs. The carry gate reuses the first and fifth NORs. Compare the NAND full adder and the five-gate NOR half adder. All eight input rows are checked before the page is built.

Live circuit: click the inputs to toggle them and watch the outputs update. It runs the real simulator, right here on the page.

Open this circuit in the lab →

What you need

Step by step

  1. Place inputs A, B and Cin. NOR A and B into N1.
  2. Make NOR(A, N1) and NOR(B, N1), then NOR those two together. The result is X = A XNOR B.
  3. Repeat the pattern with X and Cin: N4 = NOR(X, Cin), then NOR(X, N4) and NOR(Cin, N4), then NOR those two. That is X XNOR Cin, which equals A XOR B XOR Cin; probe it as S.
  4. For the carry, NOR N1 with N4. It is 1 when A or B is 1 and also X or Cin is 1, which works out to "at least two of the three inputs are 1". Probe it as Cout.
  5. Toggle the inputs through all eight combinations and compare S and Cout with the truth table below.

Full adder truth table

ABCinSCout
00000
00110
01010
01101
10010
10101
11001
11111

S is 1 when an odd number of inputs are 1, and Cout is 1 when at least two are. Nine NOR gates of four transistors each make this full adder 36 transistors.

You can also read the full theory in the lesson on the full adder. Prefer to build it yourself from scratch? Open the digiwleea lab and place the gates on the canvas, or start from the logic gate simulator.

Build more parts from gates

Each of these is one step from a transistor to a working CPU. Build every gate from CMOS transistors and work all the way up in the free digiwleea lab, with the free theory reference alongside.

Open the full adder from NOR gates in the lab →

Frequently asked

How many NOR gates are needed for a full adder?

Nine. Four make A XNOR B, four more combine that with Cin into the sum, and one NOR of the first and fifth gates gives the carry.

Why does replacing NAND with NOR still give a full adder?

The NOR circuit is the dual of the NAND circuit, so it computes the same function with every input and the output inverted. The sum and carry of a full adder are self-dual (inverting all three inputs inverts both outputs), so the two inversions cancel and the function is unchanged.

Can you build a full adder from two NOR half adders?

Yes, but it costs more: two 5-NOR half adders plus an OR of the two carries (a NOR followed by a NOR inverter) is 12 gates. Sharing gates, as here, brings it down to nine.

Is the NOR full adder slower than the NAND one?

In CMOS, usually a little: a NOR gate puts its PMOS transistors in series, and PMOS conducts more weakly than NMOS, so NOR gates are typically sized larger or switch more slowly. That is one reason NAND is the more common choice in real designs.