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)

Table 1. sep_crypto_axi_port_e
ValueNumberDescription
SEP_CRYPTO_AXI_ERR_SLV0
SEP_CRYPTO_AXI_OTBN1
SEP_CRYPTO_AXI_HMAC2
SEP_CRYPTO_AXI_AES3
SEP_CRYPTO_AXI_KMAC4
SEP_CRYPTO_AXI_FUSE5
SEP_CRYPTO_AXI_LIFECYCLE6
SEP_CRYPTO_AXI_KM7
SEP_CRYPTO_AXI_CSRNG8
SEP_CRYPTO_AXI_EDN9
SEP_CRYPTO_AXI_ENTROPY_SRC10
SEP_CRYPTO_AXI_TRNG11
SEP_CRYPTO_AXI_ABR12

sep_crypto_pka_imem_sram_req_t

Packed struct

Table 2. sep_crypto_pka_imem_sram_req_t
FieldTypeDescription
clklogicClock for external RAM.
enablelogicRAM request enable.
writelogicWrite enable.
addrlogic [SEP_CRYPTO_PKA_IMEM_ADDR_WIDTH-1:0]Address (32-bit default, parameterizable).
wdatalogic [SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0]Write data (32-bit default, parameterizable).
wmasklogic [SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0]Write mask (32-bit default, parameterizable).

sep_crypto_pka_imem_sram_rsp_t

Packed struct

Table 3. sep_crypto_pka_imem_sram_rsp_t
FieldTypeDescription
rdatalogic[SEP_CRYPTO_PKA_IMEM_WORD_WIDTH-1:0]
q_validlogic

sep_crypto_pka_dmem_sram_req_t

Packed struct

Table 4. sep_crypto_pka_dmem_sram_req_t
FieldTypeDescription
clklogicClock for external RAM.
enablelogicRAM request enable.
writelogicWrite enable.
addrlogic [SEP_CRYPTO_PKA_DMEM_ADDR_WIDTH-1:0]Address.
wdatalogic [SEP_CRYPTO_PKA_DMEM_WORD_WIDTH-1:0]Write data.
wmasklogic [SEP_CRYPTO_PKA_DMEM_WORD_WIDTH-1:0]Write mask.

sep_crypto_pka_dmem_sram_rsp_t

Packed struct

Table 5. sep_crypto_pka_dmem_sram_rsp_t
FieldTypeDescription
rdatalogic [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

Table 6. abr_mem_ch_req_t
FieldTypeDescription
welogic
waddrlogic [SEP_CRYPTO_ABR_INST2_ADDR_W-1:0]
wdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
relogic
raddrlogic [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

Table 7. abr_mem_be_ch_req_t
FieldTypeDescription
welogic
waddrlogic [SEP_CRYPTO_ABR_PK_ADDR_W-1:0]
wdatalogic [SEP_CRYPTO_ABR_PK_DATA_W-1:0]
wstrobelogic [SEP_CRYPTO_ABR_PK_WSTRB_W-1:0]
relogic
raddrlogic [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

Table 8. abr_mem_req_t
FieldTypeDescription
clklogic
w1_welogic
w1_waddrlogic [SEP_CRYPTO_ABR_W1_ADDR_W-1:0]
w1_wdatalogic [SEP_CRYPTO_ABR_W1_DATA_W-1:0]
w1_relogic
w1_raddrlogic [SEP_CRYPTO_ABR_W1_ADDR_W-1:0]
sk_bank0_welogic
sk_bank0_waddrlogic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0]
sk_bank0_wdatalogic [SEP_CRYPTO_ABR_SK_DATA_W-1:0]
sk_bank0_relogic
sk_bank0_raddrlogic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0]
sk_bank1_welogic
sk_bank1_waddrlogic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0]
sk_bank1_wdatalogic [SEP_CRYPTO_ABR_SK_DATA_W-1:0]
sk_bank1_relogic
sk_bank1_raddrlogic [SEP_CRYPTO_ABR_SK_ADDR_W-1:0]
mem_inst0_bank0abr_mem_ch_req_t
mem_inst0_bank1abr_mem_ch_req_t
mem_inst1abr_mem_ch_req_t
mem_inst2abr_mem_ch_req_t
mem_inst0_bank0_maskedabr_mem_ch_req_t
mem_inst0_bank1_maskedabr_mem_ch_req_t
mem_inst1_maskedabr_mem_ch_req_t
mem_inst2_maskedabr_mem_ch_req_t
sig_z_welogic
sig_z_waddrlogic [SEP_CRYPTO_ABR_SIGZ_ADDR_W-1:0]
sig_z_wdatalogic [SEP_CRYPTO_ABR_SIGZ_DATA_W-1:0]
sig_z_wstrobelogic [SEP_CRYPTO_ABR_SIGZ_WSTRB_W-1:0]
sig_z_relogic
sig_z_raddrlogic [SEP_CRYPTO_ABR_SIGZ_ADDR_W-1:0]
pk_memabr_mem_be_ch_req_t

abr_mem_rsp_t

ABR memory response struct -- one rdata field per `abr_mem_if` channel.

Packed struct

Table 9. abr_mem_rsp_t
FieldTypeDescription
w1_rdatalogic [SEP_CRYPTO_ABR_W1_DATA_W-1:0]
mem_inst0_bank0_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst0_bank1_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst1_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst2_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst0_bank0_masked_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst0_bank1_masked_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst1_masked_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
mem_inst2_masked_rdatalogic [SEP_CRYPTO_ABR_MEM_DATA_W-1:0]
sk_bank0_rdatalogic [SEP_CRYPTO_ABR_SK_DATA_W-1:0]
sk_bank1_rdatalogic [SEP_CRYPTO_ABR_SK_DATA_W-1:0]
sig_z_rdatalogic [SEP_CRYPTO_ABR_SIGZ_DATA_W-1:0]
pk_rdatalogic [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

Table 10. ext_trng_axis_req_t
FieldTypeDescription
tvalidlogic
tdatalogic [ExtTrngAxisDataWidth-1:0]
tstrblogic [ExtTrngAxisStrbWidth-1:0]

ext_trng_axis_rsp_t

Packed struct

Table 11. ext_trng_axis_rsp_t
FieldTypeDescription
treadylogic