Bidirectional Shift Registers

Discussion in 'Homework Help' started by full, Sep 27, 2014.

  1. full

    Thread Starter Member

    May 3, 2014
    Hello everyone,
    I have homework in Bidirectional ...
    this is question:
    I change the 42 decimal to binary (0101010)
    and but the binary (0101010) in clk 0
    and complete the truth table....
    I do same this true?
  2. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    I can't be sure but it looks like the shift register holds 8 bits. The binary representation of decimal 42 goes into the data registers (not shown on the timing diagram). I'd label them D0 through D7.
    Then, for each transition of the clock (clk) what happens to the data registers? What signal does the action depend on? I'd update a diagram, including the data registers, clk, and right/left, for each clock period to show what happens. My diagram would have ten rows, one for each bit in the data register, one row for the click and one for right/left.
    full likes this.
  3. full

    Thread Starter Member

    May 3, 2014
    I ask whith my lecturer for 42 decimal to binary :
    First change 4=> 0100
    Second change 2=> 0010
    mean data in put is => 01000010
    This is true?
    Last edited: Oct 1, 2014
  4. MrCarlos

    Active Member

    Jan 2, 2010
    Hello full

    It's a little -Unclear- what you say in your post #3.

    What says in the header of the image that you enclose in your post #1 is this:
    Determine the state of the register after each clock pulse for the RIGHT/LEFT control waveform given.
    HIGH enables shift right and LOW enables shift left.
    The register is initially storing the decimal number forty two.
    There is a LOW on the data-input line.

    What you need to answer is:
    The state of the register after each clock Pulse.
    Then take into consideration the following part of the sentence:
    for the RIGHT/LEFT Control waveform given.
    and, moreover, this assertion: HIGH Enables shift right and LOW Enables shift left.

    "After each clock pulse" refers to the transition from low level(0) to high level(1). Exactly at that Instant.
    I count 12 these transitions.

    Another thing to keep in mind is that during those 12 clock pulses the input named data-in remains low(0).
    So each time you move to the right enter a low(0) to register.
    But now do not know what happens to the least significant BIT(LSB) When it is Shift Left.
    We will assume that it is also a low level(0).
    So and so on.

    Other things to keep in mind are:
    If you shift a binary number to the left, this number is multiplied by 2.
    If you shift a binary number to the right, this number is divided by 2.
    So if you have no software tools to shift those BITs, you can use the calculator that has the MicroSoft Windows system.
    But first you have to know how many times you have to Shift on the left(multiply by 2) and how many to the right(divide by 2).
    In the picture attached you can see clearly how many times Shift right and left: The Registry BITs.
    1 Left.
    3 Right.
    2 Left.
    1 Right.
    1 Left.
    2 Right.
    2 Left.
    Performed this exercise with the Windows calculator. Remember that 2 in binary is 10 (one zero).

    Another way to perform this exercise is using a spreadsheet in Microsoft Excel.
    A BIT in each cell.
    With the mouse you select all BITs of the number 00101010 (42).
    Remember that your register is 8 bits wide. (SRG 8).
    Where originally put that number will be the registers of the Shift Register has.
    So you will move to the Left or Right according to the table above.
    Since you selected all BITs of that number, you can move them anywhere

    !try! is not so difficult
  5. full

    Thread Starter Member

    May 3, 2014
    thanks a lot sir for help me..
    now is very clear for me how I can do problem in direction shift...
    but the answer for this problem in this truth table (from my note in class ) :

    Last edited: Oct 3, 2014