Entity: keymgr_sideload_key_ctrl
- File: keymgr_sideload_key_ctrl.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Manage all sideload keys
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| clk_i | input | ||
| rst_ni | input | ||
| init_i | input | ||
| clr_key_i | input | keymgr_sideload_clr_e | clear key just deletes the key |
| wipe_key_i | input | wipe key deletes and renders sideloads useless until reboot | |
| entropy_i | input | [Shares-1:0][RandWidth-1:0] | |
| dest_sel_i | input | keymgr_key_dest_e | |
| key_sel_i | input | keymgr_gen_out_e | |
| data_en_i | input | ||
| data_valid_i | input | ||
| key_i | input | hw_key_req_t | |
| data_i | input | [Shares-1:0][kmac_pkg::AppDigestW-1:0] | |
| prng_en_o | output | ||
| aes_key_o | output | hw_key_req_t | |
| kmac_key_o | output | hw_key_req_t | |
| otbn_key_o | output | otbn_key_req_t |
Signals
| Name | Type | Description |
|---|---|---|
| state_q | keymgr_sideload_e | |
| state_d | keymgr_sideload_e | |
| keys_en | logic | |
| data_truncated | logic [Shares-1:0][KeyWidth-1:0] | |
| clr_all_keys | logic | clear all keys when selected by software, or when wipe command is received |
| aes_clr | logic | |
| kmac_clr | logic | |
| otbn_clr | logic | |
| clr | logic | |
| aes_sel | logic | |
| kmac_sel | logic | |
| otbn_sel | logic | |
| kmac_sideload_key | hw_key_req_t |
Types
| Name | Type | Description |
|---|---|---|
| keymgr_sideload_e | enum logic [2:0] { StSideloadReset, StSideloadIdle, StSideloadWipe, StSideloadStop } |
Enumeration for working state |
Processes
- unnamed: ( @(posedge clk_i or negedge rst_ni) )
Type: always_ff
- unnamed: ( )
Type: always_comb
Instantiations
- u_aes_key: keymgr_sideload_key
- u_otbn_key: keymgr_sideload_key
- u_kmac_key: keymgr_sideload_key