Shift Register Implementation

In reply to yourcheers:

You can have multiple assignments to the same variable in the same always block, but the last assignment wins.

When you put the assignment to Input_Delay[0] first, it gets overwritten by the next assignment which is always 0.