Shift Register : Serial In Serial Out (SISO) Register Explained | Bidirectional Shift Register

ALL ABOUT ELECTRONICS
24 Sept 202215:21

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

00:00

🔄 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.

05:00

📉 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.

10:02

🔄 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.

15:04

📢 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

A shift register is a type of digital memory storage device capable of storing and shifting binary data. It is composed of a series of flip-flops that hold and move data as per the clock signal. In the video's context, shift registers are discussed in terms of their types and operations, specifically the serial IN serial OUT (SISO) type, which is the main focus of the video.

💡Serial IN Serial OUT (SISO)

SISO refers to a type of shift register where data is entered and removed in a sequential manner, one bit at a time. The video explains how data is shifted either to the right or left within a SISO register, depending on the type. The term is central to the video's theme, as it describes the specific operation of the shift registers being discussed.

💡Shift Right

Shift right is a mode of operation for a shift register where data moves from left to right within the register. The video script describes how, in a shift right SISO register, data is entered from the leftmost flip-flop and moves sequentially to the right, with the least significant bit (LSB) being entered first.

💡Shift Left

Shift left is the opposite of shift right, where data moves from right to left in a shift register. The script explains the concept in the context of a shift left SISO register, where data is entered from the rightmost flip-flop and moves to the left, with the most significant bit (MSB) being entered first.

💡Flip-Flop

A flip-flop is a type of digital circuit that can store a single bit of data. It is a fundamental building block of shift registers. The video script uses the term to describe the components of a shift register that store and shift data bits in response to clock signals.

💡Most Significant Bit (MSB)

The MSB is the leftmost bit in a binary number, representing the highest place value. In the context of the video, the MSB is the starting point for data storage in a shift left SISO register and the end point in a shift right SISO register.

💡Least Significant Bit (LSB)

The LSB is the rightmost bit in a binary number, representing the lowest place value. The video script explains that in a shift right SISO register, the LSB is the first bit to be entered and shifted through the register.

💡Clock Pulse

A clock pulse is a signal used to synchronize digital circuits, such as shift registers. The video script describes how data is shifted within the register on the arrival of each clock pulse, moving bits from one flip-flop to the next.

💡Propagation Delay

Propagation delay refers to the time it takes for a signal to pass through a digital circuit, such as from the input to the output of a flip-flop. The video script mentions this concept to explain the timing of data movement within the shift register in response to clock pulses.

💡Enable Input

The enable input is a control signal used to activate or deactivate certain functions in digital circuits. In the video, the enable input is used to control the shifting operation of the shift register, allowing data to be entered when the signal is high and preventing data entry when it is low.

💡Bi-directional Shift Register

A bi-directional shift register is capable of shifting data both to the left and right, depending on the control signals it receives. The video script explains how this type of register uses multiplexers to control the direction of data shift, allowing for more flexible data manipulation.

💡Multiplexer (MUX)

A multiplexer is a digital device that selects one of many input signals and forwards the selected input to a single output. In the context of the video, a 2x1 multiplexer is used in a bi-directional shift register to control the direction of data shift based on the state of the control signal.

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

play00:07

Hey, friends welcome to the YouTube channel ALL  ABOUT ELECTRONICS. So in the previous video, we  

play00:13

have seen that what is shift register, and we have  also seen the different types of shift register.  

play00:18

So in this video, we will learn about this  serial IN serial OUT type of shift register.  

play00:25

So in the previous video, we have seen that,  in this SISO register, the data is entered into  

play00:31

the register serially, and it is also taken out  serially. Now depending on the direction in which  

play00:37

this data is shifted, we have total two types  of shift registers, that is the shift right or  

play00:43

the shift left registers. So in this shift right  type of SISO register, the data is entered from  

play00:50

the left side, and it is also moving from left to  right. Similarly, in this shift left type of SISO  

play00:57

register, the data is entered from the right  side and it is moving from right to left side.  

play01:04

So first let us talk about the shift right type of  SISO register. So this is the diagram of the 4 bit  

play01:11

shift right type of SISO register. So as you can  see, since it is a serial IN serial OUT type of  

play01:18

shift register, so the output of the one flip flop  is connected to the input of the second flip flop.  

play01:24

And in this shift right type of SISO register,  the input is applied at the leftmost flip flop,  

play01:29

while the output is taken from the rightmost  flip flop. So first let us understand,  

play01:35

how the data moves in this shift right type of  SISO register. So here this flip flop stores  

play01:42

the MSB of the register, while this rightmost  flip flop stores the LSB. And let's say we want  

play01:49

to store this 1 0 1 0 in this shift register.  Where this 1 is the MSB and the 0 is the LSB.  

play01:57

So to move this data, the data will be shifted  in this register, starting from the LSB.  

play02:03

So initially, let's say all the bits of this  register is equal to 0. So whenever there is a  

play02:10

no clock pulse, then irrespective of the input,  all the flip flop will store its current data.  

play02:16

So now starting from the LSB, to shift this 0 into  the shift register, first of all we need to apply  

play02:22

this 0 bit to the input. So now before the arrival  of the clock edge if we see the inputs for the all  

play02:29

the flip-flops then they are these 0 0 and 0.  That means, now once the clock edge arrives,  

play02:36

then all the four flip flops will respond to their  present inputs. That means, if we see the output  

play02:43

of this first stage, then it will become 0. And  likewise, for the remaining three stages also,  

play02:49

the output will become 0. And now whatever data,  which was earlier stored in this last flip flop  

play02:56

will get discarded. So these outputs will be  available at the output line, just after the  

play03:03

propagation delay of the flip flop. And since the  output of the one flip flop is connected to the  

play03:08

next stage, so these outputs will act as an input  for the next stage during the next clock edge.  

play03:15

So now the next bit which we want to transfer  is equal to 1. So the same 1 should be applied  

play03:21

to the input. And at the same time, if we see the  present inputs for the remaining three flip flops,  

play03:27

then they are 0 0 and 0. So now, at the  next clock edge, these four flip flops,  

play03:35

will respond to their present inputs. That means  now, the output of this first flip flop will  

play03:40

become 1. And similarly, this D2 D1 and D0 will  respond to their present inputs. And once again,  

play03:48

now whatever data which was earlier  stored in this D0 will get discarded.  

play03:54

That means after the second clock edge, this  will be the output of the shift register.  

play03:59

And these outputs will act as an input for  the next stage during the next clock edge.  

play04:05

So now at the next clock edge the data which we  want to move into the register is equal to 0.  

play04:11

So the same 0, should be also applied  to the input just before the clock edge.  

play04:17

And at the same time, if you see the remaining  three inputs to the flip flop, then they are 1  

play04:22

0 and 0. So now at the clock edge, all the four  flip flops will respond to their present inputs.  

play04:29

That means now, the output of this D3 will become  0. And similarly, the output of this D2 D1 and D0  

play04:37

will become 1 0 and 0. And earlier, whatever data  which was stored in this D0 will get discarded.  

play04:47

That means after the third clock edge this will be  the data inside the shift register. And finally,  

play04:53

the data which we want to shift into the register  is equal to 1. So the same 1 should also apply to  

play05:00

the input just before the next clock edge. And  at the same time, if we see the inputs for the  

play05:06

remaining three flip flops, then they are 0 1  and 0. That is the output of the previous stage.  

play05:14

So now at the clock edge, once again all the four  flip flops will respond to their present inputs.  

play05:20

That means now, just after the clock  edge, the output of this first flip  

play05:24

flop or the output of this D3 will become 1.  And likewise, the output of this D3 D2 and D0,  

play05:31

will become 0 1 and 0. And whatever data, which  was earlier stored in this D0 will get discarded.  

play05:39

So in this way, after the four clock pulses, this  1 0 1 0 data will get shifted into the register.  

play05:47

And as you can see, at every clock edge, the  data is moving from left to right side. And  

play05:53

that is why this register is known as  the shift right type of SISO register.  

play05:58

So if you see the same thing in the timing  diagram, then this is how it will look like.  

play06:04

So as you can see, at the clock edge the input  to the flip flop is equal to 0. And this input  

play06:11

is applied to the MSB. That means at the first  clock edge the output of this Q3 will remain 0.  

play06:18

Similarly, at the next clock edge, the input to  the D3 is equal to 1. Therefore its output will  

play06:26

become 1. But as you know, the flip flop will take  certain time to respond to the present input. That  

play06:33

means the output Q3 will change only after the  propagation delay of the flip flop. Likewise,  

play06:38

the next input of the flip flop is equal to 0.  That means at the third clock edge the Q3 output  

play06:45

will become 0. And once again it will take certain  time to respond to this present input. Likewise at  

play06:53

the fourth clock edge, the input to the D3 flip  flop is equal to 1. And therefore its output will  

play07:00

become 1. So this is the timing diagram of the  Q3 output. And since the Q3 output is connected  

play07:07

to this D2 flip flop, so this D2 flip flop will  respond to this Q3 output at the every clock edge.  

play07:14

So here at the clock edge, since the Q3 is 0, so  the Q2 will also remain 0. Similarly at the second  

play07:22

clock edge since the Q3 is once again 0, so this  Q2 will remain 0. Likewise at the third clock edge  

play07:30

since the Q3 is equal to 1, so this Q2 will also  become 1. But as you know, it will take certain  

play07:37

time to respond to this Q3 output. Likewise at  the fourth clock edge since the Q3 is equal to 0,  

play07:45

so this Q2 will become 0. And once again it will  take certain time to respond to this Q3 output.  

play07:53

So this is the timing diagram of the Q2 output.  Similarly we can also see the timing diagram  

play07:59

of this Q1 and Q0. So as you know, this  Q2 output is connected to the D1 input.  

play08:06

That means this D1 flip flop will respond to the  Q2 output. So once again at the first clock edge  

play08:12

since the Q2 is equal to 0, so this Q1 will remain  0. Likewise at the second and the third clock edge  

play08:20

also, this Q2 output is equal to 0. And therefore,  this Q1 output will remain 0. And at the fourth  

play08:27

clock edge if you see, now this Q2 output is equal  to 1. Therefore this Q1 output will also become  

play08:34

1. And once again it will become 1, only after the  propagation delay of the flip flop. So this is the  

play08:41

timing diagram of the Q1 output. And likewise we  can also see this Q0 waveform. So as you can see,  

play08:49

at every clock edge since the Q1 output is equal  to 0, so this Q0 will remain 0 up to the 4 clock  

play08:55

edges. So just after the first clock edge if you  see the outputs of this Q3 Q2 Q1 and Q0, then they  

play09:03

are 0 0 0 0. Similarly after the second clock edge  if you see these four outputs then they are 1 0  

play09:13

0 0. That is the third row. And likewise during  the third clock edge these outputs are 0 1  

play09:22

0 0, that is the fourth row. And lastly after the  fourth clock edge, these four outputs are 1 0  

play09:30

1 0. Which represents the last row. So in this  way, with the help of the timing diagram also,  

play09:37

we can also see the working of this shift  right register. So of course if you want to  

play09:43

take this data outside, then once again we will  require four clock pulses. And as you can see,  

play09:49

first of all this LSB will move outside. So in  this serial IN serial OUT type of shift register,  

play09:56

once we move the data inside the shift register,  then we need to make sure that this input line  

play10:01

will get disabled. Because if this input line  is not disabled, then the random data will be  

play10:07

available at the input side. And due to that,  in the subsequent clock edges, any arbitrary  

play10:13

value will get stored inside the shift register.  So to avoid that, we also need to have the control  

play10:18

over the input line. And that can be achieved with  the little modification in the existing circuit.  

play10:26

So here as you can see, when this enable input is  high, then the input will reach to this D3 input.  

play10:32

And similarly if you see for the subsequent  stages, then whenever this enable input is high,  

play10:38

then the first AND gate will get  enabled. And because of that,  

play10:42

the output of the previous stage is connected to  the input of the next flip flop. So in this way,  

play10:48

whenever this enable input is high, then the  circuit will work as the shift right register.  

play10:54

But whenever this enable input is low, then the  first AND gate will get disabled. And at that  

play11:00

time the second AND gate will get enabled.  So as you can see through this AND gate,  

play11:06

the output of the existing flip  flop is connected back to the input.  

play11:11

That means whenever this enable input is low, then  the flip flop will retain its present state. And  

play11:17

whenever this enable input becomes high, then  only it will shift the data from the input line.  

play11:24

So in this way, we can add the control over  the input line. Now here, if you observe this  

play11:30

combinational block, which consists of the two AND  gates, and one OR gate, then it is nothing but the  

play11:34

2 x 1 multiplexer. So here this enable input  is given to the selection line of the multiplexer.  

play11:42

So whenever this enable input is high, then the  inputs will get connected to the flip flops. And  

play11:49

whenever this enable input is low, then this 0  line will get enabled. That means in that case,  

play11:55

the output of the flip flop will get connected  back to the input side. So in this way, by adding  

play12:01

the multiplexer, we can have the control over the  input line. So this is all about the shift right  

play12:07

type of shift register. Similarly we can also have  the shift left type of shift register. Where the  

play12:14

data is entered from the right side, and it is  moving towards the left side. So in this case,  

play12:20

the input is applied from the LSB of the  register, while the output is taken from the MSB.  

play12:26

So here, this is the LSB of the register, and  this is the MSB. So as you can see, the input is  

play12:33

applied to the LSB of the register, and the output  is taken from the MSB. So typically this serial IN  

play12:40

serial OUT type of shift register is used for the  arithmetic operations, as well as for giving the  

play12:45

time delay. Because if you see over here, then for  the n bit shift register, once we apply the input  

play12:52

then after the n clock pulses, the same input  is appearing at the output side. For example,  

play12:58

if we apply the 1 at the first clock edge, then  the same is appearing at the output after the  

play13:03

four clock edges. So in this way, with the help of  the shift register, we can provide the delay of n  

play13:09

times T clock duration. But apart from that, it is  also used for doing certain arithmetic operations.  

play13:16

And to perform these arithmetic operations, it is  required to shift the data either in left side or  

play13:22

right side depending on the arithmetic operations.  So for that, this bi-directional shift registers  

play13:28

are used. So in this bi-directional shift  register, it is possible to move the data from  

play13:34

right to left or left to right side. So here as  you can see, to perform this bi-directional shift  

play13:40

operation, this 2 x 1 multiplexers have been  used. So whenever this line is equal to 1, then  

play13:47

the shift right operation will get performed. So  in that case, this input will appear at the MSB,  

play13:53

while at the same time the output of this flip  flop will get connected to the next stage.  

play13:58

Because whenever, this R is equal to 1, then the 1  input line will get enabled. And because of that,  

play14:06

the output of the one flip flop is get connected  to the next stage. That means whenever this R is  

play14:13

equal to 1, then the shift right operation will  get performed. Similarly when this R is equal  

play14:18

to 0, then this 0 line will get enabled. So in  that case, this input will get applied to the  

play14:26

LSB. And now is output of the one flip flop is  connected to the previous stage. That means now  

play14:33

this Q0 will get connected to the D1. And likewise  the output of the D1 will get connected to the D2.  

play14:42

So in this way, when this line is equal to 0,  then the shift left operation will get performed.  

play14:47

And in this way, it is possible to perform the  bi-directional operation. So in the next video,  

play14:53

we will see some applications of this SISO  register, and we will see that how we can perform  

play14:58

the different arithmetic operations, with the help  of this shift registers. But I hope in this video,  

play15:03

you understood the working of this serial IN  serial OUT type of shift register. So if you  

play15:09

have any questions or suggestions, then do let  me know here in the comment section below. If  

play15:13

you like this video, hit the like button and  subscribe the channel for more such videos.

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
Shift RegistersSerial INSerial OUTElectronics TutorialData ShiftingShift RightShift LeftFlip FlopsTiming DiagramsBi-directional Shift
Besoin d'un résumé en anglais ?