Forum Discussion

CLyna's avatar
CLyna
Icon for New Contributor rankNew Contributor
6 years ago

Hey, guys, I am trying to understand this piece of code any help would be great

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?

1 Reply

  • Vicky1's avatar
    Vicky1
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    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.

    Regards,

    Vikas