Entity: aes
- File: aes.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
AES top-level wrapper
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| AES192Enable | bit | 1 | Can be 0 (disable), or 1 (enable). |
| Masking | bit | 1 | Can be 0 (no masking), or |
| SBoxImpl | sbox_impl_e | SBoxImplDom | See aes_pkg.sv |
| SecStartTriggerDelay | int unsigned | 0 | Manual start trigger delay, useful for |
| SecAllowForcingMasks | bit | 0 | Allow forcing masks to 0 using |
| SecSkipPRNGReseeding | bit | 0 | The current SCA setup doesn't provide enough |
| NumAlerts | logic [NumAlerts-1:0] | undefined | resources to implement the infrastucture required for PRNG reseeding (CSRNG, EDN). To enable SCA resistance evaluations, we need to skip reseeding requests. Useful for SCA only. |
| RndCnstClearingLfsrSeed | clearing_lfsr_seed_t | RndCnstClearingLfsrSeedDefault | |
| RndCnstClearingLfsrPerm | clearing_lfsr_perm_t | RndCnstClearingLfsrPermDefault | |
| RndCnstClearingSharePerm | clearing_lfsr_perm_t | RndCnstClearingSharePermDefault | |
| RndCnstMaskingLfsrSeed | masking_lfsr_seed_t | RndCnstMaskingLfsrSeedDefault | |
| RndCnstMskgChunkLfsrPerm | mskg_chunk_lfsr_perm_t | RndCnstMskgChunkLfsrPermDefault |
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clk_i | input | ||
| rst_ni | input | ||
| rst_shadowed_ni | input | ||
| idle_o | output | Idle indicator for clock manager | |
| lc_escalate_en_i | input | Life cycle | |
| clk_edn_i | input | Entropy distribution network (EDN) interface | |
| rst_edn_ni | input | ||
| edn_o | output | ||
| edn_i | input | ||
| tl_i | input | Bus interface | |
| tl_o | output | ||
| alert_rx_i | input | [NumAlerts-1:0] | Alerts |
| alert_tx_o | output | [NumAlerts-1:0] |
Signals
| Name | Type | Description |
|---|---|---|
| reg2hw | aes_reg2hw_t | Signals |
| hw2reg | aes_hw2reg_t | |
| alert | logic [NumAlerts-1:0] | |
| lc_escalate_en | lc_ctrl_pkg::lc_tx_t | |
| edn_req | logic | |
| edn_ack | logic | |
| edn_data | logic [EntropyWidth-1:0] | |
| unused_edn_fips | logic | |
| entropy_clearing_req | logic | |
| entropy_masking_req | logic | |
| entropy_clearing_ack | logic | |
| entropy_masking_ack | logic | |
| intg_err_alert | logic | ////////// Inputs // ////////// Register interface |
| alert_test | logic [NumAlerts-1:0] | ////////// Alerts // ////////// |
Constants
| Name | Type | Value | Description |
|---|---|---|---|
| EntropyWidth | int unsigned | edn_pkg::ENDPOINT_BUS_WIDTH |
Instantiations
- u_reg: aes_reg_top
- u_prim_lc_sync: prim_lc_sync
Description
Synchronize life cycle input
- u_prim_sync_reqack_data: prim_sync_reqack_data
Description
Synchronize EDN interface
- u_aes_core: aes_core
Description
AES core