Shift Reg

A shift register serialises or de-serialises data. A serial-in/parallel-out (SIPO) type, like the 74HC595, lets a microcontroller drive 8 (or more) output lines using only three GPIO pins. A parallel-in/serial-out (PISO) type reads multiple inputs and sends them serially.

A chain of storage stages moves data one position on each active clock event. Serial-in/parallel-out and parallel-in/serial-out versions solve different interface problems. Devices such as the 74HC595 add a separate output-storage register so outputs can be updated after shifting; not every shift register has that extra latch. Check the selected part's clock edge, enable, reset and output-drive requirements.

In plain terms

A post-office queue of flip-flops: data enters at the back one bit at a time and shuffles forward with each clock pulse until every position holds a bit, then all the bits appear on their output pins simultaneously.

Why designers use it

Best for

Key specifications

When not to use it

Common mistakes

Where you will find it

A short history

A shift register is a digital circuit made of a cascade of flip-flops sharing a single clock, where each flip-flop's output feeds the next one's input. On each clock pulse, stored bits shift one position down the chain. This design is commonly used to convert data between serial and parallel formats, and simple serial-in serial-out versions can also serve as delay circuits.

Good to know

Related