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]. |