rotW <= w(3)(23 downto 0) & w(3)(31 downto 24);
subRotW(8*(i+1)-1 downto 8*i) <= subKey(conv_integer(rotW(8*(i+1)-1 downto 8*i)));
I know that rotW is being populated by the values from w backwards, but can someone tell me whats going on in the next line? is it converting the value from rotW to an integer then storing it in subKey?
By looking at the second line, it should execute as you mentioned because the "conv_integer" function converts an argument of type integer,unsigned, signed or std_ulogic to an integer return value. This function also has limitation range corresponds to 31 bit unsigned value or signed value, it can`t convert an argument outside of this range.