km_intf_pkg

Define the Key Manager interface types and address-map constants.

Shared by every Key Manager subsystem component:

  • AXI4-Lite channel, request and response types (32-bit)
  • ROM and SRAM memory interface structs (req/rsp)
  • DRBG AXI-Stream interface structs
  • IRQ event type, which no module uses
  • SEP OTP data interface struct
  • Full CPU address map constants for internal and external peripherals, used by the crossbar and the CPU router

km_addr_t

32-bit AXI data type for the Key Manager subsystem.

Alias for logic [KmAxiAddrWidth-1:0]

km_data_t

4-bit AXI write-strobe type (one bit per data byte).

Alias for logic [KmAxiDataWidth-1:0]

km_strb_t

4-bit AXI write-strobe type (one bit per data byte).

Alias for logic [KmAxiStrbWidth-1:0]

km_axil_aw_chan_t

Packed struct

Table 1. km_axil_aw_chan_t
FieldTypeDescription
addrkm_addr_t
protaxi_pkg::prot_t

km_axil_w_chan_t

Packed struct

Table 2. km_axil_w_chan_t
FieldTypeDescription
datakm_data_t
strbkm_strb_t

km_axil_b_chan_t

Packed struct

Table 3. km_axil_b_chan_t
FieldTypeDescription
respaxi_pkg::resp_t

km_axil_ar_chan_t

Packed struct

Table 4. km_axil_ar_chan_t
FieldTypeDescription
addrkm_addr_t
protaxi_pkg::prot_t

km_axil_r_chan_t

Packed struct

Table 5. km_axil_r_chan_t
FieldTypeDescription
datakm_data_t
respaxi_pkg::resp_t

km_axil_req_t

Packed struct

Table 6. km_axil_req_t
FieldTypeDescription
awkm_axil_aw_chan_t
aw_validlogic
wkm_axil_w_chan_t
w_validlogic
b_readylogic
arkm_axil_ar_chan_t
ar_validlogic
r_readylogic

km_axil_resp_t

Packed struct

Table 7. km_axil_resp_t
FieldTypeDescription
aw_readylogic
w_readylogic
bkm_axil_b_chan_t
b_validlogic
ar_readylogic
rkm_axil_r_chan_t
r_validlogic

km_rom_mem_req_t

ROM memory request (CPU -> ROM hard macro).

Packed struct

Table 8. km_rom_mem_req_t
FieldTypeDescription
reqlogicRequest valid.
addrlogic [KM_ROM_MEM_ADDR_WIDTH-1:0]Word address.

km_rom_mem_rsp_t

ROM memory response (ROM hard macro -> CPU).

Packed struct

Table 9. km_rom_mem_rsp_t
FieldTypeDescription
gntlogicGrant/ready.
rvalidlogicRead data valid.
rdatalogic [KM_MEM_DATA_WIDTH-1:0]Read data.
paritylogic [KM_MEM_STRB_WIDTH-1:0]Byte parity bits.

km_sram_mem_req_t

SRAM memory request (CPU -> SRAM hard macro).

Packed struct

Table 10. km_sram_mem_req_t
FieldTypeDescription
reqlogicRequest valid.
welogicWrite enable.
belogic [KM_MEM_STRB_WIDTH-1:0]Byte enables.
addrlogic [KM_SRAM_MEM_ADDR_WIDTH-1:0]Word address.
wdatalogic [KM_MEM_DATA_WIDTH-1:0]Write data.
wparitylogic [KM_MEM_STRB_WIDTH-1:0]Write parity bits.

km_sram_mem_rsp_t

SRAM memory response (SRAM hard macro -> CPU).

Packed struct

Table 11. km_sram_mem_rsp_t
FieldTypeDescription
gntlogicGrant/ready.
rvalidlogicRead data valid.
rdatalogic [KM_MEM_DATA_WIDTH-1:0]Read data.
rparitylogic [KM_MEM_STRB_WIDTH-1:0]Read parity bits.

km_irq_events_t

Packed IRQ event flags for the Key Manager subsystem.

Packed struct

Table 12. km_irq_events_t
FieldTypeDescription
rom_parity_errlogicROM parity error event.
sram_parity_errlogicSRAM parity error event.

km_drbg_axis_req_t

bit-shifted) bind.

Packed struct

Table 13. km_drbg_axis_req_t
FieldTypeDescription
tvalidlogic
tdatalogic [KmDrbgAxisDataWidth-1:0]
tstrblogic [KmDrbgAxisStrbWidth-1:0]
tuserlogic

km_drbg_axis_resp_t

DRBG AXI-Stream response (KM sampler slave -> DRBG master).

Packed struct

Table 14. km_drbg_axis_resp_t
FieldTypeDescription
treadylogic

km_otp_data_t

the value.

Packed struct

Table 15. km_otp_data_t
FieldTypeDescription
life_cyclelogic [7:0]4-bit value differentially encoded into 8-bit
demotion_state_1logic [1:0]1-bit value differentially encoded into 2-bit
demotion_state_2logic [1:0]1-bit value differentially encoded into 2-bit
chiplet_uidlogic [511:0]256-bit UID, dual-rail: {~uid, uid}
class_keylogic [511:0]256-bit class key, dual-rail: {~key, key}
sip_uidlogic [511:0]256-bit SIP UID, dual-rail: {~uid, uid}
sys_uidlogic [511:0]256-bit system UID, dual-rail: {~uid, uid}
sep_chiplet_idlogic [511:0]256-bit chiplet public ID, dual-rail: {~id, id}
sep_sip_idlogic [511:0]256-bit SiP public ID, dual-rail: {~id, id}
sep_sys_idlogic [511:0]256-bit system public ID, dual-rail: {~id, id}

km_window_end

block's registers repeat through the rest of the rule under a second set of addresses.

Function returning km_addr_t

Table 16. km_window_end
NameDirectionTypeDescription
baseinputkm_addr_t
addr_widthinputint unsigned

otp_addr_decoded

True when addr falls in the MAP, CTRL or MMR register map of the OTP page.

Function returning logic

Table 17. otp_addr_decoded
NameDirectionTypeDescription
addrinputkm_addr_t