sep_crypto_pkg
Define typedefs and parameters for the SEP cryptographic subsystem.
Covers the sep_crypto_axi_interconnect address rules and port enum, ABR memory structs, external TRNG AXI-Stream types, OTBN IMEM and DMEM structs, and EDN endpoint and client counts.
sep_crypto_axi_port_e
Highest enum value must equal SepCryptoNumAxiMst - 1.
Enum (int unsigned)
| Value | Number | Description |
|---|---|---|
SEP_CRYPTO_AXI_ERR_SLV | 0 | |
SEP_CRYPTO_AXI_OTBN | 1 | |
SEP_CRYPTO_AXI_HMAC | 2 | |
SEP_CRYPTO_AXI_AES | 3 | |
SEP_CRYPTO_AXI_KMAC | 4 | |
SEP_CRYPTO_AXI_FUSE | 5 | |
SEP_CRYPTO_AXI_LIFECYCLE | 6 | |
SEP_CRYPTO_AXI_KM | 7 | |
SEP_CRYPTO_AXI_CSRNG | 8 | |
SEP_CRYPTO_AXI_EDN | 9 | |
SEP_CRYPTO_AXI_ENTROPY_SRC | 10 | |
SEP_CRYPTO_AXI_TRNG | 11 | |
SEP_CRYPTO_AXI_ABR | 12 |
sep_crypto_pka_imem_sram_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
clk | logic | Clock for external RAM. |
enable | logic | RAM request enable. |
write | logic | Write enable. |
addr | logic [SEP_CRYPTO_PKA_IMEM_ADDR_WIDTH-1:0] | Address (32-bit default, parameterizable). |
wdata | logic [SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0] | Write data (32-bit default, parameterizable). |
wmask | logic [SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0] | Write mask (32-bit default, parameterizable). |
sep_crypto_pka_imem_sram_rsp_t
Packed struct
| Field | Type | Description |
|---|---|---|
rdata | logic[SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0] | |
q_valid | logic |
sep_crypto_pka_dmem_sram_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
clk | logic | Clock for external RAM. |
enable | logic | RAM request enable. |
write | logic | Write enable. |
addr | logic [SEP_CRYPTO_PKA_DMEM_ADDR_WIDTH-1:0] | Address. |
wdata | logic [SEP_CRYPTO_PKA_DMEM_WORD_WIDTH-1:0] | Write data. |
wmask | logic [SEP_CRYPTO_PKA_DMEM_WORD_WIDTH-1:0] | Write mask. |
sep_crypto_pka_dmem_sram_rsp_t
Packed struct
| Field | Type | Description |
|---|---|---|
rdata | logic [SEP_CRYPTO_PKA_DMEM_WORD_WIDTH-1:0] |
abr_mem_ch_req_t
narrower channels use the low bits and the unused MSBs stay zero.
Packed struct
| Field | Type | Description |
|---|---|---|
we | logic | |
waddr | logic [SEP_CRYPTO_ABR_INST2_ADDR_W-1:0] | |
wdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
re | logic | |
raddr | logic [SEP_CRYPTO_ABR_INST2_ADDR_W-1:0] |
abr_mem_be_ch_req_t
fields in abr_mem_req_t below rather than reusing this type.
Packed struct
| Field | Type | Description |
|---|---|---|
we | logic | |
waddr | logic [SEP_CRYPTO_ABR_PK_ADDR_W-1:0] | |
wdata | logic [SEP_CRYPTO_ABR_PK_DATA_W-1:0] | |
wstrobe | logic [SEP_CRYPTO_ABR_PK_WSTRB_W-1:0] | |
re | logic | |
raddr | logic [SEP_CRYPTO_ABR_PK_ADDR_W-1:0] |
abr_mem_req_t
ABR memory request struct -- one field per `abr_mem_if` channel, req direction.
Packed struct
| Field | Type | Description |
|---|---|---|
clk | logic | |
w1_we | logic | |
w1_waddr | logic [SEP_CRYPTO_ABR_W1_ADDR_W-1:0] | |
w1_wdata | logic [SEP_CRYPTO_ABR_W1_DATA_W-1:0] | |
w1_re | logic | |
w1_raddr | logic [SEP_CRYPTO_ABR_W1_ADDR_W-1:0] | |
sk_bank0_we | logic | |
sk_bank0_waddr | logic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0] | |
sk_bank0_wdata | logic [SEP_CRYPTO_ABR_SK_DATA_W-1:0] | |
sk_bank0_re | logic | |
sk_bank0_raddr | logic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0] | |
sk_bank1_we | logic | |
sk_bank1_waddr | logic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0] | |
sk_bank1_wdata | logic [SEP_CRYPTO_ABR_SK_DATA_W-1:0] | |
sk_bank1_re | logic | |
sk_bank1_raddr | logic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0] | |
mem_inst0_bank0 | abr_mem_ch_req_t | |
mem_inst0_bank1 | abr_mem_ch_req_t | |
mem_inst1 | abr_mem_ch_req_t | |
mem_inst2 | abr_mem_ch_req_t | |
mem_inst0_bank0_masked | abr_mem_ch_req_t | |
mem_inst0_bank1_masked | abr_mem_ch_req_t | |
mem_inst1_masked | abr_mem_ch_req_t | |
mem_inst2_masked | abr_mem_ch_req_t | |
sig_z_we | logic | |
sig_z_waddr | logic [SEP_CRYPTO_ABR_SIGZ_ADDR_W-1:0] | |
sig_z_wdata | logic [SEP_CRYPTO_ABR_SIGZ_DATA_W-1:0] | |
sig_z_wstrobe | logic [SEP_CRYPTO_ABR_SIGZ_WSTRB_W-1:0] | |
sig_z_re | logic | |
sig_z_raddr | logic [SEP_CRYPTO_ABR_SIGZ_ADDR_W-1:0] | |
pk_mem | abr_mem_be_ch_req_t |
abr_mem_rsp_t
ABR memory response struct -- one rdata field per `abr_mem_if` channel.
Packed struct
| Field | Type | Description |
|---|---|---|
w1_rdata | logic [SEP_CRYPTO_ABR_W1_DATA_W-1:0] | |
mem_inst0_bank0_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst0_bank1_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst1_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst2_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst0_bank0_masked_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst0_bank1_masked_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst1_masked_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
mem_inst2_masked_rdata | logic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0] | |
sk_bank0_rdata | logic [SEP_CRYPTO_ABR_SK_DATA_W-1:0] | |
sk_bank1_rdata | logic [SEP_CRYPTO_ABR_SK_DATA_W-1:0] | |
sig_z_rdata | logic [SEP_CRYPTO_ABR_SIGZ_DATA_W-1:0] | |
pk_rdata | logic [SEP_CRYPTO_ABR_PK_DATA_W-1:0] |
sep_crypto_fuse_req_t
Alias for logic
sep_crypto_fuse_rsp_t
///////
Alias for logic
ext_trng_axis_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
tvalid | logic | |
tdata | logic [ExtTrngAxisDataWidth-1:0] | |
tstrb | logic [ExtTrngAxisStrbWidth-1:0] |
ext_trng_axis_rsp_t
Packed struct
| Field | Type | Description |
|---|---|---|
tready | logic |