| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // Register Package auto-generated by `reggen` containing data structure |
| |
| package kmac_reg_pkg; |
| |
| // Param list |
| parameter int NumWordsKey = 16; |
| parameter int NumWordsPrefix = 11; |
| parameter int unsigned HashCntW = 10; |
| parameter int NumSeedsEntropyLfsr = 5; |
| parameter int NumAlerts = 2; |
| |
| // Address widths within the block |
| parameter int BlockAw = 12; |
| |
| //////////////////////////// |
| // Typedefs for registers // |
| //////////////////////////// |
| |
| typedef struct packed { |
| struct packed { |
| logic q; |
| } kmac_done; |
| struct packed { |
| logic q; |
| } fifo_empty; |
| struct packed { |
| logic q; |
| } kmac_err; |
| } kmac_reg2hw_intr_state_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic q; |
| } kmac_done; |
| struct packed { |
| logic q; |
| } fifo_empty; |
| struct packed { |
| logic q; |
| } kmac_err; |
| } kmac_reg2hw_intr_enable_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic q; |
| logic qe; |
| } kmac_done; |
| struct packed { |
| logic q; |
| logic qe; |
| } fifo_empty; |
| struct packed { |
| logic q; |
| logic qe; |
| } kmac_err; |
| } kmac_reg2hw_intr_test_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic q; |
| logic qe; |
| } recov_operation_err; |
| struct packed { |
| logic q; |
| logic qe; |
| } fatal_fault_err; |
| } kmac_reg2hw_alert_test_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic q; |
| logic qe; |
| } kmac_en; |
| struct packed { |
| logic [2:0] q; |
| logic qe; |
| } kstrength; |
| struct packed { |
| logic [1:0] q; |
| logic qe; |
| } mode; |
| struct packed { |
| logic q; |
| logic qe; |
| } msg_endianness; |
| struct packed { |
| logic q; |
| logic qe; |
| } state_endianness; |
| struct packed { |
| logic q; |
| logic qe; |
| } sideload; |
| struct packed { |
| logic [1:0] q; |
| logic qe; |
| } entropy_mode; |
| struct packed { |
| logic q; |
| logic qe; |
| } entropy_fast_process; |
| struct packed { |
| logic q; |
| logic qe; |
| } msg_mask; |
| struct packed { |
| logic q; |
| logic qe; |
| } entropy_ready; |
| struct packed { |
| logic q; |
| logic qe; |
| } err_processed; |
| struct packed { |
| logic q; |
| logic qe; |
| } en_unsupported_modestrength; |
| } kmac_reg2hw_cfg_shadowed_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic [3:0] q; |
| logic qe; |
| } cmd; |
| struct packed { |
| logic q; |
| logic qe; |
| } entropy_req; |
| struct packed { |
| logic q; |
| logic qe; |
| } hash_cnt_clr; |
| } kmac_reg2hw_cmd_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic [9:0] q; |
| } prescaler; |
| struct packed { |
| logic [15:0] q; |
| } wait_timer; |
| } kmac_reg2hw_entropy_period_reg_t; |
| |
| typedef struct packed { |
| logic [9:0] q; |
| } kmac_reg2hw_entropy_refresh_threshold_shadowed_reg_t; |
| |
| typedef struct packed { |
| logic [31:0] q; |
| logic qe; |
| } kmac_reg2hw_entropy_seed_mreg_t; |
| |
| typedef struct packed { |
| logic [31:0] q; |
| logic qe; |
| } kmac_reg2hw_key_share0_mreg_t; |
| |
| typedef struct packed { |
| logic [31:0] q; |
| logic qe; |
| } kmac_reg2hw_key_share1_mreg_t; |
| |
| typedef struct packed { |
| logic [2:0] q; |
| } kmac_reg2hw_key_len_reg_t; |
| |
| typedef struct packed { |
| logic [31:0] q; |
| } kmac_reg2hw_prefix_mreg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic d; |
| logic de; |
| } kmac_done; |
| struct packed { |
| logic d; |
| logic de; |
| } fifo_empty; |
| struct packed { |
| logic d; |
| logic de; |
| } kmac_err; |
| } kmac_hw2reg_intr_state_reg_t; |
| |
| typedef struct packed { |
| logic d; |
| } kmac_hw2reg_cfg_regwen_reg_t; |
| |
| typedef struct packed { |
| struct packed { |
| logic d; |
| } sha3_idle; |
| struct packed { |
| logic d; |
| } sha3_absorb; |
| struct packed { |
| logic d; |
| } sha3_squeeze; |
| struct packed { |
| logic [4:0] d; |
| } fifo_depth; |
| struct packed { |
| logic d; |
| } fifo_empty; |
| struct packed { |
| logic d; |
| } fifo_full; |
| struct packed { |
| logic d; |
| } alert_fatal_fault; |
| struct packed { |
| logic d; |
| } alert_recov_ctrl_update_err; |
| } kmac_hw2reg_status_reg_t; |
| |
| typedef struct packed { |
| logic [9:0] d; |
| logic de; |
| } kmac_hw2reg_entropy_refresh_hash_cnt_reg_t; |
| |
| typedef struct packed { |
| logic [31:0] d; |
| logic de; |
| } kmac_hw2reg_err_code_reg_t; |
| |
| // Register -> HW type |
| typedef struct packed { |
| kmac_reg2hw_intr_state_reg_t intr_state; // [1664:1662] |
| kmac_reg2hw_intr_enable_reg_t intr_enable; // [1661:1659] |
| kmac_reg2hw_intr_test_reg_t intr_test; // [1658:1653] |
| kmac_reg2hw_alert_test_reg_t alert_test; // [1652:1649] |
| kmac_reg2hw_cfg_shadowed_reg_t cfg_shadowed; // [1648:1621] |
| kmac_reg2hw_cmd_reg_t cmd; // [1620:1612] |
| kmac_reg2hw_entropy_period_reg_t entropy_period; // [1611:1586] |
| kmac_reg2hw_entropy_refresh_threshold_shadowed_reg_t |
| entropy_refresh_threshold_shadowed; // [1585:1576] |
| kmac_reg2hw_entropy_seed_mreg_t [4:0] entropy_seed; // [1575:1411] |
| kmac_reg2hw_key_share0_mreg_t [15:0] key_share0; // [1410:883] |
| kmac_reg2hw_key_share1_mreg_t [15:0] key_share1; // [882:355] |
| kmac_reg2hw_key_len_reg_t key_len; // [354:352] |
| kmac_reg2hw_prefix_mreg_t [10:0] prefix; // [351:0] |
| } kmac_reg2hw_t; |
| |
| // HW -> register type |
| typedef struct packed { |
| kmac_hw2reg_intr_state_reg_t intr_state; // [62:57] |
| kmac_hw2reg_cfg_regwen_reg_t cfg_regwen; // [56:56] |
| kmac_hw2reg_status_reg_t status; // [55:44] |
| kmac_hw2reg_entropy_refresh_hash_cnt_reg_t entropy_refresh_hash_cnt; // [43:33] |
| kmac_hw2reg_err_code_reg_t err_code; // [32:0] |
| } kmac_hw2reg_t; |
| |
| // Register offsets |
| parameter logic [BlockAw-1:0] KMAC_INTR_STATE_OFFSET = 12'h 0; |
| parameter logic [BlockAw-1:0] KMAC_INTR_ENABLE_OFFSET = 12'h 4; |
| parameter logic [BlockAw-1:0] KMAC_INTR_TEST_OFFSET = 12'h 8; |
| parameter logic [BlockAw-1:0] KMAC_ALERT_TEST_OFFSET = 12'h c; |
| parameter logic [BlockAw-1:0] KMAC_CFG_REGWEN_OFFSET = 12'h 10; |
| parameter logic [BlockAw-1:0] KMAC_CFG_SHADOWED_OFFSET = 12'h 14; |
| parameter logic [BlockAw-1:0] KMAC_CMD_OFFSET = 12'h 18; |
| parameter logic [BlockAw-1:0] KMAC_STATUS_OFFSET = 12'h 1c; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_PERIOD_OFFSET = 12'h 20; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_REFRESH_HASH_CNT_OFFSET = 12'h 24; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_REFRESH_THRESHOLD_SHADOWED_OFFSET = 12'h 28; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_SEED_0_OFFSET = 12'h 2c; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_SEED_1_OFFSET = 12'h 30; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_SEED_2_OFFSET = 12'h 34; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_SEED_3_OFFSET = 12'h 38; |
| parameter logic [BlockAw-1:0] KMAC_ENTROPY_SEED_4_OFFSET = 12'h 3c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_0_OFFSET = 12'h 40; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_1_OFFSET = 12'h 44; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_2_OFFSET = 12'h 48; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_3_OFFSET = 12'h 4c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_4_OFFSET = 12'h 50; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_5_OFFSET = 12'h 54; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_6_OFFSET = 12'h 58; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_7_OFFSET = 12'h 5c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_8_OFFSET = 12'h 60; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_9_OFFSET = 12'h 64; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_10_OFFSET = 12'h 68; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_11_OFFSET = 12'h 6c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_12_OFFSET = 12'h 70; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_13_OFFSET = 12'h 74; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_14_OFFSET = 12'h 78; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE0_15_OFFSET = 12'h 7c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_0_OFFSET = 12'h 80; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_1_OFFSET = 12'h 84; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_2_OFFSET = 12'h 88; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_3_OFFSET = 12'h 8c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_4_OFFSET = 12'h 90; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_5_OFFSET = 12'h 94; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_6_OFFSET = 12'h 98; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_7_OFFSET = 12'h 9c; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_8_OFFSET = 12'h a0; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_9_OFFSET = 12'h a4; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_10_OFFSET = 12'h a8; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_11_OFFSET = 12'h ac; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_12_OFFSET = 12'h b0; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_13_OFFSET = 12'h b4; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_14_OFFSET = 12'h b8; |
| parameter logic [BlockAw-1:0] KMAC_KEY_SHARE1_15_OFFSET = 12'h bc; |
| parameter logic [BlockAw-1:0] KMAC_KEY_LEN_OFFSET = 12'h c0; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_0_OFFSET = 12'h c4; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_1_OFFSET = 12'h c8; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_2_OFFSET = 12'h cc; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_3_OFFSET = 12'h d0; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_4_OFFSET = 12'h d4; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_5_OFFSET = 12'h d8; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_6_OFFSET = 12'h dc; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_7_OFFSET = 12'h e0; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_8_OFFSET = 12'h e4; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_9_OFFSET = 12'h e8; |
| parameter logic [BlockAw-1:0] KMAC_PREFIX_10_OFFSET = 12'h ec; |
| parameter logic [BlockAw-1:0] KMAC_ERR_CODE_OFFSET = 12'h f0; |
| |
| // Reset values for hwext registers and their fields |
| parameter logic [2:0] KMAC_INTR_TEST_RESVAL = 3'h 0; |
| parameter logic [0:0] KMAC_INTR_TEST_KMAC_DONE_RESVAL = 1'h 0; |
| parameter logic [0:0] KMAC_INTR_TEST_FIFO_EMPTY_RESVAL = 1'h 0; |
| parameter logic [0:0] KMAC_INTR_TEST_KMAC_ERR_RESVAL = 1'h 0; |
| parameter logic [1:0] KMAC_ALERT_TEST_RESVAL = 2'h 0; |
| parameter logic [0:0] KMAC_ALERT_TEST_RECOV_OPERATION_ERR_RESVAL = 1'h 0; |
| parameter logic [0:0] KMAC_ALERT_TEST_FATAL_FAULT_ERR_RESVAL = 1'h 0; |
| parameter logic [0:0] KMAC_CFG_REGWEN_RESVAL = 1'h 1; |
| parameter logic [0:0] KMAC_CFG_REGWEN_EN_RESVAL = 1'h 1; |
| parameter logic [9:0] KMAC_CMD_RESVAL = 10'h 0; |
| parameter logic [17:0] KMAC_STATUS_RESVAL = 18'h 4001; |
| parameter logic [0:0] KMAC_STATUS_SHA3_IDLE_RESVAL = 1'h 1; |
| parameter logic [0:0] KMAC_STATUS_FIFO_EMPTY_RESVAL = 1'h 1; |
| parameter logic [0:0] KMAC_STATUS_ALERT_FATAL_FAULT_RESVAL = 1'h 0; |
| parameter logic [0:0] KMAC_STATUS_ALERT_RECOV_CTRL_UPDATE_ERR_RESVAL = 1'h 0; |
| parameter logic [31:0] KMAC_ENTROPY_SEED_0_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_ENTROPY_SEED_1_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_ENTROPY_SEED_2_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_ENTROPY_SEED_3_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_ENTROPY_SEED_4_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_0_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_1_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_2_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_3_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_4_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_5_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_6_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_7_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_8_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_9_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_10_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_11_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_12_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_13_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_14_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE0_15_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_0_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_1_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_2_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_3_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_4_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_5_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_6_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_7_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_8_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_9_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_10_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_11_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_12_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_13_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_14_RESVAL = 32'h 0; |
| parameter logic [31:0] KMAC_KEY_SHARE1_15_RESVAL = 32'h 0; |
| |
| // Window parameters |
| parameter logic [BlockAw-1:0] KMAC_STATE_OFFSET = 12'h 400; |
| parameter int unsigned KMAC_STATE_SIZE = 'h 200; |
| parameter logic [BlockAw-1:0] KMAC_MSG_FIFO_OFFSET = 12'h 800; |
| parameter int unsigned KMAC_MSG_FIFO_SIZE = 'h 800; |
| |
| // Register index |
| typedef enum int { |
| KMAC_INTR_STATE, |
| KMAC_INTR_ENABLE, |
| KMAC_INTR_TEST, |
| KMAC_ALERT_TEST, |
| KMAC_CFG_REGWEN, |
| KMAC_CFG_SHADOWED, |
| KMAC_CMD, |
| KMAC_STATUS, |
| KMAC_ENTROPY_PERIOD, |
| KMAC_ENTROPY_REFRESH_HASH_CNT, |
| KMAC_ENTROPY_REFRESH_THRESHOLD_SHADOWED, |
| KMAC_ENTROPY_SEED_0, |
| KMAC_ENTROPY_SEED_1, |
| KMAC_ENTROPY_SEED_2, |
| KMAC_ENTROPY_SEED_3, |
| KMAC_ENTROPY_SEED_4, |
| KMAC_KEY_SHARE0_0, |
| KMAC_KEY_SHARE0_1, |
| KMAC_KEY_SHARE0_2, |
| KMAC_KEY_SHARE0_3, |
| KMAC_KEY_SHARE0_4, |
| KMAC_KEY_SHARE0_5, |
| KMAC_KEY_SHARE0_6, |
| KMAC_KEY_SHARE0_7, |
| KMAC_KEY_SHARE0_8, |
| KMAC_KEY_SHARE0_9, |
| KMAC_KEY_SHARE0_10, |
| KMAC_KEY_SHARE0_11, |
| KMAC_KEY_SHARE0_12, |
| KMAC_KEY_SHARE0_13, |
| KMAC_KEY_SHARE0_14, |
| KMAC_KEY_SHARE0_15, |
| KMAC_KEY_SHARE1_0, |
| KMAC_KEY_SHARE1_1, |
| KMAC_KEY_SHARE1_2, |
| KMAC_KEY_SHARE1_3, |
| KMAC_KEY_SHARE1_4, |
| KMAC_KEY_SHARE1_5, |
| KMAC_KEY_SHARE1_6, |
| KMAC_KEY_SHARE1_7, |
| KMAC_KEY_SHARE1_8, |
| KMAC_KEY_SHARE1_9, |
| KMAC_KEY_SHARE1_10, |
| KMAC_KEY_SHARE1_11, |
| KMAC_KEY_SHARE1_12, |
| KMAC_KEY_SHARE1_13, |
| KMAC_KEY_SHARE1_14, |
| KMAC_KEY_SHARE1_15, |
| KMAC_KEY_LEN, |
| KMAC_PREFIX_0, |
| KMAC_PREFIX_1, |
| KMAC_PREFIX_2, |
| KMAC_PREFIX_3, |
| KMAC_PREFIX_4, |
| KMAC_PREFIX_5, |
| KMAC_PREFIX_6, |
| KMAC_PREFIX_7, |
| KMAC_PREFIX_8, |
| KMAC_PREFIX_9, |
| KMAC_PREFIX_10, |
| KMAC_ERR_CODE |
| } kmac_id_e; |
| |
| // Register width information to check illegal writes |
| parameter logic [3:0] KMAC_PERMIT [61] = '{ |
| 4'b 0001, // index[ 0] KMAC_INTR_STATE |
| 4'b 0001, // index[ 1] KMAC_INTR_ENABLE |
| 4'b 0001, // index[ 2] KMAC_INTR_TEST |
| 4'b 0001, // index[ 3] KMAC_ALERT_TEST |
| 4'b 0001, // index[ 4] KMAC_CFG_REGWEN |
| 4'b 1111, // index[ 5] KMAC_CFG_SHADOWED |
| 4'b 0011, // index[ 6] KMAC_CMD |
| 4'b 0111, // index[ 7] KMAC_STATUS |
| 4'b 1111, // index[ 8] KMAC_ENTROPY_PERIOD |
| 4'b 0011, // index[ 9] KMAC_ENTROPY_REFRESH_HASH_CNT |
| 4'b 0011, // index[10] KMAC_ENTROPY_REFRESH_THRESHOLD_SHADOWED |
| 4'b 1111, // index[11] KMAC_ENTROPY_SEED_0 |
| 4'b 1111, // index[12] KMAC_ENTROPY_SEED_1 |
| 4'b 1111, // index[13] KMAC_ENTROPY_SEED_2 |
| 4'b 1111, // index[14] KMAC_ENTROPY_SEED_3 |
| 4'b 1111, // index[15] KMAC_ENTROPY_SEED_4 |
| 4'b 1111, // index[16] KMAC_KEY_SHARE0_0 |
| 4'b 1111, // index[17] KMAC_KEY_SHARE0_1 |
| 4'b 1111, // index[18] KMAC_KEY_SHARE0_2 |
| 4'b 1111, // index[19] KMAC_KEY_SHARE0_3 |
| 4'b 1111, // index[20] KMAC_KEY_SHARE0_4 |
| 4'b 1111, // index[21] KMAC_KEY_SHARE0_5 |
| 4'b 1111, // index[22] KMAC_KEY_SHARE0_6 |
| 4'b 1111, // index[23] KMAC_KEY_SHARE0_7 |
| 4'b 1111, // index[24] KMAC_KEY_SHARE0_8 |
| 4'b 1111, // index[25] KMAC_KEY_SHARE0_9 |
| 4'b 1111, // index[26] KMAC_KEY_SHARE0_10 |
| 4'b 1111, // index[27] KMAC_KEY_SHARE0_11 |
| 4'b 1111, // index[28] KMAC_KEY_SHARE0_12 |
| 4'b 1111, // index[29] KMAC_KEY_SHARE0_13 |
| 4'b 1111, // index[30] KMAC_KEY_SHARE0_14 |
| 4'b 1111, // index[31] KMAC_KEY_SHARE0_15 |
| 4'b 1111, // index[32] KMAC_KEY_SHARE1_0 |
| 4'b 1111, // index[33] KMAC_KEY_SHARE1_1 |
| 4'b 1111, // index[34] KMAC_KEY_SHARE1_2 |
| 4'b 1111, // index[35] KMAC_KEY_SHARE1_3 |
| 4'b 1111, // index[36] KMAC_KEY_SHARE1_4 |
| 4'b 1111, // index[37] KMAC_KEY_SHARE1_5 |
| 4'b 1111, // index[38] KMAC_KEY_SHARE1_6 |
| 4'b 1111, // index[39] KMAC_KEY_SHARE1_7 |
| 4'b 1111, // index[40] KMAC_KEY_SHARE1_8 |
| 4'b 1111, // index[41] KMAC_KEY_SHARE1_9 |
| 4'b 1111, // index[42] KMAC_KEY_SHARE1_10 |
| 4'b 1111, // index[43] KMAC_KEY_SHARE1_11 |
| 4'b 1111, // index[44] KMAC_KEY_SHARE1_12 |
| 4'b 1111, // index[45] KMAC_KEY_SHARE1_13 |
| 4'b 1111, // index[46] KMAC_KEY_SHARE1_14 |
| 4'b 1111, // index[47] KMAC_KEY_SHARE1_15 |
| 4'b 0001, // index[48] KMAC_KEY_LEN |
| 4'b 1111, // index[49] KMAC_PREFIX_0 |
| 4'b 1111, // index[50] KMAC_PREFIX_1 |
| 4'b 1111, // index[51] KMAC_PREFIX_2 |
| 4'b 1111, // index[52] KMAC_PREFIX_3 |
| 4'b 1111, // index[53] KMAC_PREFIX_4 |
| 4'b 1111, // index[54] KMAC_PREFIX_5 |
| 4'b 1111, // index[55] KMAC_PREFIX_6 |
| 4'b 1111, // index[56] KMAC_PREFIX_7 |
| 4'b 1111, // index[57] KMAC_PREFIX_8 |
| 4'b 1111, // index[58] KMAC_PREFIX_9 |
| 4'b 1111, // index[59] KMAC_PREFIX_10 |
| 4'b 1111 // index[60] KMAC_ERR_CODE |
| }; |
| |
| endpackage |