I have been working on creating a key generator module for a AES algorithm. Which uses round constant values that change for the ten rounds of encryption. The signal SubroutineWord is created from the S-box array and is 32 bits in size, I have written a line of code but am unsure if it functioning correctly can someone help me out please.
NewWord <= SubRoutineWord xor (RoundConstantV(conv_integer(RoundNum(5 downto 2 ))) & b"000000") when RoundNum(1 downto 0) = "00"
I am unsure if i am right. RoundNum is a constant to count how many rounds that there is. In total there will be ten. Any help would be great thanks in advance.