Encoding of shift amount

Hi, regarding a question from a test that was shown in rec. 10 ;
The sa input of the L-SHIFT was a 0 concatenated to D[k-1:0]
Why was it necessary to concatenate this zero to D?


Formally, the spec of a shifter is that the shift amount has \lceil \log_2 n' \rceil bits where n' denotes the width of the shifter. The width is 2n so you need k+1 bits in the shift amount. (You could save that bit and the shifter layer associated with it!!!)