Well, let's step back to basics. A full adder does what:
adds two binary numbers together.
Basicly it counts... so multiplication is counting by two and if you're supposed to come up with a machine that multiplys the inputted number by 2 then what you'd have to do is make the same information as inputted in from the input switches go into both of the full adder's inputs. if I were to enter 1101 (eleven) into the machine, it would add 1101 to 1101, and come out with 01101 (22) because it added itself with itself.
So in theroy you could do that with less parts than admitted.
Multiplying by two is equal to shifting one bit to the left. So you need only the shift register. The overflow bit is used as the MSB. The LSB will always be zero.
Well the full adder can only add 1 bit at a time. So maybe you have to use a shift register and, and shift the bits into the adder and then send the overflow to the D Flop?
Not sure, I think the register only idea seems to work. And the MSB bit in the register just gets sent to the D Flip flop.
The ultimate multiplier by two circuit is connecting the input to the output shifted one bit to the left and connecting the LSB output to zero. i.e. Ip(n) to Op(n+1) and Op(0) to zero.
Or you could go for broke and design a circuit using a gazillion TTL chips that would do the same thing and heat your house at the same time
Do you think it is necessary to use only D flip flops? Can't you use something else? Yes, I do prefer to use JK or T flip flops since they have a complemented NEXT STATE.
lemuel Rapsuk