16 bit registers: ier, icand
32 bit registers: prod
prod = ier (zero padded to 32 bits)
loop 16 times
if odd(prod)
then prod := (prod >> 1) + (icand << 16)
else prod := (prod >> 1)
endloop
Design the data-part of the register-transfer level logic needed to
implement this code, clearly labeling all control signals and conditions
sensed.
And, what does this compute?