DD Lab Experiment 8
DD Lab Experiment 8
DD Lab Experiment 8
Experiment – 8
Aim: To implement 4-bit shift register using behavioral modeling coding.
Theory:
This sequential device loads the data present on its inputs and then moves or “shifts” it
to its output once every clock cycle, hence the name Shift Register.
A shift register basically consists of several single bit “D-Type Data Latches”, one for each
data bit, either a logic “0” or a “1”, connected together in a serial type daisy-chain
arrangement so that the output from one data latch becomes the input of the next latch
and so on.
Data bits may be fed in or out of a shift register serially, that is one after the other from
either the left or the right direction, or all together at the same time in a parallel
configuration.
The number of individual data latches required to make up a single Shift Register device
is usually determined by the number of bits to be stored with the most common being 8-
bits (one byte) wide constructed from eight individual data latches.
Shift Registers are used for data storage or for the movement of data and are therefore
commonly used inside calculators or computers to store data such as two binary
numbers before they are added together, or to convert the data from either a serial to
parallel or parallel to serial format. The individual data latches that make up a single shift
register are all driven by a common clock (Clk) signal making them synchronous devices.
Shift register IC’s are generally provided with a clear or reset connection so that they can
be “SET” or “RESET” as required. Generally, shift registers operate in one of four
different modes with the basic movement of data through a shift register being:
Serial-in to Parallel-out (SIPO) - The register is loaded with serial data, one bit
at a time, with the stored data being available at the output in parallel form.
Serial-in to Serial-out (SISO) - The data is shifted serially “IN” and “OUT” of the
register, one bit at a time in either a left or right direction under clock control.
Parallel-in to Serial-out (PISO) - The parallel data is loaded into the register
simultaneously and is shifted out of the register serially one bit at a time under
clock control.
Parallel-in to Parallel-out (PIPO) - The parallel data is loaded simultaneously
into the register, and transferred together to their respective outputs by the
same clock pulse.
The effect of data movement from left to right through a shift register can be
presented graphically as:
Ram Dutt Digital Design using HDL
2K21/VLS/15 Lab File
Also, the directional movement of the data through a shift register can be either to the
left, (left shifting) to the right, (right shifting) left-in but right-out, (rotation) or both left
and right shifting within the same register thereby making it bidirectional. In this tutorial
it is assumed that all the data shifts to the right, (right shifting).
Well this type of Shift Register also acts as a temporary storage device or it can act as a
time delay device for the data, with the amount of time delay being controlled by the
number of stages in the register, 4, 8, 16 etc or by varying the application of the clock
pulses
Ram Dutt Digital Design using HDL
2K21/VLS/15 Lab File
Fig 2: 4-
Bit shift register
Clock Pulse No QA QB QC QD
Ram Dutt Digital Design using HDL
2K21/VLS/15 Lab File
0 0 0 0 0
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 0 0 0 0
Verilog Code:
Ram Dutt Digital Design using HDL
2K21/VLS/15 Lab File
Simulation Results:
Synthesis Results:
Ram Dutt Digital Design using HDL
2K21/VLS/15 Lab File
Results: Hence the 4-bit shift register was implemented using behavioural module.