- 2068 Baisakh · 2+6 marks
Shift register and 4-bit PISO operation
Short answer
A shift register is a chain of flip-flops that shifts stored bits with each clock. A 4-bit PISO register loads parallel data (e.g., 1011) when SH/LD' is low, then with SH/LD' high shifts bits right; the serial output QD delivers 1, 1, 0, 1 over four clocks, reading the word LSB first.
What is a shift register? With clear timing diagram, describe the operation of a 4-bit parallel-in serial-out (PISO) shift register.
Shift register
A shift register is a group of flip-flops connected in a chain, with a common clock, that stores a binary word and moves (shifts) it one bit position to the right or left at each clock pulse. An n-bit shift register has n flip-flops. Depending on how data is entered and taken out, there are SISO, SIPO, PISO, PIPO and bidirectional/universal shift registers. They are used for data storage, serial-parallel conversion, time delay, and ring/Johnson counters.
4-bit PISO shift register
The PISO register loads 4 bits in parallel in one clock and sends them out serially, one bit per clock. The example data is 1011.
Circuit
PA PB PC PD
| | | |
+-----+ +-----+ +-----+ +-----+
0->| MUX | +-->| MUX | +-->| MUX | +-->| MUX |
+-----+ | +-----+ | +-----+ | +-----+
| | | | | | |
+-----+ | +-----+ | +-----+ | +-----+
|D QA|-+ |D QB|-+ |D QC|-+ |D QD|-->
|> | |> | |> | |> | Serial
+-----+ +-----+ +-----+ +-----+ out
MUX = 2 AND + 1 OR: D = SH.(Q of left FF) + SH'.P
SH/LD' and CLK are common to all stages.
One stage (e.g. stage B):
QA ---------->+-----+
SH/LD' --+--->| AND |--+
| +-----+ | +----+
| +->| OR |--> DB
| +-----+ +->| |
+NOT>| AND |--+ +----+
PB ---------->+-----+
DB = SH.QA + SH'.PB
- SH/LD' = 0 (load): the lower AND gates are enabled, so . At one clock edge all four bits are stored at the same time.
- SH/LD' = 1 (shift): the upper AND gates are enabled, so (and ). Each clock moves the data one place right and the next bit appears at the serial output QD.
Storing and retrieving 1011
Parallel inputs: PA PB PC PD = 1 0 1 1 (PA = MSB, PD = LSB).
- Store (clock 1, SH/LD' = 0): all bits load together: QA QB QC QD = 1011. The LSB (1) is already at the output QD.
- Retrieve (clocks 2, 3, 4, SH/LD' = 1): each clock shifts right and a 0 enters QA. QD shows 1, 0, 1 in turn.
- Serial output after clocks 1 to 4: 1, 1, 0, 1, i.e. 1011 read LSB first. One clock loads, and n - 1 = 3 more clocks deliver the remaining bits.
| CLK | SH/LD' | QA | QB | QC | QD | Serial out |
|---|---|---|---|---|---|---|
| 0 (initial) | - | 0 | 0 | 0 | 0 | - |
| 1 | Load | 1 | 0 | 1 | 1 | 1 |
| 2 | Shift | 0 | 1 | 0 | 1 | 1 |
| 3 | Shift | 0 | 0 | 1 | 0 | 0 |
| 4 | Shift | 0 | 0 | 0 | 1 | 1 |
| 5 | Shift | 0 | 0 | 0 | 0 | 0 |
Timing diagram
1 2 3 4 5
CLK _|‾|_|‾|_|‾|_|‾|_|‾|
SH/LD' ___|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
QA _|‾‾‾|______________
QB _____|‾‾‾|__________
QC _|‾‾‾|___|‾‾‾|______
QD _|‾‾‾‾‾‾‾|___|‾‾‾|__
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- 4-bit PISO shift register working · Digital Logic, chapter 7 · asked 2×
- SISO shift register with timing diagram · Digital Logic, chapter 7 · asked 9×
- PISO shift register with 1011 data · Digital Logic, chapter 7 · asked 4×
- SIPO register with timing diagram · Digital Logic, chapter 7 · asked 2×
- 4-bit bidirectional shift register · Digital Logic, chapter 7
- PISO register with 1101 data · Digital Logic, chapter 7 · asked 2×
- 8255 mode 2 operation with timing diagram · Instrumentation II, chapter 2
- Short note: Shift register and counter · Basic Electronics Engineering, chapter 6
- Short note: serial and parallel interface · Microprocessor, chapter 4
- Why serial transfer is preferred over parallel · Instrumentation II, chapter 3