I am trying to design a basic calculator that can add, sub, mul and div with Logisim. To store the operands I am going to use shift registers. I have recently learned about them and I understand what is serial input and parallel load. I also know how to shift the bits. I have copied this universal shift register from my text book. (Digital Design by Morris Mano)
Here, every time I shift the value (Left or Right) the register shifts only 1 bit. What I need is to be able to shift 4 bits at a time. Because I am storing my digits in BCD, so I need to be able to move all the 4 bits to right or left together on a single clock pulse.
I have searched this on google and all I could find were:
Serial In Serial out Shift Register,
Serial In Parallel out Shift Register,
Parallel In Serial out Shift Register,
Parallel In Parallel out Shift Register.
But all these registers can shift only one bit per clock pulse. So, to be able to store my BCD representations, how can I shift the bits in parallel (4 bits at a time) ?
Or should I somehow control the clock to make it pulse only 4 times? (If yes, please explain me how)
Please mention if there is a better way to store my operands.