Skip to content
BetterDL

Serial transfer

Also called: serial transmission, serial data transfer, bit-serial transfer, serial communication, serial link

Moving a word from one register to another one bit per clock edge over a single wire, by connecting a serial output to a serial input.

A serial transfer moves an n-bit word one bit per clock edge, using just one wire. Connect register A's serial output to register B's serial input and shift both together. After n edges, A's old contents are in B.

Compare a parallel transfer (B ← A in register transfer notation), which uses n wires and a single edge. The trade-off:

  • Serial: 1 wire, n edges. Cheap on wiring, slow.
  • Parallel: n wires, 1 edge. Fast, but needs many connections.

That is why long-distance and chip-to-chip links (USB, SPI, UART, PCIe lanes) are serial, while transfers inside a CPU are parallel.

Tracing rule: at each edge, B's first stage takes A's old last bit, by the usual edge rule. Whatever A's own serial input carries fills A behind the departing bits. If A's serial output is also wired back to A's serial input, A keeps its value (it rotates back to the start after n edges) while B receives a copy.

Order matters: in a shift-right setup the bits travel LSB first. A receiver must shift in the same direction to rebuild the word correctly.

Worked examples

Example

Moving `0110` from A to B

Two 4-bit shift-right registers share a clock. A holds 0110 with its SI = 0; B holds 0000 and its SI is A's Q0.

  1. 1.

    Edge 1: B takes A's old Q0 = 0. A = 0011, B = 0000.

  2. 2.

    Edge 2: B takes A's old Q0 = 1. A = 0001, B = 1000.

  3. 3.

    Edge 3: B takes 1. A = 0000, B = 1100.

  4. 4.

    Edge 4: B takes 0. A = 0000, B = 0110.

  5. 5.

    After 4 edges B holds A's original word, and A has been emptied.

Example

Receiving LSB first

A sender transmits 0101 least significant bit first into a 4-bit shift-right register that starts at 0000.

  1. 1.

    Bits sent in order: 1, 0, 1, 0.

  2. 2.

    Edge 1: 1000. Edge 2: 0100. Edge 3: 1010. Edge 4: 0101.

  3. 3.

    The register holds 0101: shifting right reassembles an LSB-first stream in the right order.

Common mistakes

  • Letting B take A's new last bit at an edge. B always takes the value from before the edge.

  • Counting n − 1 edges for an n-bit transfer. All n bits must cross the wire, one per edge.

  • Receiving with the opposite shift direction from the sender, which reverses the word.

Practice Serial transfer

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Serial transfer is taught in Registers.