- 2076 Asoj · 7 marks
PISO register with 1001 data
Short answer
With SH/LD' low, the 4-bit PISO register loads 1001 in one clock (QA..QD = 1001). Setting SH/LD' high shifts bits right; the serial output QD yields 1, then 0, 0, 1 over the next three clocks, thus retrieving 1001 LSB first.
Explain how 1001 data can be stored and retrieved in PISO shift register with neat diagram and truth table.
A parallel-in serial-out (PISO) shift register stores a word applied to its parallel inputs in one clock and then shifts it out one bit per clock. A 4-bit PISO register uses four D flip-flops; a SHIFT/LOAD' line selects (through AND-OR gates) either the parallel input or the previous stage's output for each flip-flop.
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 1001
Parallel inputs: PA PB PC PD = 1 0 0 1 (PA = MSB, PD = LSB).
- Store (clock 1, SH/LD' = 0): all bits load together: QA QB QC QD = 1001. 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 0, 0, 1 in turn.
- Serial output after clocks 1 to 4: 1, 0, 0, 1, i.e. 1001 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 | 0 | 1 | 1 |
| 2 | Shift | 0 | 1 | 0 | 0 | 0 |
| 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
- PISO shift register with 1011 data · Digital Logic, chapter 7 · asked 4×
- 4-bit PISO shift register working · Digital Logic, chapter 7 · asked 2×
- Shift register and 4-bit PISO operation · Digital Logic, chapter 7
- SIPO register with 1001 data · Digital Logic, chapter 7
- PISO register with 1101 data · Digital Logic, chapter 7 · asked 2×
- PISO register with 1010 data · Digital Logic, chapter 7
- Short note: Shift register and counter · Basic Electronics Engineering, chapter 6