Design of 8-bit Bi-Directional Register
A shift register is a sequential circuit that stores digital data and moves stored bits in a specific direction. It is widely used in serial data transfer, data conversion (SIPO/PISO), arithmetic operations, and delay elements. It consists of cascaded flip-flops sharing a common clock.
The basic types of shift registers are:
- SIPO: Serial In, Parallel Out
- PISO: Parallel In, Serial Out
- PIPO: Parallel In, Parallel Out
- Bi-directional shift registers
Data Transfer Types
Serial Transfer: Data is transferred one bit at a time over a single line.
Parallel Transfer: Data is transferred simultaneously over multiple lines.
Shift Operations
Right Shift: Moves bits toward LSB (divides by 2).
Left Shift: Moves bits toward MSB (multiplies by 2).
Rotation: Circular shifting of data using feedback.
Bi-Directional Shift Register
A bidirectional shift register allows shifting data in both directions. It includes control logic to select left or right shifting using a mode control input.
- Left shift multiplies a number by 2
- Right shift divides a number by 2
- Control input determines shift direction
Operation Table
| S.N. | Condition | Operation |
|---|---|---|
| 1 | M = 1 (Shift Right) | Data shifts right with each clock pulse |
| 2 | M = 0 (Shift Left) | Data shifts left with each clock pulse |
Circuits / Block Diagram
Observations & Data
Write and simulate the VHDL code, generate RTL schematic, and observe waveform outputs using Test Bench Waveform.
Procedure
Follow Xilinx ISE steps for coding, simulation, and synthesis.
Conclusion
The bidirectional shift register was successfully implemented using VHDL. Simulation results matched expected behavior, confirming correct left and right shift operations.