Can you someone please explain a 4bit bidirectional shift register ?

Thread Starter

Rain--123

Joined Feb 12, 2015
9
As a part of my coursework I need to understand explain and draw a bi-directional shift register. However after a lot of googling I'm finding it difficult to understand it works and the diagrams for it are different done with a single input and sobne with double.

Thank you
 

WBahn

Joined Mar 31, 2012
30,077
Can you describe, in words, what a bi-directional shift register is or does?

Take you best shot at it and let's work from there.
 

Thread Starter

Rain--123

Joined Feb 12, 2015
9
Can you describe, in words, what a bi-directional shift register is or does?

Take you best shot at it and let's work from there.
Okay so I know it can data in, and output data , from what I saw it's only serial in. It uses a control left/right line with gates that can shift data right and left depending on the logic value of the control line. It is rising edge triggered with clock pulse and uses d type flip flops. That's everything I think is right
 

WBahn

Joined Mar 31, 2012
30,077
Okay so I know it can data in, and output data , from what I saw it's only serial in. It uses a control left/right line with gates that can shift data right and left depending on the logic value of the control line. It is rising edge triggered with clock pulse and uses d type flip flops. That's everything I think is right
That's a good start. Now see if you can refine that a bit. Think (and describe) it in terms of a chain of registers. If the control bit is telling it to shift left, then on the rising clock edge the contents of all of the registers in the chain are transferred to the register to their left while the input data is put in the right-most register and the output is equal to what is in the leftmost register. If the control bit is telling it to shift right, the same things happen but in the other direction.

So see if you can build up the pieces of it. First, make a chain of three registers that shift from left-to-right on each clock edge. Then see if you can make a chain of three registers that either shift right or shift left depending on the value of a control signal. Then see if you take the output from the leftmost register or the rightmost register depending on the value of a control signal. Then see if you can route an input signal to either the leftmost register or the rightmost register depending on the value of a control signal.
 

Thread Starter

Rain--123

Joined Feb 12, 2015
9
That's a good start. Now see if you can refine that a bit. Think (and describe) it in terms of a chain of registers. If the control bit is telling it to shift left, then on the rising clock edge the contents of all of the registers in the chain are transferred to the register to their left while the input data is put in the right-most register and the output is equal to what is in the leftmost register. If the control bit is telling it to shift right, the same things happen but in the other direction.

So see if you can build up the pieces of it. First, make a chain of three registers that shift from left-to-right on each clock edge. Then see if you can make a chain of three registers that either shift right or shift left depending on the value of a control signal. Then see if you take the output from the leftmost register or the rightmost register depending on the value of a control signal. Then see if you can route an input signal to either the leftmost register or the rightmost register depending on the value of a control signal.
Right thank you for this I'll try this. how would I try this on yenka, as in how would I put serial data in on it ?

Thank you again for this
 

Thread Starter

Rain--123

Joined Feb 12, 2015
9
I am abit confused on how if the data is being shifted left, what happens to the data output? As the output is in the is in the right most flip flop?
 

WBahn

Joined Mar 31, 2012
30,077
sorry I've got bit confused now! Can you please tell me explain how he output works when being shifted both ways?
Take a step back and let's say that I have a black box that has two outputs, 'left' and 'right'. I also have a control input called 'dir'. Can you use that black box as part of a larger circuit that has a single output, 'out', that is equal to 'left' if 'dir' is LO and equal to 'right' if 'dir' is HI?
 

Thread Starter

Rain--123

Joined Feb 12, 2015
9
Take a step back and let's say that I have a black box that has two outputs, 'left' and 'right'. I also have a control input called 'dir'. Can you use that black box as part of a larger circuit that has a single output, 'out', that is equal to 'left' if 'dir' is LO and equal to 'right' if 'dir' is HI?
yes you can
 

Thread Starter

Rain--123

Joined Feb 12, 2015
9
we can use it as part of a bigger shift register with one output? Im sorry i get confused easily when understanding stuff: i think i understand what you're trying to say, however i am confused about: (e.g. serial in serial out 4 bit bi-diretcional shift register) if i was to pass the data 1010 through it shifting both ways I'm not sure how it'll work as the data line is connected to first and last flip flop and theres one output. i have attached a picture of the diagram i am talking about if this helps. Thank you
 

WBahn

Joined Mar 31, 2012
30,077
As with many things, it comes down to what you want -- specifically, what the desired behavior of the system is. You can have different specifications for things that are reasonably given the same name. The specs are what count, not the name.
 
Top