library ieee;
use ieee.std_logic_1164.all;

package mine is
  function rotate (invect : std_logic_vector; n : integer) return std_logic_vector;
end package mine;

package body mine is
  function rotate (invect : std_logic_vector; n : integer) return std_logic_vector is
    variable temp : std_logic_vector(invect'length-1 downto 0);
  begin
    if (n > invect'length) then
      report "Error, can't rotate that much"
      severity warning;
      return invect;
    end if;
    temp := invect;
    for i in n downto 1 loop
      temp := temp(invect'length-2 downto 0) & temp(invect'length-1);
    end loop;
    return temp;
  end function rotate;

end mine;

