A package for the 128-bit version of the Advanced Encryption Standard (AES) design. A couple of types, constants, and functions are defined herein, which are used throughout the whole design.
General Information
File | aes128Pkg.sv |
Title | AES-128 package |
Project | VLSI Book AES-128 Example |
Author | Michael Muehlberghuber (mb.nosp@m.gh@iis.ee..nosp@m.ethz.ch) |
Company | Integrated Systems Laboratory, ETH Zurich |
Copyright | Copyright © 2014 Integrated Systems Laboratory, ETH Zurich |
File Created | 2014-10-16 |
Last Updated | 2014-10-16 |
Platform | Simulation=QuestaSim; Synthesis=Synopsys |
Standard | SystemVerilog 1800-2009 |
Revision Control System Information
File ID | $Id: aes128Pkg.sv 33 2014-10-22 07:26:02Z u59323933 $ |
Revision | $Revision: 33 $ |
Local Date | $Date: 2014-10-22 09:26:02 +0200 (Wed, 22 Oct 2014) $ |
Modified By | $Author: u59323933 $ |
Major Revisions
2014-10-16 (v1.0) | Created (mbgh) |
Summary
aes128Pkg | A package for the 128-bit version of the Advanced Encryption Standard (AES) design. |
Types | |
Byte | A synonym for a logic[7:0]. |
Word | A word made up of four Bytes. |
Matrix | A matrix made up of four Words. |
roundkeyArrayType | An array for holding 11 round keys (each of them represented using a logic[127:0]). |
Methods | |
to_word | Converts a Word to a logic[31:0]. |
shift_rows | Shifts the rows of a provided Matrix as defined for AES. |
xor_matrix_logic | Perform an XOR operation given a Matrix and a logic[127:0]. |