Shift Registers in Logisim-evolution

A shift register moves bits one position per clock pulse. The building block is the D flip-flop (Memory library): chain them so each flip-flop’s Q output feeds the next flip-flop’s D input, and tie all clock pins to one Clock (Wiring library). Remember to enable ticking: Simulate → Ticks Enabled (Ctrl-K) — it is off by default.

The four types

  • SISO (serial in, serial out): bits enter one end and exit the other, one per clock. The classic 4-bit demo.
  • SIPO (serial in, parallel out): feed bits in serially, read all four Q outputs at once — a serial-to-parallel converter.
  • PISO (parallel in, serial out): load 4 bits at once (use a load/shift control line), then shift them out one by one.
  • PIPO (parallel in, parallel out): essentially a 4-bit register; see our registers tutorial.

Extension: LFSR

Feed XOR combinations of the flip-flop outputs back to the input and you get a linear-feedback shift register, which cycles through pseudo-random patterns — a common follow-up experiment.

Common pitfall

If nothing shifts, the clock is almost always the culprit: no Clock component, or ticks not enabled. Full checklist: troubleshooting.