Package: kmac_reg_pkg

Description

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

Constants

Name Type Value Description
NumWordsKey int 16
NumWordsPrefix int 11
HashCntW int unsigned 10
NumAlerts int 1
BlockAw int 12 Address widths within the block
BlockAw logic [BlockAw-1:0] undefined Register offsets
BlockAw logic [BlockAw-1:0] 4
BlockAw logic [BlockAw-1:0] 8
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 10
BlockAw logic [BlockAw-1:0] 14
BlockAw logic [BlockAw-1:0] 18
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 20
BlockAw logic [BlockAw-1:0] 24
BlockAw logic [BlockAw-1:0] 28
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 30
BlockAw logic [BlockAw-1:0] 34
BlockAw logic [BlockAw-1:0] 38
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 40
BlockAw logic [BlockAw-1:0] 44
BlockAw logic [BlockAw-1:0] 48
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 50
BlockAw logic [BlockAw-1:0] 54
BlockAw logic [BlockAw-1:0] 58
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 60
BlockAw logic [BlockAw-1:0] 64
BlockAw logic [BlockAw-1:0] 68
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 70
BlockAw logic [BlockAw-1:0] 74
BlockAw logic [BlockAw-1:0] 78
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 80
BlockAw logic [BlockAw-1:0] 84
BlockAw logic [BlockAw-1:0] 88
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 90
BlockAw logic [BlockAw-1:0] 94
BlockAw logic [BlockAw-1:0] 98
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] a0
BlockAw logic [BlockAw-1:0] a4
BlockAw logic [BlockAw-1:0] a8
BlockAw logic [BlockAw-1:0] ac
BlockAw logic [BlockAw-1:0] b0
BlockAw logic [BlockAw-1:0] b4
BlockAw logic [BlockAw-1:0] b8
BlockAw logic [BlockAw-1:0] bc
BlockAw logic [BlockAw-1:0] c0
BlockAw logic [BlockAw-1:0] c4
BlockAw logic [BlockAw-1:0] c8
BlockAw logic [BlockAw-1:0] cc
BlockAw logic [BlockAw-1:0] d0
BlockAw logic [BlockAw-1:0] d4
BlockAw logic [BlockAw-1:0] d8
BlockAw logic [BlockAw-1:0] dc
BlockAw logic [BlockAw-1:0] e0
KMAC_INTR_TEST_RESVAL logic [2:0] undefined Reset values for hwext registers and their fields
KMAC_INTR_TEST_KMAC_DONE_RESVAL logic [0:0] undefined
KMAC_INTR_TEST_FIFO_EMPTY_RESVAL logic [0:0] undefined
KMAC_INTR_TEST_KMAC_ERR_RESVAL logic [0:0] undefined
KMAC_ALERT_TEST_RESVAL logic [0:0] undefined
KMAC_ALERT_TEST_FATAL_FAULT_RESVAL logic [0:0] undefined
KMAC_CFG_REGWEN_RESVAL logic [0:0] undefined
KMAC_CFG_REGWEN_EN_RESVAL logic [0:0] undefined
KMAC_CMD_RESVAL logic [9:0] undefined
KMAC_STATUS_RESVAL logic [15:0] 4001
KMAC_STATUS_SHA3_IDLE_RESVAL logic [0:0] undefined
KMAC_STATUS_FIFO_EMPTY_RESVAL logic [0:0] undefined
KMAC_KEY_SHARE0_0_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_1_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_2_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_3_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_4_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_5_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_6_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_7_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_8_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_9_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_10_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_11_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_12_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_13_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_14_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE0_15_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_0_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_1_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_2_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_3_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_4_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_5_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_6_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_7_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_8_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_9_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_10_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_11_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_12_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_13_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_14_RESVAL logic [31:0] undefined
KMAC_KEY_SHARE1_15_RESVAL logic [31:0] logic [BlockAw-1:0]
KMAC_STATE_SIZE int unsigned 200
BlockAw logic [BlockAw-1:0] 800
KMAC_MSG_FIFO_SIZE int unsigned 800
KMAC_PERMIT logic [3:0] undefined Register width information to check illegal writes

Types

Name Type Description
kmac_reg2hw_intr_state_reg_t struct packed {
struct packed {
logic q;
} kmac_done;
struct packed {
logic q;
} fifo_empty;
struct packed {
logic q;
} kmac_err;
}
////////////////////////// Typedefs for registers // //////////////////////////
kmac_reg2hw_intr_enable_reg_t struct packed {
struct packed {
logic q;
} kmac_done;
struct packed {
logic q;
} fifo_empty;
struct packed {
logic q;
} kmac_err;
}
kmac_reg2hw_intr_test_reg_t 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_alert_test_reg_t struct packed {
logic q;
logic qe;
}
kmac_reg2hw_cfg_reg_t struct packed {
struct packed {
logic q;
} kmac_en;
struct packed {
logic [2:0] q;
} kstrength;
struct packed {
logic [1:0] q;
} mode;
struct packed {
logic q;
} msg_endianness;
struct packed {
logic q;
} state_endianness;
struct packed {
logic q;
} sideload;
struct packed {
logic [1:0] q;
} entropy_mode;
struct packed {
logic q;
} entropy_fast_process;
struct packed {
logic q;
} entropy_ready;
struct packed {
logic q;
} err_processed;
}
kmac_reg2hw_cmd_reg_t 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_entropy_period_reg_t struct packed {
struct packed {
logic [9:0] q;
} prescaler;
struct packed {
logic [15:0] q;
} wait_timer;
}
kmac_reg2hw_entropy_refresh_reg_t struct packed {
struct packed {
logic [9:0] q;
} threshold;
}
kmac_reg2hw_entropy_seed_lower_reg_t struct packed {
logic [31:0] q;
logic qe;
}
kmac_reg2hw_entropy_seed_upper_reg_t struct packed {
logic [31:0] q;
logic qe;
}
kmac_reg2hw_key_share0_mreg_t struct packed {
logic [31:0] q;
logic qe;
}
kmac_reg2hw_key_share1_mreg_t struct packed {
logic [31:0] q;
logic qe;
}
kmac_reg2hw_key_len_reg_t struct packed {
logic [2:0] q;
}
kmac_reg2hw_prefix_mreg_t struct packed {
logic [31:0] q;
}
kmac_hw2reg_intr_state_reg_t 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_cfg_regwen_reg_t struct packed {
logic d;
}
kmac_hw2reg_cfg_reg_t struct packed {
struct packed {
logic d;
logic de;
} entropy_ready;
struct packed {
logic d;
logic de;
} err_processed;
}
kmac_hw2reg_status_reg_t 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;
}
kmac_hw2reg_entropy_refresh_reg_t struct packed {
struct packed {
logic [9:0] d;
logic de;
} hash_cnt;
}
kmac_hw2reg_err_code_reg_t struct packed {
logic [31:0] d;
logic de;
}
kmac_reg2hw_key_share0_mreg_t struct packed {
kmac_reg2hw_intr_state_reg_t intr_state;
kmac_reg2hw_intr_enable_reg_t intr_enable;
kmac_reg2hw_intr_test_reg_t intr_test;
kmac_reg2hw_alert_test_reg_t alert_test;
kmac_reg2hw_cfg_reg_t cfg;
kmac_reg2hw_cmd_reg_t cmd;
kmac_reg2hw_entropy_period_reg_t entropy_period;
kmac_reg2hw_entropy_refresh_reg_t entropy_refresh;
kmac_reg2hw_entropy_seed_lower_reg_t entropy_seed_lower;
kmac_reg2hw_entropy_seed_upper_reg_t entropy_seed_upper;
kmac_reg2hw_key_share0_mreg_t [15:0] key_share0;
kmac_reg2hw_key_share1_mreg_t [15:0] key_share1;
kmac_reg2hw_key_len_reg_t key_len;
kmac_reg2hw_prefix_mreg_t [10:0] prefix;
}
Register -> HW type
kmac_hw2reg_t struct packed {
kmac_hw2reg_intr_state_reg_t intr_state;
kmac_hw2reg_cfg_regwen_reg_t cfg_regwen;
kmac_hw2reg_cfg_reg_t cfg;
kmac_hw2reg_status_reg_t status;
kmac_hw2reg_entropy_refresh_reg_t entropy_refresh;
kmac_hw2reg_err_code_reg_t err_code;
}
HW -> register type
kmac_id_e enum int {
KMAC_INTR_STATE,
KMAC_INTR_ENABLE,
KMAC_INTR_TEST,
KMAC_ALERT_TEST,
KMAC_CFG_REGWEN,
KMAC_CFG,
KMAC_CMD,
KMAC_STATUS,
KMAC_ENTROPY_PERIOD,
KMAC_ENTROPY_REFRESH,
KMAC_ENTROPY_SEED_LOWER,
KMAC_ENTROPY_SEED_UPPER,
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 }
Register index