I made a combinational barrel shifter/rotator. Now I have to make an edge triggered one. If you use the control signals to tell the edge-triggered shifter/rotator to shift right by one bit, then if you don’t change the controls, will the output eventually go to 0?
I’m supposed to design it by using a combinational shifter/rotator and a D register. Why is a D register needed?
It doesn’t eventually go to 0, because the output doesn’t get fed back in as an input. A D-register is needed in order to provide sensitivity to the rising edge of the clock since a combinational shifter/rotator isn’t sensitive to it. On the rising edge the D-register will dump whatever it’s holding into the shifter/rotator.