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

Subversion Repositories aes_highthroughput_lowarea

[/] [aes_highthroughput_lowarea/] [trunk/] [verilog/] [rtl/] [aes.v] - Diff between revs 5 and 7

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 5 Rev 7
Line 10... Line 10...
////                                                              ////
////                                                              ////
////  Author(s):                                                  ////
////  Author(s):                                                  ////
////      - Luo Dongjun,   dongjun_luo@hotmail.com                ////
////      - Luo Dongjun,   dongjun_luo@hotmail.com                ////
////                                                              ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
 
 
 
// uncomment the following define to enable use of distributed RAM implementation 
 
// for XILINX FPGAs instead of block memory.
 
`define XILINX          1
 
 
module aes (
module aes (
   clk,
   clk,
   reset,
   reset,
   i_start,
   i_start,
   i_enable,
   i_enable,
Line 80... Line 85...
generate
generate
for (i=0;i<16;i=i+1)
for (i=0;i<16;i=i+1)
begin : sbox_block
begin : sbox_block
   sbox u_sbox (
   sbox u_sbox (
      .clk(clk),
      .clk(clk),
      .reset_n(~reset),
      .reset(reset),
      .enable(i_enable),
      .enable(i_enable),
      .ende(i_ende),
      .ende(i_ende),
      .din(o_data[i*8+7:i*8]),
      .din(o_data[i*8+7:i*8]),
      .en_dout(en_sb_data[i*8+7:i*8]),
      .en_dout(en_sb_data[i*8+7:i*8]),
      .de_dout(de_sb_data[i*8+7:i*8])
      .de_dout(de_sb_data[i*8+7:i*8])
Line 207... Line 212...
/*****************************************************************************/
/*****************************************************************************/
// round key generation: the expansion keys are stored in 4 16*32 rams or 
// round key generation: the expansion keys are stored in 4 16*32 rams or 
// 2 16*64 rams or 1 16*128 rams
// 2 16*64 rams or 1 16*128 rams
//
//
//assign rd_addr[3:0] = i_ende ? (max_round[3:0] - sb_round_cnt2[3:0]) : sb_round_cnt2[3:0];
//assign rd_addr[3:0] = i_ende ? (max_round[3:0] - sb_round_cnt2[3:0]) : sb_round_cnt2[3:0];
`define XILINX          1
 
 
 
assign round_key[127:0] = {rd_data0[63:0],rd_data1[63:0]};
assign round_key[127:0] = {rd_data0[63:0],rd_data1[63:0]};
 
 
`ifdef XILINX
`ifdef XILINX
reg [3:0] rd_addr;
reg [3:0] rd_addr;
Line 288... Line 292...
// Key Expansion module
// Key Expansion module
//
//
//
//
key_exp u_key_exp (
key_exp u_key_exp (
   .clk(clk),
   .clk(clk),
   .reset_n(~reset),
   .reset(reset),
   .key_in(i_key[255:0]),
   .key_in(i_key[255:0]),
   .key_mode(i_key_mode[1:0]),
   .key_mode(i_key_mode[1:0]),
   .key_start(i_start),
   .key_start(i_start),
   .wr(wr),
   .wr(wr),
   .wr_addr(wr_addr[4:0]),
   .wr_addr(wr_addr[4:0]),

powered by: WebSVN 2.1.0

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