OpenCores
URL https://opencores.org/ocsvn/apbtoaes128/apbtoaes128/trunk

Subversion Repositories apbtoaes128

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /apbtoaes128/trunk
    from Rev 14 to Rev 13
    Reverse comparison

Rev 14 → Rev 13

/rtl/key_expander.v
103,7 → 103,7
generate
genvar i;
for(i = 0; i < KEY_NUM; i = i + 1)
begin:KG
begin
assign key[KEY_NUM - 1 - i] = key_in[KEY_WIDTH*(i + 1) - 1 : KEY_WIDTH*i];
end
endgenerate
114,7 → 114,7
generate
genvar j;
for(j = 0; j < KEY_NUM; j = j + 1)
begin:KGO
begin
if(j == 0)
assign key_out[KEY_WIDTH*(KEY_NUM - j) - 1 : KEY_WIDTH*(KEY_NUM - j - 1)] = key[j] ^ g_func;
else
130,18 → 130,14
//=====================================================================================
generate
genvar k;
for(k = 0; k < KEY_NUM; k = k + 1)
begin:GFIG
for(k = 0; k < KEY_NUM; k = k + 1)
assign rot_in[k] = (enc_dec) ? key[KEY_NUM - 1][WORD*(k + 1) - 1 : WORD*k] : key[KEY_NUM - 1][WORD*(k + 1) - 1 : WORD*k] ^ key[KEY_NUM - 2][WORD*(k + 1) - 1 : WORD*k];
end
endgenerate
 
generate
genvar l;
for(l = 0; l < KEY_NUM; l = l + 1)
begin:GFIG1
for(l = 0; l < KEY_NUM; l = l + 1)
assign g_in[WORD*(l + 1) - 1 : WORD*l] = rot_in[(KEY_NUM + l - 1)%KEY_NUM];
end
endgenerate
 
//=====================================================================================
/rtl/datapath.v
263,13 → 263,13
);
 
// IV and BKP Muxs
always@(*)
always @(*)
begin: IV_BKP_MUX
integer i;
iv_mux_out = {32{1'b0}};
bkp_mux_out = {32{1'b0}};
for(i = 0; i < 4; i = i + 1)
begin:IVBKP
begin
if(col_en[i] | iv_sel_rd[i])
begin
iv_mux_out = iv[i];
304,7 → 304,7
genvar l;
 
for(l = 0; l < 4;l=l+1)
begin:IV_BKP_REGISTERS
begin
always @(posedge clk, negedge rst_n)
begin
if(!rst_n)
370,8 → 370,7
// Columns Definition
generate
genvar i;
for(i = 0; i < 4; i = i + 1)
begin:CD
for(i = 0; i < 4; i = i + 1)
always @(posedge clk, negedge rst_n)
begin
if(!rst_n)
379,8 → 378,7
else
if(col_en[3 - i])
col[3 - i] <= col_in[32*(i + 1) - 1 : 32*i];
end
end
end
endgenerate
 
// Shift Rows Operation
436,8 → 434,7
// Key registers
generate
genvar j;
for(j = 0; j < 4; j = j + 1)
begin:KR
for(j = 0; j < 4; j = j + 1)
always @(posedge clk, negedge rst_n)
begin
if(!rst_n)
453,8 → 450,7
if(key_en_sel[3 - j] || key_init || key_host_en[3 - j])
key[3 - j] <= (key_sel_mux) ? key_out[32*(j + 1) - 1 : 32*j] : ( (key_host_en[3 - j]) ? bus_in : key_host[3 - j] );
end
end
end
end
endgenerate
 
assign key_in = {key[0], key[1], key[2], key[3]};
/rtl/mix_columns.v
115,10 → 115,8
//=====================================================================================
generate
genvar i;
for(i = 0 ; i < NUM_WORDS; i = i + 1)
begin:WBT
for(i = 0 ; i < NUM_WORDS; i = i + 1)
assign col[i] = mix_in[WORD_SIZE*(i + 1) - 1: WORD_SIZE*i];
end
endgenerate
 
//=====================================================================================
127,7 → 125,7
generate
genvar j;
for(j = 0; j < NUM_WORDS; j = j + 1)
begin:DMCO
begin
assign sum_p[j] = col[(j + 1)%NUM_WORDS] ^ col[(j + 2)%NUM_WORDS] ^ col[(j + 3)%NUM_WORDS];
assign mix_out_enc[ WORD_SIZE*(j + 1) - 1 : WORD_SIZE*j] = aes_mult_02(col[j] ^ col[(j + NUM_WORDS - 1)%NUM_WORDS]) ^ sum_p[j];
end
/rtl/shift_rows.v
96,13 → 96,9
//=====================================================================================
generate
genvar l,c;
for(l = 0; l < ST_LINE; l = l + 1)
begin:SMG
for(c = 0; c < ST_COL; c = c + 1)
begin:BLOCK
for(l = 0; l < ST_LINE; l = l + 1)
for(c = 0; c < ST_COL; c = c + 1)
assign state[l][c] = data_in[ST_WORD*((ST_COL - c)*ST_LINE - l) - 1 : ST_WORD*((ST_COL - c)*ST_LINE - l - 1)];
end
end
endgenerate
 
//=====================================================================================
110,14 → 106,12
//=====================================================================================
generate
genvar l1,c1;
for(l1 = 0; l1 < ST_LINE; l1 = l1 + 1)
begin:SRO
for(l1 = 0; l1 < ST_LINE; l1 = l1 + 1)
for(c1 = 0; c1 < ST_COL; c1 = c1 + 1)
begin:BLOCK
begin
assign state_sft_l[l1][c1] = state[l1][(c1 + l1)%ST_COL];
assign state_sft_r[l1][c1] = state[l1][(c1 + (ST_COL - l1))%ST_COL];
end
end
end
endgenerate
 
//=====================================================================================
125,13 → 119,11
//=====================================================================================
generate
genvar l2,c2;
for(l2 = 0; l2 < ST_LINE; l2 = l2 + 1)
begin:SMBOT
for(l2 = 0; l2 < ST_LINE; l2 = l2 + 1)
for(c2 = 0; c2 < ST_COL; c2 = c2 + 1)
begin:BLOCK
begin
assign data_out_enc[ST_WORD*((ST_COL - c2)*ST_LINE - l2) - 1 : ST_WORD*((ST_COL - c2)*ST_LINE - l2 - 1)] = state_sft_l[l2][c2];
assign data_out_dec[ST_WORD*((ST_COL - c2)*ST_LINE - l2) - 1 : ST_WORD*((ST_COL - c2)*ST_LINE - l2 - 1)] = state_sft_r[l2][c2];
end
end
end
endgenerate
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.