Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Generics
Generic name
Type
Value
Description
BootRomInitFile
""
NumAlerts
logic [NumAlerts-1:0]
undefined
RndCnstScrNonce
bit [63:0]
'0
RndCnstScrKey
bit [127:0]
'0
SecDisableScrambling
bit
1'b0
Disable all (de)scrambling operation. This disables both the scrambling block and the boot-time checker. Don't use this in a real chip, but it's handy for small FPGA targets where we don't want to spend area on unused scrambling.
Ports
Port name
Direction
Type
Description
clk_i
input
rst_ni
input
rom_cfg_i
input
rom_cfg_t
ROM configuration parameters
rom_tl_i
input
rom_tl_o
output
regs_tl_i
input
regs_tl_o
output
alert_rx_i
input
[NumAlerts-1:0]
Alerts
alert_tx_o
output
[NumAlerts-1:0]
pwrmgr_data_o
output
Connections to other blocks
keymgr_data_o
output
kmac_data_i
input
kmac_data_o
output
Signals
Name
Type
Description
rom_select
logic
rom_index
logic [RomIndexWidth-1:0]
rom_req
logic
rom_scr_rdata
logic [DataWidth-1:0]
rom_clr_rdata
logic [DataWidth-1:0]
rom_rvalid
logic
bus_rom_index
logic [RomIndexWidth-1:0]
bus_rom_req
logic
bus_rom_gnt
logic
bus_rom_rdata
logic [DataWidth-1:0]
bus_rom_rvalid
logic
checker_rom_index
logic [RomIndexWidth-1:0]
checker_rom_req
logic
checker_rom_rdata
logic [DataWidth-1:0]
kmac_rom_data
logic [63:0]
Pack / unpack kmac connection data ========================================
ROM_CTRL_ROM_SIZE is auto-generated by regtool and comes from the bus window size, measured in bytes of content (i.e. 4 times the number of 32 bit words).
RomSizeWords
int unsigned
RomSizeByte >> 2
RomIndexWidth
int unsigned
vbits(RomSizeWords)
DataWidth
int unsigned
SecDisableScrambling ? 32 : 39
DataWidth is normally 39, representing 32 bits of actual data plus 7 ECC check bits. If scrambling is disabled ("insecure mode"), we store a raw 32-bit image and generate ECC check bits on the fly.