Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Shift Register SISO

Status
Not open for further replies.

sxy

Member
Hi
To store n bit data in shift register
you need n pulses of the clock;
whereas to take out n bit data you need n-1 pulses of clock.
What is the reason for the diference?
thanks
 
That is assuming you can use the first bit in (which will be at the output at the end of the sequence) without any further clock pulses.

If you are eg. feeding the output to another shift register or some kind of clocked or synchronous input, you need eight clocks either way; eg. cascaded shift register ICs or a shift register used as an input to an SPI port on an MCU.

Think of pushing chess or checkers pieces along a row on a board; as you push the eighth in, the first piece moves to the 8th position, which is the output.

It only takes seven more moves to "see" them all in that location - but add another board alongside and after the seven more moves/pushes, the last piece in is still on the first board - it takes eight to fully shift everything to the second board.

I can't see many contexts where the eight in / seven out concept works in practical applications?
 
Thanks for the answer.
You need only 7 pushes to take the 8 pieces from the board?
because the output of 8 bit shift register needs only 7 clock pulses.
I don't think so.
thank you very much.
 
You need only 7 pushes to take the 8 pieces from the board?
No, you only need seven for every piece to be visible in the last square (the output location of the shift register) - because the first in there already at the end of the loading sequence.

But the last piece is still on the board after seven more moves, it's not been removed.

Shifting left to right, after eight "load" moves:
Code:
ABCDEFGH
87654321

After seven more:
Code:
ABCDEFGH-ABCDEFGH
XXXXXXX8-7654321X

Every piece / bit has been in that last H location, but the last is still in the register. It takes eight to actually shift it to the following register in a synchronous system.
 
Thank you for your answer.
So you say thay in order to take out 8 bit data from shift reguster; you need 8 pulses of the clock;
not 7.

But actually you need only 7 not 8.
thank you very much.
 
But actually you need only 7 not 8.
The seven is a fallacy. That is what I'm trying to explain.

You can equally claim that it takes eight to shift in, but zero to read - with a parrallel-out register...
 
Thank you for your answer.
ABCDEFGH-ABCDEFGH
XXXXXXX8-7654321X
The numer 8 in the register;and in order to take it out you need another pulse of the clock; so actually it is 8 clock pulses
not 7.
So how it possible that everyone is not noticing to such a simple thing and claiming that 7 pulses of the clock is needed to take out the eight bits from the register?
thank you very much.
 
The H bit position is the value put on the serial output as a logic level.

After the data is clocked in (8 pulses) bit 1 is in that position and "visible".

It only takes seven more pulses to move bit 8 to that position, to be visible.
It is factual, but irrelevant for practical applications; wordplay rather than reality.
 
Thank you for your answer.
If you want to remove all the 8 bits from the register;
then you should remove them from FF H also;
so I don't understand maby the notion :take out the bits from the register.
thank you very much
 
Last edited:
If the last register value shows at the output when shifted in, then the number of clock pulses for the first bit to arrive at the end equals the number of stored bits, e.g. 1-bit 1CP, 2-bits 2CP, 8-bits 8CP, etc.
 
If you want to remove all the 8 bits from the register;
then you should remove them from FF H also;
Exactly, in any practical application.

The seven shifts stuff is the difference between seeing and using;
eg. back to the chessboard row analogy, if you can only see the 8th space (the shift register output) and you are writing down what you see there as pieces appear, you see the first piece after the end of the eight "in" shifts.

It only takes seven more for you to see and note the rest of the pieces in that last square.

As I said, wordplay; you can "see" it but it's not shifted out to be used in the next stage.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top