Level 8: 8-bit Adder

Open the level →Where it fits in the machine →

Task

Goal: build an 8-bit adder (ADDER8) using FullAdders and buses.

It works like column addition for 8-bit numbers: each digit is computed by its own FullAdder, and the carry travels along the chain.

The main idea: a bus is 8 wires acting as one, and a byte adds like column addition: eight identical FullAdders connect only through carries. Identical blocks grow into circuits of any size.

Path to this level

The competencies this level develops and their formation levels.

Related Materials

Solution for self-check

Try building the circuit yourself first. The solution below is a way to check yourself if you're stuck or have already solved it.

The in-game hint on this level inserts a scaffold: the circuit without two wires — the A bus input to the first FullAdder and the carry between the first and second adders. Connect them yourself: the scaffold deducts half the penalty and shows where the level principle lives.

Notice the carry chain: bit 7 (the most significant) is computed last — the carry must "run" through all 8 adders. That is propagation delay: the longer the chain, the later the result settles and the lower the maximum clock frequency. See the Propagation Delay article.

What you should get: buses A and B add bit by bit, and the carry passes from the low digit to the high one.

  1. Place two Splitters and feed buses A and B into them. Each outputs 8 bits: Bit0 is the low bit, Bit7 the high one.
  2. Place 8 FullAdders vertically, one under another. Feed each its bits: FullAdder#1 — A.Bit0 and B.Bit0, FullAdder#2 — A.Bit1 and B.Bit1, and so on up to FullAdder#8.
  3. Connect the carry chain: the first adder's CarryOut goes into the second's CarryIn, and so on. Leave the first CarryIn unconnected (it defaults to 0).
  4. Feed the Sum outputs of all 8 adders to the Maker inputs (Sum#1→Bit0 … Sum#8→Bit7). The last adder's CarryOut is Carry.

Boundary vectors deserve special attention: 127+1 gives Sum=128 and Carry=0 (signed-range overflow: the top bit of the result is the sign bit), 200+100 gives Sum=44 and Carry=1 (an unsigned carry past 255), and 255+1 gives Sum=0 and Carry=1. The same adder — two different meanings for its outputs.

Solution circuit for level 8 — 8-bit Adder
The authored solution for level 8 in the simulator (dark theme)

Check yourself

Why does bit 7 (the most significant) arrive last?

The carry must run through all 8 adders: each digit waits for the previous one. The longer the chain, the later the result settles.