OpenCores
URL https://opencores.org/ocsvn/aes-128_pipelined_encryption/aes-128_pipelined_encryption/trunk

Subversion Repositories aes-128_pipelined_encryption

[/] [aes-128_pipelined_encryption/] [trunk/] [rtl/] [Round.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 Amr_Salah
/*
2
Project        : AES
3
Standard doc.  : FIPS 197
4
Module name    : Round block
5
Dependancy     :
6
Design doc.    :
7
References     :
8
Description    : This module is used to connect
9
                 SubBytes-ShiftRows-MixColumns-AddRoundKey modules
10
Owner          : Amr Salah
11
*/
12
 
13
`timescale 1 ns/1 ps
14
 
15
module Round
16
#
17
(
18
parameter DATA_W = 128            //data width
19
)
20
(
21
input clk,                        //system clock
22
input reset,                      //asynch active low reset
23
input data_valid_in,              //data valid signal
24
input key_valid_in,               //key valid signal
25
input [DATA_W-1:0] data_in,       //input data
26
input [DATA_W-1:0] round_key,     //round  key
27
output  valid_out,                //output valid signal
28
output  [DATA_W-1:0] data_out     //output data
29
)
30
;
31
                                 //wires for connection 
32
wire [DATA_W-1:0] data_sub2shift;
33
wire [DATA_W-1:0] data_shift2mix;
34
wire [DATA_W-1:0] data_mix2key;
35
 
36
wire valid_sub2shift;
37
wire valid_shift2mix;
38
wire valid_mix2key;
39
 
40
///////////////////////////////SubBytes///////////////////////////////////////////////////
41
SubBytes #(DATA_W) U_SUB (clk,reset,data_valid_in,data_in,valid_sub2shift,data_sub2shift);
42
 
43
//////////////////////////////ShiftRows///////////////////////////////////////////////////////////
44
ShiftRows #(DATA_W) U_SH (clk,reset,valid_sub2shift,data_sub2shift,valid_shift2mix,data_shift2mix);
45
 
46
//////////////////////////////MixColumns//////////////////////////////////////////////////////////
47
MixColumns #(DATA_W) U_MIX (clk,reset,valid_shift2mix,data_shift2mix,valid_mix2key,data_mix2key);
48
 
49
/////////////////////////////AddRoundKey/////////////////////////////////////////////////////////////////////
50
AddRoundKey #(DATA_W) U_KEY (clk,reset,valid_mix2key,key_valid_in,data_mix2key,round_key,valid_out,data_out);
51
 
52
endmodule

powered by: WebSVN 2.1.0

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