A good example of the serial in – parallel out shift register is the 74HC164 shift register, which is an 8-bit shift register. The device features two serial data inputs (DSA and DSB), eight parallel data outputs (Q0 to Q7).
Introduction
Flip flops can store a single bit of binary data i.e. 1 or 0. But if we need to store multiple bits of data, we need multiple flip flops. As a single flip flop is used for one bit storage, n flip flops are connected in an order to store n bits of data. In digital electronics, a Register is a device which is used to store the information.
Flip flops are use in constructing registers. Register is a group of flip flops used to store multiple bits of data. For example, if a computer is to store 16 bit data, then it needs a set of 16 flip flops. The input and outputs of a register are may be serial or parallel based on the requirement.
The series of data bits are stored by registers is called “Byte” or “Word” where a Byte is collection of 8 bits and a Word is collection of 16 bits (or 2 Bytes).
When a number of flip flops are connected in series, this arrangement is called a Register. The stored information can be transferred within the registers; these are called as ‘Shift Registers’. A shift register is a sequential circuit which stores the data and shifts it towards the output on every clock cycle.
Basically shift registers are of 4 types. They are
Serial in Serial Out Shift Register
The input to this register is given in serial fashion i.e. one bit after the other through a single data line and the output is also collected serially. The data can be shifted only left or shifted only right. Hence it is called Serial in Serial out shift register or a SISO shift register.
As the data is fed from right as bit by bit, the shift register shifts the data bits to left. A 4-bit SISO shift register consists of 4 flip flops and only three connections.
The registers which will shift the bits to left are called “Shift left registers”.
The registers which will shift the bits to right are called “Shift right registers”.
Example: If we pass the data 1101 to the data input, the shifted output will be 0110.
This one is the simplest register among the four types. As the clock signal is connected to all the 4 flip flops, the serial data is connected to the left most or right most flip flop. The output of the first flip flop is connected to the input of the next flip flop and so on. The final output of the shift register is collected at the outmost flip flop.
In the above diagram, we see the shift right register; feeding the serial data input from the left side of the flip flop arrangement.
In this shift register, when the clock signal is applied and the serial data is given; only one bit will be available at output at a time in the order of the input data. The use of SISO shift register is to act as temporary data storage device. But the main use of a SISO is to act as a delay element.
Serial in Parallel Out shift register
The input to this register is given in serial and the output is collected in parallel
The clear (CLR) signal is connected in addition to clock signal to all the 4 flip flops in order to RESET them and the serial data is connected to the flip flop at either end (depending on shift left register or shift right register). The output of the first flip flop is connected to the input of the next flip flop and so on. All the flip flops are connected with a common clock.
Unlike the serial in serial out shift registers, the output of Serial in Parallel out (SIPO) shift register is collected at each flip flop. Q1, Q2, Q3 and Q4 are the outputs of first, second, third and fourth flip flops, respectively.
The main application of Serial in Parallel out shift register is to convert serial data into parallel data. Hence they are used in communication lines where demultiplexing of a data line into several parallel line is required.
Parallel in Serial out shift register
The input to this register is given in parallel i.e. data is given separately to each flip flop and the output is collected in serial at the output of the end flip flop.
The clock input is directly connected to all the flip flops but the input data is connected individually to each flip flop through a mux (multiplexer) at input of every flip flop. Here D1, D2, D3 and D4 are the individual parallel inputs to the shift register. In this register the output is collected in serial.
The output of the previous flip flop and parallel data input are connected to the input of the MUX and the output of MUX is connected to the next flip flop. A Parallel in Serial out (PISO) shift register converts parallel data to serial data. Hence they are used in communication lines where a number of data lines are multiplexed into single serial data line.
Parallel in Parallel out shift register
In this register, the input is given in parallel and the output also collected in parallel. The clear (CLR) signal and clock signals are connected to all the 4 flip flops. Data is given as input separately for each flip flop and in the same way, output also collected individually from each flip flop.
The above diagram shows the 4 stage parallel in parallel out register. Qa, Qb, Qc and Qd are the parallel outputs and Pa, Pb, Pc and Pd are the individual parallel inputs. There are no interconnections between any of the four flip flops.
A Parallel in Parallel out (PIPO) shift register is used as a temporary storage device and also as a delay element similar to a SISO shift register.
Ring Counter
It is designed by connecting the output of the first flip flop to its next one and the output of last flip flop is connected again to the first one as input, like a feedback path. So this is called “Ring Counter”.
The first flip flop is connected to high input i.e. its input is preset with logic 1 and the output of the first flip flop is connected to input of second flip flop and so on.
Finally, the output of last flip flop is fed back as input to first flip flop. When we apply the first clock pulse to the arrangement; the second stage input changes to 1 and rest inputs are 0. In this way, the input 1 is rotated around the ring.
Other Type of Registers
Apart from the above register types we have the other type of registers also. They are given below.
These registers are also used in many applications in digital electronics.
Bidirectional Shift Register
If we shift a binary number to left by one position, this operation is equivalent to multiplying the original number by 2. Similarly, if we shift a binary number to right by one position, this operation is equivalent to dividing the original number by 2.
Hence in order to perform these mathematical operations, we need a shift register that can shift the bits in either direction. This can be achieved by Bidirectional Shift Register.
The entire set of shift registers mentioned above are Unidirectional Shift Registers i.e. they shift the data only to the right or only to the left.
The bidirectional shift register can be defined as “The register in which the data can be shifted either left of right”. This register has mode input for right shift or left shift, a clock signal and two serial Data lines one each for input and output.
The mode input will control the shift left and shift right operations. If the mode input is high (1) then the data will be shifted right. Similarly, if the mode input is low (0) then the data will be shifted left. The circuit of a bidirectional shift register using D flip flops is shown below.
The input serial data is connected at two ends of the circuit (to AND gates 1 and 8). Base on the mode input being high or low, only one AND gate (either 1 or 8) is in active state.
When the mode input is high (Right / Left’ = 1), then the serial data path is
AND1 – OR 1 – FF 1 – Q1 – AND 2 – OR 2 – FF 2 – Q2 – AND 3 – OR 3 – FF 3 – Q3 – AND 4 – OR 4 – FF 4 – Q4 (Serial Data OUT).
When the mode input is low (Right / Left’ = 0), then the serial data path is
AND8 – OR 4 – FF 4 – Q4 – AND 7 – OR 3 – FF 3 – Q3 – AND 6 – OR 2 – FF 2 – Q2 – AND 5 – OR 1 – FF 1 – Q1 (Serial Data OUT).
Parallel Load Shift RegisterUniversal Shift Register
The universal shift register can be defined as “The register which can be used to shift the data in both the directions like left, right and can load parallel data as well”.
This register can perform three types of operations, stated below.
It means that, the universal shift register can store the data in parallel and can transmit the data in parallel. In the same manner the data can stored and transmitted by serial path through shift left and shift right operations.
Simply, the universal shift register will load the data either in serial/parallel and will produce output as we require i.e. either in serial/parallel. It is called Universal Shift Register as it can be used for left shift, right shift, serial to serial, serial to parallel, parallel to serial and parallel to parallel operations.
Construction
Observe the below logic gate representation of universal shift register. The mode input is directly connected to MUX input and the reversed mode input (using NOT gate) is connected to the inputs of upper stage flip flops.
The inputs D1, D2, D3 and D4 are connected in parallel and the outputs Q1, Q2, Q3 and Q4 are collected in parallel. It has a serial input pin to feed the data into the register for both left shift and right shift. The logic diagram of a 4 bit universal shift register is shown below.
The circuit diagram of a 4 bit bidirectional universal shift register is shown below.
Operation
Applications of Shift Registers
Registers are used in digital electronic devices like computers as
Shift registers are used in computers as memory elements. All the digital systems need to store large amount of data, in an efficient manner; there we use storage elements like RAM and other type of registers.
Many of the digital system operations like division, multiplication are performed by using registers. The data is transferred through serial shift registers and other type.
Counters are used as Digital clocks, Frequency counters, Binary counters etc.
Delay Line
Introducing Delay line is the most important use of shift registers. A serial in serial out shift register is used to produce time delay, to digital circuits. The time delay can be calculated by using below formula.
Δt = N * 1 / fc
Where N represents number of stages / flip flops and fC represents clock frequency.
So an input pulse is delayed by Δt at output. The amount of time delay is controlled flip flops in the shift register or the clock signal frequency.
Commonly available Shift Register ICs
Generally shift registers are available in 4000 series and 7000 series ICs.
4000 series ICs
7000 series ICs
In these ICs, mostly used are
We know that one flip-flop can store one-bit of information. In order to store multiple bits of information, we require multiple flip-flops. The group of flip-flops, which are used to hold (store) the binary data is known as register.
If the register is capable of shifting bits either towards right hand side or towards left hand side is known as shift register. An ‘N’ bit shift register contains ‘N’ flip-flops. Following are the four types of shift registers based on applying inputs and accessing of outputs.
Serial In − Serial Out (SISO) Shift Register
The shift register, which allows serial input and produces serial output is known as Serial In – Serial Out (SISO) shift register. The block diagram of 3-bit SISO shift register is shown in the following figure.
This block diagram consists of three D flip-flops, which are cascaded. That means, output of one D flip-flop is connected as the input of next D flip-flop. All these flip-flops are synchronous with each other since, the same clock signal is applied to each one.
In this shift register, we can send the bits serially from the input of left most D flip-flop. Hence, this input is also called as serial input. For every positive edge triggering of clock signal, the data shifts from one stage to the next. So, we can receive the bits serially from the output of right most D flip-flop. Hence, this output is also called as serial output.
Example
Let us see the working of 3-bit SISO shift register by sending the binary information “011” from LSB to MSB serially at the input.
Assume, initial status of the D flip-flops from leftmost to rightmost is $Q_{2}Q_{1}Q_{0}=000$. We can understand the working of 3-bit SISO shift register from the following table.
The initial status of the D flip-flops in the absence of clock signal is $Q_{2}Q_{1}Q_{0}=000$. Here, the serial output is coming from $Q_{0}$. So, the LSB (1) is received at 3rd positive edge of clock and the MSB (0) is received at 5th positive edge of clock.
Therefore, the 3-bit SISO shift register requires five clock pulses in order to produce the valid output. Similarly, the N-bit SISO shift register requires 2N-1 clock pulses in order to shift ‘N’ bit information.
Serial In - Parallel Out (SIPO) Shift Register
The shift register, which allows serial input and produces parallel output is known as Serial In – Parallel Out (SIPO) shift register. The block diagram of 3-bit SIPO shift register is shown in the following figure.
This circuit consists of three D flip-flops, which are cascaded. That means, output of one D flip-flop is connected as the input of next D flip-flop. All these flip-flops are synchronous with each other since, the same clock signal is applied to each one.
In this shift register, we can send the bits serially from the input of left most D flip-flop. Hence, this input is also called as serial input. For every positive edge triggering of clock signal, the data shifts from one stage to the next. In this case, we can access the outputs of each D flip-flop in parallel. So, we will get parallel outputs from this shift register.
Example
Let us see the working of 3-bit SIPO shift register by sending the binary information “011” from LSB to MSB serially at the input.
Assume, initial status of the D flip-flops from leftmost to rightmost is $Q_{2}Q_{1}Q_{0}=000$. Here, $Q_{2}$ & $Q_{0}$ are MSB & LSB respectively. We can understand the working of 3-bit SIPO shift register from the following table.
The initial status of the D flip-flops in the absence of clock signal is $Q_{2}Q_{1}Q_{0}=000$. The binary information “011” is obtained in parallel at the outputs of D flip-flops for third positive edge of clock.
So, the 3-bit SIPO shift register requires three clock pulses in order to produce the valid output. Similarly, the N-bit SIPO shift register requires N clock pulses in order to shift ‘N’ bit information.
Parallel In − Serial Out (PISO) Shift Register
The shift register, which allows parallel input and produces serial output is known as Parallel In − Serial Out (PISO) shift register. The block diagram of 3-bit PISO shift register is shown in the following figure.
This circuit consists of three D flip-flops, which are cascaded. That means, output of one D flip-flop is connected as the input of next D flip-flop. All these flip-flops are synchronous with each other since, the same clock signal is applied to each one.
Serial To Parallel Ic
In this shift register, we can apply the parallel inputs to each D flip-flop by making Preset Enable to 1. For every positive edge triggering of clock signal, the data shifts from one stage to the next. So, we will get the serial output from the right most D flip-flop.
Example
Let us see the working of 3-bit PISO shift register by applying the binary information “011” in parallel through preset inputs.
Since the preset inputs are applied before positive edge of Clock, the initial status of the D flip-flops from leftmost to rightmost will be $Q_{2}Q_{1}Q_{0}=011$. We can understand the working of 3-bit PISO shift register from the following table.
Here, the serial output is coming from $Q_{0}$. So, the LSB (1) is received before applying positive edge of clock and the MSB (0) is received at 2nd positive edge of clock.
Therefore, the 3-bit PISO shift register requires two clock pulses in order to produce the valid output. Similarly, the N-bit PISO shift register requires N-1 clock pulses in order to shift ‘N’ bit information.
Parallel In - Parallel Out (PIPO) Shift Register
The shift register, which allows parallel input and produces parallel output is known as Parallel In − Parallel Out (PIPO) shift register. The block diagram of 3-bit PIPO shift register is shown in the following figure.
This circuit consists of three D flip-flops, which are cascaded. That means, output of one D flip-flop is connected as the input of next D flip-flop. All these flip-flops are synchronous with each other since, the same clock signal is applied to each one.
Xilinx Serial To Parallel Shift Register
In this shift register, we can apply the parallel inputs to each D flip-flop by making Preset Enable to 1. We can apply the parallel inputs through preset or clear. These two are asynchronous inputs. That means, the flip-flops produce the corresponding outputs, based on the values of asynchronous inputs. In this case, the effect of outputs is independent of clock transition. So, we will get the parallel outputs from each D flip-flop.
Serial To Parallel Shift Register Block DiagramExample
Let us see the working of 3-bit PIPO shift register by applying the binary information “011” in parallel through preset inputs.
Since the preset inputs are applied before positive edge of Clock, the initial status of the D flip-flops from leftmost to rightmost will be $Q_{2}Q_{1}Q_{0}=011$. So, the binary information “011” is obtained in parallel at the outputs of D flip-flops before applying positive edge of clock.
Therefore, the 3-bit PIPO shift register requires zero clock pulses in order to produce the valid output. Similarly, the N-bit PIPO shift register doesn’t require any clock pulse in order to shift ‘N’ bit information.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |