I would like to know how can I do a shift operation in VHDL if I have 2 inputs, one input, DATA1 is a number (std_logic_vector), and the second input DATA2 represents the number of times I want to shift the first input. For example, if I must shift left always only one time, the code is
OUTALU <= '0' & DATA1(N-1 downto 1);
If I would like to shift DATA2 times, is it right writing:
for i in 0 to DATA2 loop
OUTALU <= '0' & DATA1(N-1 downto 1);
DATA1 <= OUTALU
end loop;
is it right? I must define signals and assign to these signals DATA1 and DATA2? Thank you for help