Shift Register : Serial In Serial Out (SISO) Register Explained | Bidirectional Shift Register
Summary
TLDRThis video from the ALL ABOUT ELECTRONICS YouTube channel delves into the workings of the Serial IN Serial OUT (SISO) shift register, explaining its two types: shift right and shift left. It illustrates how data moves through a shift right register using a 4-bit example, detailing the process with clock pulses and flip-flops. The video also touches on the control of the input line with an enable signal and the use of multiplexers for input control, concluding with the applications of SISO registers in arithmetic operations and time delays.
Takeaways
- 😀 The video explains what a shift register is and its different types, focusing on the Serial IN Serial OUT (SISO) type.
- 🔄 SISO shift registers can shift data either to the right or to the left, with two types discussed: shift right and shift left.
- 👉 In a shift right SISO register, data enters from the left and moves right, with the diagram of a 4-bit version provided for clarity.
- 💾 The data movement in a shift register is illustrated with an example of storing the binary sequence 1010.
- ⏱ The importance of clock pulses in moving data through the flip flops of the shift register is highlighted.
- 📊 The script includes a detailed explanation of how data is shifted bit by bit with each clock edge in a shift right register.
- 📈 A timing diagram is used to visualize the shifting process, showing the outputs of flip flops at each clock pulse.
- 🔧 The video mentions the need to control the input line to prevent random data entry into the shift register.
- 🔄 The concept of a bi-directional shift register is introduced, allowing data to be shifted both left and right.
- 🛠️ The use of 2x1 multiplexers to control the direction of data shift in bi-directional shift registers is explained.
- 🔑 The applications of SISO shift registers in arithmetic operations and time delays are briefly mentioned as areas for future discussion.
- 📚 The video concludes by inviting viewers to ask questions, suggest improvements, and engage with the channel for more educational content.
Q & A
What is a shift register and what are its types?
-A shift register is a type of digital memory storage device that stores data in a sequence of flip-flops. It comes in various types, including Serial In Serial Out (SISO), Serial In Parallel Out (SIPO), and Parallel In Serial Out (PISO).
How does data enter and exit a SISO shift register?
-In a SISO shift register, data is entered serially into the register and is also taken out serially, which means it moves in a single-bit stream both in and out of the register.
What are the two types of SISO shift registers based on data shifting direction?
-The two types of SISO shift registers are shift right and shift left registers. In a shift right register, data moves from left to right, while in a shift left register, data moves from right to left.
Can you explain the concept of a 4-bit shift right type of SISO register?
-A 4-bit shift right type of SISO register consists of four flip-flops connected in series, where the output of one flip-flop is connected to the input of the next. Data is entered from the leftmost flip-flop and moves rightward, exiting from the rightmost flip-flop.
How does the data move within a shift right type of SISO register?
-Data moves within a shift right type of SISO register through a series of clock pulses. Starting from the LSB, each bit is shifted in, and the data in the register moves rightward, with the oldest bit being discarded at the rightmost flip-flop after each clock pulse.
What is the significance of the clock pulse in a shift register?
-The clock pulse is crucial in a shift register as it triggers the flip-flops to store new data and shift existing data. The data moves from one flip-flop to the next in synchronization with the clock pulses.
How is the propagation delay of flip-flops relevant to the output of a shift register?
-The propagation delay of flip-flops is the time it takes for the output to respond to changes at the input. This delay affects the timing of data movement within the shift register and must be accounted for to ensure accurate data shifting.
What is the purpose of the enable input in a shift register?
-The enable input allows control over the input line of a shift register. When high, it enables data shifting; when low, it prevents new data from entering, effectively freezing the current state of the register.
Can you describe the role of a 2x1 multiplexer in controlling the input line of a shift register?
-A 2x1 multiplexer is used to control the input line of a shift register based on the state of the enable input. When the enable input is high, the multiplexer connects the data input to the flip-flops, allowing data shifting. When the enable input is low, the multiplexer connects the output of the flip-flop back to its input, retaining the current state.
What are the typical applications of SISO shift registers?
-SISO shift registers are typically used for arithmetic operations and providing time delays. They can also be used in bi-directional shift registers to move data either left to right or right to left, depending on the operation required.
How does a bi-directional shift register differ from a standard SISO register?
-A bi-directional shift register allows data to be shifted both left to right and right to left, depending on the control signals. It uses additional circuitry, such as 2x1 multiplexers, to control the direction of data flow, making it versatile for various applications.
Outlines
🔄 Introduction to Serial IN Serial OUT Shift Registers
This paragraph introduces the concept of Serial IN Serial OUT (SISO) shift registers, explaining their basic function and types. The focus is on the shift right and shift left SISO registers, detailing how data is entered and moved within these registers. The shift right type is exemplified with a 4-bit diagram, showing the serial data movement from left to right, starting with the least significant bit (LSB) and moving towards the most significant bit (MSB). The process of shifting data into the register is described step by step, including the role of clock pulses and flip-flops in storing and discarding bits.
📉 Shift Right Operation and Timing Diagrams
This paragraph delves deeper into the shift right operation of SISO registers, illustrating the process with a timing diagram. It explains how data moves from the MSB to the LSB with each clock pulse, and how the flip-flops within the register respond to these pulses with a propagation delay. The importance of disabling the input line after data entry to prevent random data storage is highlighted, and a control mechanism using an enable input and multiplexers is introduced to manage the input line effectively.
🔄 Control Over Data Shifting with Multiplexers
The paragraph discusses the use of multiplexers to control data shifting in SISO registers. It explains how an enable input can be used to determine whether data should shift right or remain in the current state. The role of AND and OR gates in creating a 2x1 multiplexer for controlling the input line is described, allowing for the shift right operation when the enable input is high and retaining the state when it is low. The paragraph also touches on the application of SISO registers in arithmetic operations and time delay provision, setting the stage for further exploration in subsequent videos.
📢 Conclusion and Invitation for Feedback
In the concluding paragraph, the speaker summarizes the video's content on the working of SISO shift registers and invites viewers to ask questions or provide suggestions in the comment section. The paragraph encourages viewers to like the video and subscribe to the channel for more educational content. It serves as a call to action for viewer engagement and a teaser for future videos that will explore the applications of SISO registers in more detail.
Mindmap
Keywords
💡Shift Register
💡Serial IN Serial OUT (SISO)
💡Shift Right
💡Shift Left
💡Flip-Flop
💡Most Significant Bit (MSB)
💡Least Significant Bit (LSB)
💡Clock Pulse
💡Propagation Delay
💡Enable Input
💡Bi-directional Shift Register
💡Multiplexer (MUX)
Highlights
Introduction to the concept of shift registers and their types in the previous video.
Explanation of Serial IN Serial OUT (SISO) type of shift registers.
Description of how data is entered and taken out serially in SISO registers.
Differentiation between shift right and shift left SISO registers.
Detailed diagram explanation of a 4-bit shift right type SISO register.
Demonstration of how data moves in a shift right type SISO register.
Illustration of storing and shifting the sequence 1 0 1 0 in the shift register.
Explanation of the role of clock pulses in data shifting within the register.
Description of the propagation delay in flip-flops and its effect on data output.
Timing diagram analysis of the Q3 output in a shift right register.
Discussion on the control over the input line to prevent random data entry.
Introduction of the enable input for controlling data shifting direction.
Explanation of the 2 x 1 multiplexer used for input control in shift registers.
Introduction to the shift left type of SISO register and its operation.
Discussion on the applications of SISO registers in arithmetic operations and time delay.
Introduction to bi-directional shift registers and their operation.
Explanation of how 2 x 1 multiplexers enable bi-directional data shifting.
Anticipation of future content on applications of SISO registers in arithmetic operations.
Transcripts
Hey, friends welcome to the YouTube channel ALL ABOUT ELECTRONICS. So in the previous video, we
have seen that what is shift register, and we have also seen the different types of shift register.
So in this video, we will learn about this serial IN serial OUT type of shift register.
So in the previous video, we have seen that, in this SISO register, the data is entered into
the register serially, and it is also taken out serially. Now depending on the direction in which
this data is shifted, we have total two types of shift registers, that is the shift right or
the shift left registers. So in this shift right type of SISO register, the data is entered from
the left side, and it is also moving from left to right. Similarly, in this shift left type of SISO
register, the data is entered from the right side and it is moving from right to left side.
So first let us talk about the shift right type of SISO register. So this is the diagram of the 4 bit
shift right type of SISO register. So as you can see, since it is a serial IN serial OUT type of
shift register, so the output of the one flip flop is connected to the input of the second flip flop.
And in this shift right type of SISO register, the input is applied at the leftmost flip flop,
while the output is taken from the rightmost flip flop. So first let us understand,
how the data moves in this shift right type of SISO register. So here this flip flop stores
the MSB of the register, while this rightmost flip flop stores the LSB. And let's say we want
to store this 1 0 1 0 in this shift register. Where this 1 is the MSB and the 0 is the LSB.
So to move this data, the data will be shifted in this register, starting from the LSB.
So initially, let's say all the bits of this register is equal to 0. So whenever there is a
no clock pulse, then irrespective of the input, all the flip flop will store its current data.
So now starting from the LSB, to shift this 0 into the shift register, first of all we need to apply
this 0 bit to the input. So now before the arrival of the clock edge if we see the inputs for the all
the flip-flops then they are these 0 0 and 0. That means, now once the clock edge arrives,
then all the four flip flops will respond to their present inputs. That means, if we see the output
of this first stage, then it will become 0. And likewise, for the remaining three stages also,
the output will become 0. And now whatever data, which was earlier stored in this last flip flop
will get discarded. So these outputs will be available at the output line, just after the
propagation delay of the flip flop. And since the output of the one flip flop is connected to the
next stage, so these outputs will act as an input for the next stage during the next clock edge.
So now the next bit which we want to transfer is equal to 1. So the same 1 should be applied
to the input. And at the same time, if we see the present inputs for the remaining three flip flops,
then they are 0 0 and 0. So now, at the next clock edge, these four flip flops,
will respond to their present inputs. That means now, the output of this first flip flop will
become 1. And similarly, this D2 D1 and D0 will respond to their present inputs. And once again,
now whatever data which was earlier stored in this D0 will get discarded.
That means after the second clock edge, this will be the output of the shift register.
And these outputs will act as an input for the next stage during the next clock edge.
So now at the next clock edge the data which we want to move into the register is equal to 0.
So the same 0, should be also applied to the input just before the clock edge.
And at the same time, if you see the remaining three inputs to the flip flop, then they are 1
0 and 0. So now at the clock edge, all the four flip flops will respond to their present inputs.
That means now, the output of this D3 will become 0. And similarly, the output of this D2 D1 and D0
will become 1 0 and 0. And earlier, whatever data which was stored in this D0 will get discarded.
That means after the third clock edge this will be the data inside the shift register. And finally,
the data which we want to shift into the register is equal to 1. So the same 1 should also apply to
the input just before the next clock edge. And at the same time, if we see the inputs for the
remaining three flip flops, then they are 0 1 and 0. That is the output of the previous stage.
So now at the clock edge, once again all the four flip flops will respond to their present inputs.
That means now, just after the clock edge, the output of this first flip
flop or the output of this D3 will become 1. And likewise, the output of this D3 D2 and D0,
will become 0 1 and 0. And whatever data, which was earlier stored in this D0 will get discarded.
So in this way, after the four clock pulses, this 1 0 1 0 data will get shifted into the register.
And as you can see, at every clock edge, the data is moving from left to right side. And
that is why this register is known as the shift right type of SISO register.
So if you see the same thing in the timing diagram, then this is how it will look like.
So as you can see, at the clock edge the input to the flip flop is equal to 0. And this input
is applied to the MSB. That means at the first clock edge the output of this Q3 will remain 0.
Similarly, at the next clock edge, the input to the D3 is equal to 1. Therefore its output will
become 1. But as you know, the flip flop will take certain time to respond to the present input. That
means the output Q3 will change only after the propagation delay of the flip flop. Likewise,
the next input of the flip flop is equal to 0. That means at the third clock edge the Q3 output
will become 0. And once again it will take certain time to respond to this present input. Likewise at
the fourth clock edge, the input to the D3 flip flop is equal to 1. And therefore its output will
become 1. So this is the timing diagram of the Q3 output. And since the Q3 output is connected
to this D2 flip flop, so this D2 flip flop will respond to this Q3 output at the every clock edge.
So here at the clock edge, since the Q3 is 0, so the Q2 will also remain 0. Similarly at the second
clock edge since the Q3 is once again 0, so this Q2 will remain 0. Likewise at the third clock edge
since the Q3 is equal to 1, so this Q2 will also become 1. But as you know, it will take certain
time to respond to this Q3 output. Likewise at the fourth clock edge since the Q3 is equal to 0,
so this Q2 will become 0. And once again it will take certain time to respond to this Q3 output.
So this is the timing diagram of the Q2 output. Similarly we can also see the timing diagram
of this Q1 and Q0. So as you know, this Q2 output is connected to the D1 input.
That means this D1 flip flop will respond to the Q2 output. So once again at the first clock edge
since the Q2 is equal to 0, so this Q1 will remain 0. Likewise at the second and the third clock edge
also, this Q2 output is equal to 0. And therefore, this Q1 output will remain 0. And at the fourth
clock edge if you see, now this Q2 output is equal to 1. Therefore this Q1 output will also become
1. And once again it will become 1, only after the propagation delay of the flip flop. So this is the
timing diagram of the Q1 output. And likewise we can also see this Q0 waveform. So as you can see,
at every clock edge since the Q1 output is equal to 0, so this Q0 will remain 0 up to the 4 clock
edges. So just after the first clock edge if you see the outputs of this Q3 Q2 Q1 and Q0, then they
are 0 0 0 0. Similarly after the second clock edge if you see these four outputs then they are 1 0
0 0. That is the third row. And likewise during the third clock edge these outputs are 0 1
0 0, that is the fourth row. And lastly after the fourth clock edge, these four outputs are 1 0
1 0. Which represents the last row. So in this way, with the help of the timing diagram also,
we can also see the working of this shift right register. So of course if you want to
take this data outside, then once again we will require four clock pulses. And as you can see,
first of all this LSB will move outside. So in this serial IN serial OUT type of shift register,
once we move the data inside the shift register, then we need to make sure that this input line
will get disabled. Because if this input line is not disabled, then the random data will be
available at the input side. And due to that, in the subsequent clock edges, any arbitrary
value will get stored inside the shift register. So to avoid that, we also need to have the control
over the input line. And that can be achieved with the little modification in the existing circuit.
So here as you can see, when this enable input is high, then the input will reach to this D3 input.
And similarly if you see for the subsequent stages, then whenever this enable input is high,
then the first AND gate will get enabled. And because of that,
the output of the previous stage is connected to the input of the next flip flop. So in this way,
whenever this enable input is high, then the circuit will work as the shift right register.
But whenever this enable input is low, then the first AND gate will get disabled. And at that
time the second AND gate will get enabled. So as you can see through this AND gate,
the output of the existing flip flop is connected back to the input.
That means whenever this enable input is low, then the flip flop will retain its present state. And
whenever this enable input becomes high, then only it will shift the data from the input line.
So in this way, we can add the control over the input line. Now here, if you observe this
combinational block, which consists of the two AND gates, and one OR gate, then it is nothing but the
2 x 1 multiplexer. So here this enable input is given to the selection line of the multiplexer.
So whenever this enable input is high, then the inputs will get connected to the flip flops. And
whenever this enable input is low, then this 0 line will get enabled. That means in that case,
the output of the flip flop will get connected back to the input side. So in this way, by adding
the multiplexer, we can have the control over the input line. So this is all about the shift right
type of shift register. Similarly we can also have the shift left type of shift register. Where the
data is entered from the right side, and it is moving towards the left side. So in this case,
the input is applied from the LSB of the register, while the output is taken from the MSB.
So here, this is the LSB of the register, and this is the MSB. So as you can see, the input is
applied to the LSB of the register, and the output is taken from the MSB. So typically this serial IN
serial OUT type of shift register is used for the arithmetic operations, as well as for giving the
time delay. Because if you see over here, then for the n bit shift register, once we apply the input
then after the n clock pulses, the same input is appearing at the output side. For example,
if we apply the 1 at the first clock edge, then the same is appearing at the output after the
four clock edges. So in this way, with the help of the shift register, we can provide the delay of n
times T clock duration. But apart from that, it is also used for doing certain arithmetic operations.
And to perform these arithmetic operations, it is required to shift the data either in left side or
right side depending on the arithmetic operations. So for that, this bi-directional shift registers
are used. So in this bi-directional shift register, it is possible to move the data from
right to left or left to right side. So here as you can see, to perform this bi-directional shift
operation, this 2 x 1 multiplexers have been used. So whenever this line is equal to 1, then
the shift right operation will get performed. So in that case, this input will appear at the MSB,
while at the same time the output of this flip flop will get connected to the next stage.
Because whenever, this R is equal to 1, then the 1 input line will get enabled. And because of that,
the output of the one flip flop is get connected to the next stage. That means whenever this R is
equal to 1, then the shift right operation will get performed. Similarly when this R is equal
to 0, then this 0 line will get enabled. So in that case, this input will get applied to the
LSB. And now is output of the one flip flop is connected to the previous stage. That means now
this Q0 will get connected to the D1. And likewise the output of the D1 will get connected to the D2.
So in this way, when this line is equal to 0, then the shift left operation will get performed.
And in this way, it is possible to perform the bi-directional operation. So in the next video,
we will see some applications of this SISO register, and we will see that how we can perform
the different arithmetic operations, with the help of this shift registers. But I hope in this video,
you understood the working of this serial IN serial OUT type of shift register. So if you
have any questions or suggestions, then do let me know here in the comment section below. If
you like this video, hit the like button and subscribe the channel for more such videos.
Weitere ähnliche Videos ansehen
5.0 / 5 (0 votes)