smc_efuse_pkg

Declare types and constants for the SMC eFuse map.

Sizes the 8192-bit fuse array as 256 32-bit words and defines efuse_map_t, the shadow-register layout of the SMC eFuse map, together with the fuse command types. Builds EfuseFieldMap, the per-field lock rules and address ranges, and the Class 1 shadow range that covers the LOCKS field. Used by smc_efuse_wrapper and by the SMC ports that carry the shadow registers and fuse commands.

smc_efuse_map_locks_reg_t

Shadow register layout preserved from the legacy generated sub-block header.

Packed struct

Table 1. smc_efuse_map_locks_reg_t
FieldTypeDescription
spare27_read_locklogic [0:0]
spare27_write_locklogic [0:0]
spare26_read_locklogic [0:0]
spare26_write_locklogic [0:0]
spare25_read_locklogic [0:0]
spare25_write_locklogic [0:0]
spare24_read_locklogic [0:0]
spare24_write_locklogic [0:0]
spare23_read_locklogic [0:0]
spare23_write_locklogic [0:0]
spare22_read_locklogic [0:0]
spare22_write_locklogic [0:0]
spare21_read_locklogic [0:0]
spare21_write_locklogic [0:0]
spare20_read_locklogic [0:0]
spare20_write_locklogic [0:0]
spare19_read_locklogic [0:0]
spare19_write_locklogic [0:0]
spare18_read_locklogic [0:0]
spare18_write_locklogic [0:0]
spare17_read_locklogic [0:0]
spare17_write_locklogic [0:0]
spare16_read_locklogic [0:0]
spare16_write_locklogic [0:0]
spare15_read_locklogic [0:0]
spare15_write_locklogic [0:0]
spare14_read_locklogic [0:0]
spare14_write_locklogic [0:0]
spare13_read_locklogic [0:0]
spare13_write_locklogic [0:0]
spare12_read_locklogic [0:0]
spare12_write_locklogic [0:0]
spare11_read_locklogic [0:0]
spare11_write_locklogic [0:0]
spare10_read_locklogic [0:0]
spare10_write_locklogic [0:0]
spare9_read_locklogic [0:0]
spare9_write_locklogic [0:0]
spare8_read_locklogic [0:0]
spare8_write_locklogic [0:0]
spare7_read_locklogic [0:0]
spare7_write_locklogic [0:0]
spare6_read_locklogic [0:0]
spare6_write_locklogic [0:0]
spare5_read_locklogic [0:0]
spare5_write_locklogic [0:0]
spare4_read_locklogic [0:0]
spare4_write_locklogic [0:0]
spare3_read_locklogic [0:0]
spare3_write_locklogic [0:0]
spare2_read_locklogic [0:0]
spare2_write_locklogic [0:0]
spare1_read_locklogic [0:0]
spare1_write_locklogic [0:0]
spare0_read_locklogic [0:0]
spare0_write_locklogic [0:0]
occp_transport_timeout_read_locklogic [0:0]
occp_transport_timeout_write_locklogic [0:0]
smc_config_read_locklogic [0:0]
smc_config_write_locklogic [0:0]
i2c_i3c_id_read_locklogic [0:0]
i2c_i3c_id_write_locklogic [0:0]
jtag_public_identity_read_locklogic [0:0]
jtag_public_identity_write_locklogic [0:0]

smc_efuse_map_jtag_public_identity_reg_t

Packed struct

Table 2. smc_efuse_map_jtag_public_identity_reg_t
FieldTypeDescription
valuelogic [255:0]

smc_efuse_map_i2c_i3c_id_reg_t

Packed struct

Table 3. smc_efuse_map_i2c_i3c_id_reg_t
FieldTypeDescription
interface_idlogic [63:0]

smc_efuse_map_smc_config_reg_t

Packed struct

Table 4. smc_efuse_map_smc_config_reg_t
FieldTypeDescription
config_rsvd_highlogic [47:0]
dft_ignore_errorlogic [0:0]
config_rsvd_midlogic [6:0]
sram_auto_zero_disablelogic [0:0]
config_rsvd_lowlogic [5:0]
rom_flip_endiannesslogic [0:0]

smc_efuse_map_occp_transport_timeout_reg_t

Packed struct

Table 5. smc_efuse_map_occp_transport_timeout_reg_t
FieldTypeDescription
timeout_rsvdlogic [31:0]
timeoutlogic [31:0]

smc_efuse_map_spare_reg_t

Packed struct

Table 6. smc_efuse_map_spare_reg_t
FieldTypeDescription
rsvdlogic [255:0]

smc_efuse_map_regmap_t

Packed struct

Table 7. smc_efuse_map_regmap_t
FieldTypeDescription
sparesmc_efuse_map_spare_reg_t [27:0]
occp_transport_timeoutsmc_efuse_map_occp_transport_timeout_reg_t
smc_configsmc_efuse_map_smc_config_reg_t
i2c_i3c_idsmc_efuse_map_i2c_i3c_id_reg_t [8:0]
jtag_public_identitysmc_efuse_map_jtag_public_identity_reg_t
lockssmc_efuse_map_locks_reg_t

efuse_addr_bit_t

Alias for logic [NumFuseBitsWidth-1:0]

efuse_addr_byte_t

Alias for logic [NumFuseByteWidth-1:0]

efuse_data_t

Alias for logic [NumFuseWordWidth-1:0]

efuse_word_counter_t

Alias for logic [NumFuseWordsWidth-1:0]

fuse_command_req_t

Packed struct

Table 8. fuse_command_req_t
FieldTypeDescription
addressefuse_addr_bit_t
program_datalogic
access_length_wordsefuse_word_counter_t
commandefuse_pkg::fuse_command_e
validlogic

fuse_command_resp_t

Packed struct

Table 9. fuse_command_resp_t
FieldTypeDescription
dataefuse_data_t
statuslogic
validlogic

efuse_lock_view_t

Packed struct

Table 10. efuse_lock_view_t
FieldTypeDescription
reservedlogic [NumEfuseBits-LockFieldBits-1:0]
lockslogic [LockFieldBits-1:0]

efuse_map_t

Class 1 storage is selected by field identity; all locations and widths

Alias for union packed { smc_efuse_map_regmap_t fields; efuse_lock_view_t locks; logic [NumFuseWords-1:0][NumFuseWordWidth-1:0] values; }

efuse_offset

Function returning int unsigned

Table 11. efuse_offset
NameDirectionTypeDescription
addrinputlongint unsigned

build_efuse_field_map

lock[0] read: 0 -> readable; 1 -> read locked

Function returning efuse_pkg::rule_t [NumEfuseFields-1:0]