ErbiumCPU_MemoryMap address map

  • Absolute Address: 0x0
  • Base Offset: 0x0
  • Size: 0xFE016000
Offset Identifier Name
0x02000000 system_registers System Registers
0x02001000 mram_registers AXI-to-MRAM Bridge Register Map
0x02002000 i2c_registers
0x02003000 qspi_registers QSPI Registers
0x02004000 uart_registers UART Registers
0x02008000 ROMRAM
0x0200F000 xspi_registers sccr
0x40000000 mram MRAM
0x80000000 cpu_registers ESR Map of Erbium
0xA0000000 plic
0xFE000000 nic_config

system_registers address map

  • Absolute Address: 0x2000000
  • Base Offset: 0x2000000
  • Size: 0xC4

Register Controlling System Behavior

Offset Identifier Name
0x00 Version
0x08 SystemConfig
0x10 watchdog_count
0x18 Watchdog
0x20 SysInterrupt
0x28 SoftReset
0x30 ResetCause
0x38 PowerDomainReq
0x40 PowerDomainAck
0x48 PowerGood
0x50 PowerStatus
0x58 SpinLock
0x60 ChipMode
0x68 Mailbox0
0x70 Mailbox1
0x78 GPIO_OE
0x80 GPIO_I
0x88 GPIO_O
0x90 GPIO_Interrupt_Enable
0x98 ring_osc Ring Oscillator Control
0xA0 cpu_divider
0xA8 system_divider
0xB0 periph_divider
0xB8 tsense_ctrl Temperature Sensor Control
0xC0 tsense_status Temperature Sensor Status

Version register

  • Absolute Address: 0x2000000
  • Base Offset: 0x0
  • Size: 0x4

Device identifier, used by software to identify the device family (chipid) variant, and bugfix version

Bits Identifier Access Reset Name
7:0 respin r 0x0
15:8 variation r 0x0
31:16 chipid r 0xEB68

SystemConfig register

  • Absolute Address: 0x2000008
  • Base Offset: 0x8
  • Size: 0x4

System configuration fields. use to enable/disable various features

Bits Identifier Access Reset Name
0 sys_interrupt_enable rw 0x0
1 mram_startup_bypass rw 0x0
2 wdog_disable rw 0x1
3 i2c_enable rw 0x0
4 spi_enable rw 0x1
5 qspi_enable rw 0x0
6 uart_enable rw 0x0
7 osc_out_enable rw 0x0

sys_interrupt_enable field

reg interrupt:Writing to this bit generates an interrupt.

mram_startup_bypass field

connected to mram_startup_bypass of mram_wrapper

wdog_disable field

Watchdog Disable

i2c_enable field

I2C Enable

spi_enable field

SPI Enable

qspi_enable field

QSPI Enable

uart_enable field

UART Enable

osc_out_enable field

OSC_Out Enable

watchdog_count register

  • Absolute Address: 0x2000010
  • Base Offset: 0x10
  • Size: 0x4

The watchdog detects 'hang' conditions and resets the system. This feature is disabled by default. Clear cpu_config.wdog_disable to enable this. Once enabled, S/W should write to Watchdog.kick to reset the WATCHDOG_COUNT.count field. If the count reaches 0, it triggers a system reset.

Bits Identifier Access Reset Name
31:0 watchdog_count rw 0xFFFF

watchdog_count field

When the watchdog timer is enabled it counts down from this value

Watchdog register

  • Absolute Address: 0x2000018
  • Base Offset: 0x18
  • Size: 0x4
Bits Identifier Access Reset Name
7 kick rw 0x0

kick field

Resets the watchdog timer, cpu needs to regularly write to this bit to aviod a watchdog timeout based reset of the device

SysInterrupt register

  • Absolute Address: 0x2000020
  • Base Offset: 0x20
  • Size: 0x4
Bits Identifier Access Reset Name
0 interrupt rw, rclr 0x0
1 gpio_interrupt r, rclr 0x0

interrupt field

Write to this bit to generate an interrupt. Clear on read

gpio_interrupt field

GPIO In Interrupt. Clear on read

SoftReset register

  • Absolute Address: 0x2000028
  • Base Offset: 0x28
  • Size: 0x4
Bits Identifier Access Reset Name
0 soft_reset rw 0x0
1 cpu_warm_reset rw 0x0
2 mram_rst_b rw 0x1
3 cpu_soft_reset rw 0x0

soft_reset field

System Soft Reset, Active High

cpu_warm_reset field

CPU Warm Reset, Active High

mram_rst_b field

MRAM Resetn, Active Low

cpu_soft_reset field

CPU cold Reset, Self clearing Active High

ResetCause register

  • Absolute Address: 0x2000030
  • Base Offset: 0x30
  • Size: 0x4

This register reports the cause of reset. There are multiple reset sources. * Power on Reset, * Brownout Reset, and * Various S/W reset requests. These clear on read bits capture the reset cause since the last read Note if the por bit is set ignore the other cause registers, they will have random values until the first read.

Bits Identifier Access Reset Name
0 por r
1 watchdog_timedout r
2 sysreset_req r
3 brownout r
4 softreset r
5 cpu_warm_reset r

por field

System POR was toggled

watchdog_timedout field

Watchdog was enabled and CPU failed to clear the watchdog timer

sysreset_req field

NA. CPU detected an architecture level lockup and requested a system reset

brownout field

The brownout detector triggered a reset

softreset field

The soft reset bit was written to

cpu_warm_reset field

NA. The cpu reset bit was written to

PowerDomainReq register

  • Absolute Address: 0x2000038
  • Base Offset: 0x38
  • Size: 0x4

Writing to PD fields initiates the shutdown of the corresponding power domain. A shutdown request is sent to the domain, This domain waits until all outstanding transactions are completed and then generates a corresponding ack signal. Once the ack signal is generated the power controller will turn off power to that domain.

Bits Identifier Access Reset Name
0 cpu_pd rw 0x0
1 cpu_rom_powerdown rw 0x0
2 cpu_ram_powerdown rw 0x0
3 chiplet_pd rw 0x0
4 mram_pd rw 0x0
5 system_poweroff rw 0x0
6 xspi_pd rw 0x0
15:8 minion_pd rw 0x0
16 mram_dsleep_en rw 0x0
17 cpu_sleep_en rw 0x0

cpu_pd field

Poweroff the CPU Domain

cpu_rom_powerdown field

Powerdown the boot ROM

cpu_ram_powerdown field

Powerdown the CPU ram. this puts the ram in deepsleep mode

chiplet_pd field

Not used; chiplet power domain is controlled via the mode bits

mram_pd field

Power down for MRAM digital logic and MRAM domain. When set to 1, this powers off the domain; setting to 0 powers it on.

system_poweroff field

Power off the chip. Only wakeup logic is powered on

xspi_pd field

Not used; hyperbus power domain is controlled via the mode bits.

minion_pd field

Minion PowerDown Req

mram_dsleep_en field

Connects directly to the MRAM's main power switch, bypassing the digital domain's power switch. When set to 1, the MRAM is in deep sleep; setting to 0 powers the MRAM on.

cpu_sleep_en field

currently not used. In future this will be used for CPU sleep management.

PowerDomainAck register

  • Absolute Address: 0x2000040
  • Base Offset: 0x40
  • Size: 0x4

This mirrors the Ack signal generated in response to power down request.

Bits Identifier Access Reset Name
0 cpu_pd_ack r 0x0
1 sram_pd_ack r 0x0
3 chiplet_pd_ack r 0x0
4 mram_pd_ack r 0x0
5 system_pd_ack r 0x0
6 hyperbus_pd_ack r 0x0
15:8 minion_pd_ack r 0x0

cpu_pd_ack field

pd ack for cpu

sram_pd_ack field

Not used: pd ack for TCM

chiplet_pd_ack field

Not used: pd ack for chiplet

mram_pd_ack field

pd ack for mram

system_pd_ack field

pd ack for system

hyperbus_pd_ack field

Not used: pd ack for hy perbus

minion_pd_ack field

Minion PowerDown Req

PowerGood register

  • Absolute Address: 0x2000048
  • Base Offset: 0x48
  • Size: 0x4

When a power domain is switched on, it takes time for the voltage to stabalize, this time is process dependent. The default value is sufficiently large to account for all variations.

Bits Identifier Access Reset Name
20:0 counter rw 0xFFFFF

counter field

Counter for powerGood

PowerStatus register

  • Absolute Address: 0x2000050
  • Base Offset: 0x50
  • Size: 0x4

Status

Bits Identifier Access Reset Name
3:0 reserved r 0x0

reserved field

Asserted when MRAM is powered on/reset until internal setup is done.

SpinLock register

  • Absolute Address: 0x2000058
  • Base Offset: 0x58
  • Size: 0x4

initially locked=0, A read on this register will set the lock bit. Usage: 1. Read this field. If you get a value of zero you got the lock. Else a different processing element acquired the lock. Poll at fixed intervals(dont spam) until you get the lock. 2. If you acquired the lock, Once you have finished interacting with the locked resource write 0 to this register to release the lock.

Bits Identifier Access Reset Name
0 lock rw, rset 0x0

ChipMode register

  • Absolute Address: 0x2000060
  • Base Offset: 0x60
  • Size: 0x4
Bits Identifier Access Reset Name
1:0 chip_mode r
2 ifc_width r
4:3 bootload rw 0x0
6:5 load_external rw 0x0

chip_mode field

The mode in which chip is working, hyperbus, axi,ahb,gci

ifc_width field

If chip is axi/ahb mode datawidth

bootload field

Jump to 00:no Jump, 01:TCM,10:MRAM

load_external field

Jump to 00:no load, 01:Load TCM via Chiplet,10:Load MRAM via Chiplet

Mailbox0 register

  • Absolute Address: 0x2000068
  • Base Offset: 0x68
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 mbox0 rw 0x0

mbox0 field

Mailbox0

Mailbox1 register

  • Absolute Address: 0x2000070
  • Base Offset: 0x70
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 mbox1 rw 0x0

mbox1 field

Mailbox1

GPIO_OE register

  • Absolute Address: 0x2000078
  • Base Offset: 0x78
  • Size: 0x4

Gpio Output enable. Write 1 to this bit to set the GPIO register in output mode.

Bits Identifier Access Reset Name
10:0 gpio_oe rw 0x0

gpio_oe field

Gpio output enable

GPIO_I register

  • Absolute Address: 0x2000080
  • Base Offset: 0x80
  • Size: 0x4

Gpio Input For each bit in input mode this register captures the input value.

Bits Identifier Access Reset Name
10:0 gpio_i r 0x0

gpio_i field

Gpio input

GPIO_O register

  • Absolute Address: 0x2000088
  • Base Offset: 0x88
  • Size: 0x4

Gpio Output For each bit in output mode the content of the corresponding bit in this register is reflected on the GPIO Pin

Bits Identifier Access Reset Name
10:0 gpio_o rw 0x0

gpio_o field

Gpio input

GPIO_Interrupt_Enable register

  • Absolute Address: 0x2000090
  • Base Offset: 0x90
  • Size: 0x4

Gpio Interrupt Enable For each bit in input mode if the input signal toggles and the content of the corresponding bit in this register is 1, then a GPIO interrupt is raised.

Bits Identifier Access Reset Name
10:0 gpio_interrupt_en rw 0x0

gpio_interrupt_en field

Gpio input

ring_osc register

  • Absolute Address: 0x2000098
  • Base Offset: 0x98
  • Size: 0x4

Controls the ring oscillator (ring_osc) input pins. In normal mode (dbg_en=0), only en, divby2_sel, and trm are active. In debug mode (dbg_en=1), the dbg_* fields independently gate the analog bias block (anachip) and the oscillator core (rochip).

Bits Identifier Access Reset Name
0 en rw 0x1
1 divby2_sel rw 0x1
6:2 trm rw 0x1F
7 dbg_en rw 0x0
8 dbg_anachip_en rw 0x0
9 dbg_rohcip_en rw 0x0
10 dbg_sah_en_b rw 0x0

en field

Master oscillator enable. Drive high to power up both the analog bias block (anachip) and the ring oscillator core (rochip). Has no effect when dbg_en is asserted.

divby2_sel field

Divide-by-2 frequency select. 0: Full-speed range (899 MHz to 1.608 GHz, set by trm). 1: Half-speed range (449 MHz to 794 MHz, set by trm).

trm field

Frequency trim code. Selects the oscillator output frequency within the range determined by divby2_sel. 0x00 = fastest (1.608 GHz or 794 MHz). 0x1F = slowest (899 MHz or 449 MHz). Frequency decreases linearly with increasing trim value.

dbg_en field

Debug override enable. When asserted, the en input is ignored and dbg_anachip_en and dbg_rohcip_en independently control the analog bias block and oscillator core respectively. dbg_sah_en_b also becomes active. 0: Normal mode -- en controls both blocks. 1: Debug mode -- dbg_* fields control each block separately.

dbg_anachip_en field

Debug enable for the analog bias block (anachip). Only active when dbg_en=1. When asserted with dbg_en=1, powers up the anachip and drives h1_mnvdd09_g high, which is required for the oscillator core to run. When deasserted, h1_mnvdd09_g is held low and the oscillator core cannot oscillate regardless of dbg_rohcip_en.

dbg_rohcip_en field

Debug enable for the ring oscillator core (rochip). Only active when dbg_en=1. When asserted with dbg_en=1 and dbg_anachip_en=1, the oscillator core is enabled and clk will toggle. When deasserted, the oscillator core is disabled and clk is held low regardless of dbg_anachip_en.

dbg_sah_en_b field

Debug SAH enable (active low). Only active when dbg_en=1. Selects the anachip operating mode: 0: Normal SAH operation (anachip mode 3'b100, h1=1). 1: Test mode, high power (anachip mode 3'b101, h1=1). In both cases h1_mnvdd09_g remains high when dbg_anachip_en=1; this bit selects the internal anachip bias configuration only.

cpu_divider register

  • Absolute Address: 0x20000A0
  • Base Offset: 0xA0
  • Size: 0x4
Bits Identifier Access Reset Name
3:0 count rw 0xF
4 div_enable rw 0x1

count field

clock divider. output clk is 2 x count

div_enable field

Enable clk divider

system_divider register

  • Absolute Address: 0x20000A8
  • Base Offset: 0xA8
  • Size: 0x4
Bits Identifier Access Reset Name
3:0 count rw 0xF
4 div_enable rw 0x1

count field

clock divider. output clk is 2 x count

div_enable field

Enable clk divider

periph_divider register

  • Absolute Address: 0x20000B0
  • Base Offset: 0xB0
  • Size: 0x4
Bits Identifier Access Reset Name
3:0 count rw 0xF
4 div_enable rw 0x1

count field

clock divider. output clk is 2 x count

div_enable field

Enable clk divider

tsense_ctrl register

  • Absolute Address: 0x20000B8
  • Base Offset: 0xB8
  • Size: 0x4

Controls the temperature sensor and ADC conversion. Write 1 to conv to trigger a single conversion. The bit auto-clears after one cycle. Select which sensor to sample with sen_sel, and set the ADC clock divider with clk_div.

Bits Identifier Access Reset Name
0 conv rw 0x0
1 sen_en rw 0x0
3:2 sen_sel rw 0x0
11:4 clk_div rw 0x1

conv field

Start conversion. Writing 1 triggers a single ADC sample. Auto-clears to 0 after one cycle. Clears the valid bit in tsense_status when written.

sen_en field

Sensor enable. When set, the sensor selected by sel is powered on. When clear, all sensors are off.

sen_sel field

Sensor select. Selects which of the 4 temperature sensors (0-3) is connected to the ADC.

clk_div field

ADC clock divider. The ADC clock frequency is sys_clk / (2 * (clk_div + 1)). 0x00 = sys_clk/2 (fastest). 0xFF = sys_clk/512 (slowest).

tsense_status register

  • Absolute Address: 0x20000C0
  • Base Offset: 0xC0
  • Size: 0x4

Read-only status from the most recent ADC conversion.

Bits Identifier Access Reset Name
3:0 data r 0x0
4 valid r 0x0
5 conv_b r 0x1

data field

ADC output data from the last completed conversion.

valid field

Data valid. Set by hardware when a conversion completes. Cleared when a new conversion is started (conv written).

conv_b field

ADC conversion status. Active-low while the ADC conversion is in progress and high when idle / conversion complete.

mram_registers address map

  • Absolute Address: 0x2001000
  • Base Offset: 0x2001000
  • Size: 0x4A0

Unified register map for the AXI-to-MRAM bridge. Contains bridge configuration registers and per-bank MRAM controller test registers.

Offset Identifier Name
0x000 bridge_regs AXI-to-MRAM Bridge Control and Status Registers
0x100 bank0_tregs MRAM Control and Status Test Registers
0x200 bank1_tregs MRAM Control and Status Test Registers
0x300 bank2_tregs MRAM Control and Status Test Registers
0x400 bank3_tregs MRAM Control and Status Test Registers

bridge_regs register file

  • Absolute Address: 0x2001000
  • Base Offset: 0x0
  • Size: 0x38

Register space for configuration and status of the AXI-to-MRAM bridge.

Offset Identifier Name
0x00 arbiter_mode_reg Arbiter Mode
0x08 bridge_status_reg Bridge Status
0x10 slverr_status_reg AXI Slave Error Status
0x18 control_reg AXI2MRAM Control
0x20 ecc_1bit_error_count_reg ECC 1-bit Error Counter
0x28 ecc_2bit_error_count_reg ECC 2-bit Error Counter
0x30 ecc_3bit_error_count_reg ECC 3-bit Error Counter

arbiter_mode_reg register

  • Absolute Address: 0x2001000
  • Base Offset: 0x0
  • Size: 0x8

Controls the read/write arbitration policy when both channels have simultaneous pending requests.

Bits Identifier Access Reset Name
1:0 arbiter_mode rw 0x2 arbiter_mode

arbiter_mode field

Arbitration mode selection. 0 = Write Priority (writes always win) 1 = Read Priority (reads always win) 2 = Round Robin (alternate after each conflict) 3 = Oldest First (whichever request arrived first wins)

bridge_status_reg register

  • Absolute Address: 0x2001008
  • Base Offset: 0x8
  • Size: 0x8

Read-only status indicators for the AXI-to-MRAM bridge.

Bits Identifier Access Reset Name
0 axi_busy r 0x0 axi_busy
7:4 cmd_queue_active r 0x0 cmd_queue_active
11:8 mram_ready r 0x0 mram_ready

axi_busy field

High when the bridge has outstanding AXI transactions.

cmd_queue_active field

Per-bank command queue active flags. Bit N = bank N has pending write/RMW commands.

mram_ready field

Per-bank ready signals for bringing MRAM out of deep sleep. When the bit is 1, that bank is ready for operations.

slverr_status_reg register

  • Absolute Address: 0x2001010
  • Base Offset: 0x10
  • Size: 0x8

Sticky status bits capturing the reason(s) why the bridge returned SLVERR on the AXI bus. Bits are set by hardware and cleared automatically when software reads this register (clear-on-read). Multiple causes may be set simultaneously.

Bits Identifier Access Reset Name
0 oor_read r, rclr 0x0 oor_read
1 oor_write r, rclr 0x0 oor_write
2 mram_not_ready r, rclr 0x0 mram_not_ready
3 mram_unpowered r, rclr 0x0 mram_unpowered
4 maintenance r, rclr 0x0 maintenance
5 unrecoverable_error r, rclr 0x0 unrecoverable_error

oor_read field

Set when a read transaction was rejected with SLVERR because ARADDR falls outside the valid MRAM window (ARADDR[31:24] != 0, i.e. ARADDR >= 0x100_0000).

oor_write field

Set when a write transaction was rejected with SLVERR because AWADDR falls outside the valid MRAM window (AWADDR[31:24] != 0, i.e. AWADDR >= 0x100_0000).

mram_not_ready field

Set when a transaction was rejected with SLVERR because the targeted MRAM bank reports not-ready.

mram_unpowered field

Set when a transaction was rejected with SLVERR because the targeted MRAM bank reports power-not-ok.

maintenance field

Set when a transaction was rejected with SLVERR because the targeted MRAM bank is in maintenance mode.

unrecoverable_error field

Set when read data was returned with an unrecoverable ECC condition (triple-bit error) and the bridge responded with SLVERR.

control_reg register

  • Absolute Address: 0x2001018
  • Base Offset: 0x18
  • Size: 0x8

Software control bits for the AXI-to-MRAM bridge.

Bits Identifier Access Reset Name
3:0 disable_clock_gate rw 0x0 disable_clock_gate
4 ecc_1bit_intr_mask rw 0x1 ecc_1bit_intr_mask
5 ecc_2bit_intr_mask rw 0x0 ecc_2bit_intr_mask
6 ecc_3bit_intr_mask rw 0x0 ecc_3bit_intr_mask

disable_clock_gate field

Per-bank clock-gate disable control. Bit N disables the clock gating structure driving MRAM bank N so that a continuous clock is driven into the bank interface.

ecc_1bit_intr_mask field

Masks CPU interrupt generation for 1-bit ECC events in the ET interrupt logic. 1 = masked/suppressed, 0 = unmasked/enabled. Reset default is 1 (masked).

ecc_2bit_intr_mask field

Masks CPU interrupt generation for 2-bit ECC events in the ET interrupt logic. 1 = masked/suppressed, 0 = unmasked/enabled. Reset default is 0 (enabled).

ecc_3bit_intr_mask field

Masks CPU interrupt generation for 3-bit ECC events in the ET interrupt logic. 1 = masked/suppressed, 0 = unmasked/enabled. Reset default is 0 (enabled).

ecc_1bit_error_count_reg register

  • Absolute Address: 0x2001020
  • Base Offset: 0x20
  • Size: 0x8

Counts observed 1-bit ECC events across all banks/lanes. The counter increments by the number of asserted lane bits per cycle (0..8).

Bits Identifier Access Reset Name
31:0 count r 0x0 count

count field

Accumulated 1-bit ECC event count.

ecc_2bit_error_count_reg register

  • Absolute Address: 0x2001028
  • Base Offset: 0x28
  • Size: 0x8

Counts observed 2-bit ECC events across all banks/lanes. The counter increments by the number of asserted lane bits per cycle (0..8).

Bits Identifier Access Reset Name
31:0 count r 0x0 count

count field

Accumulated 2-bit ECC event count.

ecc_3bit_error_count_reg register

  • Absolute Address: 0x2001030
  • Base Offset: 0x30
  • Size: 0x8

Counts observed 3-bit ECC events across all banks/lanes. The counter increments by the number of asserted lane bits per cycle (0..8).

Bits Identifier Access Reset Name
31:0 count r 0x0 count

count field

Accumulated 3-bit ECC event count.

bank0_tregs register file

  • Absolute Address: 0x2001100
  • Base Offset: 0x100
  • Size: 0xA0

Register space that contains the test registers for test functionality and debug of the MRAM.

Offset Identifier Name
0x00 mram_control
0x20 mram_control_pulse
0x28 gbl_cfg_ovr_0
0x30 gbl_cfg_0
0x38 man_control_0
0x40 man_control_1
0x48 mram_status_0
0x50 mram_status_1
0x58 mram_dout_even_lower
0x60 mram_dout_odd_lower
0x68 mram_dout_uppers
0x70 bist_status_0
0x78 bist_control
0x88 ecc_correction
0x98 bist_status_1

mram_control register

  • Absolute Address: 0x2001100
  • Base Offset: 0x0
  • Size: 0x20
Bits Identifier Access Reset Name
16:0 addr_in rw 0x0 addr_in
24:17 ce rw 0x0 ce
25 we rw 0x0 we
26 rd_pulse_meas_en rw 0x0 rd_pulse_meas_en
33:27 rca_ovr rw 0x0 rca_ovr
34 rca_ovr_en rw 0x0 rca_ovr_en
35 gbl_cfg_ovr_en rw 0x0 gbl_cfg_ovr_en
36 rd_en_ovr rw 0x0 rd_en_ovr
37 ref_prg_en rw 0x0 ref_prg_en
38 dsleep_mram_en rw 0x0 dsleep_mram_en
39 reg_logic_sup_sleep_ovr rw 0x1 reg_logic_sup_sleep_ovr
40 prg_rd1_byp rw 0x0 prg_rd1_byp
41 wr_en_ovr rw 0x0 wr_en_ovr
42 dma_en rw 0x0 dma_en
43 vblslx_gain_mode_ovr rw 0x0 vblslx_gain_mode_ovr
47:44 powerup_trim_load_ovr rw 0x0 powerup_trim_load_ovr
52 test_cal_en rw 0x0 test_cal_en
55:53 anatest0_sel rw 0x0 anatest0_sel
58:56 anatest1_sel rw 0x0 anatest1_sel
59 eccrom_deep_sleep rw 0x1 eccrom_deep_sleep
60 ref_ecc_sel rw 0x0 ref_ecc_sel
61 disable_cpu_intr rw 0x0 disable_cpu_intr
62 disable_ted rw 0x0 disable_ted
63 ecc_bypass_en rw 0x0 ecc_bypass_en
142:64 bwe rw 0x0 bwe
143 mram_clk_en rw 0x1 mram_clk_en
222:144 din rw 0x0 din
223 test_reg_ovr_en rw 0x0 test_reg_ovr_en
224 otp_wr_en rw 0x0 otp_wr_en
225 rst_cpu_intr rw 0x0 rst_cpu_intr
233:226 dout_en rw 0x0 dout_en
236:234 ecc_en rw 0x0 ecc_en
240:237 even_man_stripe_sel rw 0x0 even_man_stripe_sel
241 even_man_wr_0 rw 0x0 even_man_wr<0>
242 even_man_wr_1 rw 0x0 even_man_wr<1>
243 even_man_wr_2 rw 0x0 even_man_wr<2>
244 even_man_wr_3 rw 0x0 even_man_wr<3>
248:245 odd_man_stripe_sel rw 0x0 odd_man_stripe_sel
249 odd_man_wr_0 rw 0x0 odd_man_wr<0>
250 odd_man_wr_1 rw 0x0 odd_man_wr<1>
251 odd_man_wr_2 rw 0x0 odd_man_wr<2>
252 odd_man_wr_3 rw 0x0 odd_man_wr<3>
253 sah_en rw 0x1 sah_en
254 scc_otp_en rw 0x0 scc_otp_en
255 maintenance_mode rw 0x0 maintenance_mode

mram_control_pulse register

  • Absolute Address: 0x2001120
  • Base Offset: 0x20
  • Size: 0x8
Bits Identifier Access Reset Name
0 powerup_trim_load_ovr_single_pulse_0 rw 0x0 powerup_trim_load_ovr_single_pulse<0>
1 powerup_trim_load_ovr_single_pulse_1 rw 0x0 powerup_trim_load_ovr_single_pulse<1>
2 powerup_trim_load_ovr_single_pulse_2 rw 0x0 powerup_trim_load_ovr_single_pulse<2>
3 powerup_trim_load_ovr_single_pulse_3 rw 0x0 powerup_trim_load_ovr_single_pulse<3>
4 mram_clk_single_pulse rw 0x0 mram_clk_single_pulse

gbl_cfg_ovr_0 register

  • Absolute Address: 0x2001128
  • Base Offset: 0x28
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim rw 0x1 sa_equal_trim<1:0>
4:2 vblslx_boost_trim rw 0x4 vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim rw 0x9 wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim rw 0x6 wr_en_lsb_trim<2:0>
12 vblslx_gain_mode rw 0x0 vblslx_gain_mode
16:13 repulse_trim rw 0x6 repulse_trim<3:0>
17 repulse_en rw 0x1 repulse_en
20:18 rd_en_trim rw 0x5 rd_en_trim<2:0>
25:22 osc_wr_div_trim rw 0x3 osc_wr_div_trim<3:0>
29:26 vblsl_trim rw 0x4 vblsl_trim<3:0>
33:30 tcsel_trim rw 0x3 tcsel_trim<3:0>
37:34 vwlwr_trim rw 0x7 vwlwr_trim<3:0>
41:38 vcr_gate_trim rw 0xE vcr_gate_trim<3:0>

gbl_cfg_0 register

  • Absolute Address: 0x2001130
  • Base Offset: 0x30
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim r sa_equal_trim<1:0>
4:2 vblslx_boost_trim r vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim r wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim r wr_en_lsb_trim<2:0>
12 vblslx_gain_mode r vblslx_gain_mode
16:13 repulse_trim r repulse_trim<3:0>
17 repulse_en r repulse_en
20:18 rd_en_trim r rd_en_trim<2:0>
25:22 osc_wr_div_trim r osc_wr_div_trim<3:0>
29:26 vblsl_trim r vblsl_trim<3:0>
33:30 tcsel_trim r tcsel_trim<3:0>
37:34 vwlwr_trim r vwlwr_trim<3:0>
41:38 vcr_gate_trim r vcr_gate_trim<3:0>

man_control_0 register

  • Absolute Address: 0x2001138
  • Base Offset: 0x38
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk0_man_ccnt r blk0_man_ccnt<3:0>
7:4 blk0_man_cnfg rw 0x0 blk0_man_cnfg<3:0>
9:8 blk0_man_fcnt r blk0_man_fcnt<1:0>
19:16 blk1_man_ccnt r blk1_man_ccnt<3:0>
23:20 blk1_man_cnfg rw 0x0 blk1_man_cnfg<3:0>
25:24 blk1_man_fcnt r blk1_man_fcnt<1:0>
35:32 blk2_man_ccnt r blk2_man_ccnt<3:0>
39:36 blk2_man_cnfg rw 0x0 blk2_man_cnfg<3:0>
41:40 blk2_man_fcnt r blk2_man_fcnt<1:0>
51:48 blk3_man_ccnt r blk3_man_ccnt<3:0>
55:52 blk3_man_cnfg rw 0x0 blk3_man_cnfg<3:0>
57:56 blk3_man_fcnt r blk3_man_fcnt<1:0>

man_control_1 register

  • Absolute Address: 0x2001140
  • Base Offset: 0x40
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk4_man_ccnt r blk4_man_ccnt<3:0>
7:4 blk4_man_cnfg rw 0x0 blk4_man_cnfg<3:0>
9:8 blk4_man_fcnt r blk4_man_fcnt<1:0>
19:16 blk5_man_ccnt r blk5_man_ccnt<3:0>
23:20 blk5_man_cnfg rw 0x0 blk5_man_cnfg<3:0>
25:24 blk5_man_fcnt r blk5_man_fcnt<1:0>
35:32 blk6_man_ccnt r blk6_man_ccnt<3:0>
39:36 blk6_man_cnfg rw 0x0 blk6_man_cnfg<3:0>
41:40 blk6_man_fcnt r blk6_man_fcnt<1:0>
51:48 blk7_man_ccnt r blk7_man_ccnt<3:0>
55:52 blk7_man_cnfg rw 0x0 blk7_man_cnfg<3:0>
57:56 blk7_man_fcnt r blk7_man_fcnt<1:0>

mram_status_0 register

  • Absolute Address: 0x2001148
  • Base Offset: 0x48
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 bist_error_loop r bist_error_loop<15:0>
33:17 bist_error_count r bist_error_count<16:0>
40:34 bist_rh0 r bist_rh0<6:0>
47:41 bist_rh1 r bist_rh1<6:0>
54:48 bist_rh2 r bist_rh2<6:0>
56:55 cpu_intr_flag r cpu_intr_flag
58:57 ecc_1bit_flag r ecc_1bit_flag<1:0>
60:59 ecc_2bit_flag r ecc_2bit_flag<1:0>
62:61 ecc_3bit_flag r ecc_3bit_flag<1:0>

mram_status_1 register

  • Absolute Address: 0x2001150
  • Base Offset: 0x50
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 temp r temp<1:0>
4:3 ecc_1bit r ecc_1bit<1:0>
6:5 ecc_2bit r ecc_2bit<1:0>
8:7 ecc_3bit r ecc_3bit<1:0>
9 pwr_ok r pwr_ok
10 eccrom_pwr_ok r eccrom_pwr_ok
29:11 intr_error_lane0_addr r intr_error_lane0_addr<18:0>
48:30 intr_error_lane1_addr r intr_error_lane1_addr<18:0>
57:50 busy r busy<7:0>

mram_dout_even_lower register

  • Absolute Address: 0x2001158
  • Base Offset: 0x58
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<63:0>

mram_dout_odd_lower register

  • Absolute Address: 0x2001160
  • Base Offset: 0x60
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<142:79>

mram_dout_uppers register

  • Absolute Address: 0x2001168
  • Base Offset: 0x68
  • Size: 0x8
Bits Identifier Access Reset Name
14:0 dout_even_msb r dout<78:64>
46:32 dout_odd_msb r dout<157:143>

bist_status_0 register

  • Absolute Address: 0x2001170
  • Base Offset: 0x70
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 bist_error_value r bist_error_value<63:0>

bist_control register

  • Absolute Address: 0x2001178
  • Base Offset: 0x78
  • Size: 0x10
Bits Identifier Access Reset Name
0 bist_rte_en rw 0x0 bist_rte_en
1 bist_data_inv rw 0x0 bist_data_inv
4:2 bist_add_inc rw 0x0 bist_add_inc<2:0>
5 bist_stop_on_error rw 0x0 bist_stop_on_error
25:6 bist_start_add rw 0x0 bist_start_add<19:0>
45:26 bist_stop_add rw 0x0 bist_stop_add<19:0>
50:46 RH4margin rw 0xA RH4margin<4:0>
55:51 rh2_offset rw 0x0 rh2_offset<4:0>
78:64 bist_error_value r bist_error_value<78:64>
94:79 bist_loop_count rw 0x0 bist_loop_count<15:0>
95 bist_start rw 0x0 bist_start
96 bist_trim_mode rw 0x0 bist_trim_mode
97 bist_stop_on_repl_of rw 0x0 bist_stop_on_repl_of
98 bist_rst_b rw 0x1 bist_rst_b
99 bist_reset rw 0x0 bist_reset
100 bist_rd_en rw 0x0 bist_rd_en
101 bist_wr_en rw 0x0 bist_wr_en

ecc_correction register

  • Absolute Address: 0x2001188
  • Base Offset: 0x88
  • Size: 0x10
Bits Identifier Access Reset Name
127:0 dout r dout<127:0>

bist_status_1 register

  • Absolute Address: 0x2001198
  • Base Offset: 0x98
  • Size: 0x8
Bits Identifier Access Reset Name
19:0 bist_err_add r bist_err_add<19:0>
20 bist_error r bist_error
21 bist_busy r bist_busy

bank1_tregs register file

  • Absolute Address: 0x2001200
  • Base Offset: 0x200
  • Size: 0xA0

Register space that contains the test registers for test functionality and debug of the MRAM.

Offset Identifier Name
0x00 mram_control
0x20 mram_control_pulse
0x28 gbl_cfg_ovr_0
0x30 gbl_cfg_0
0x38 man_control_0
0x40 man_control_1
0x48 mram_status_0
0x50 mram_status_1
0x58 mram_dout_even_lower
0x60 mram_dout_odd_lower
0x68 mram_dout_uppers
0x70 bist_status_0
0x78 bist_control
0x88 ecc_correction
0x98 bist_status_1

mram_control register

  • Absolute Address: 0x2001200
  • Base Offset: 0x0
  • Size: 0x20
Bits Identifier Access Reset Name
16:0 addr_in rw 0x0 addr_in
24:17 ce rw 0x0 ce
25 we rw 0x0 we
26 rd_pulse_meas_en rw 0x0 rd_pulse_meas_en
33:27 rca_ovr rw 0x0 rca_ovr
34 rca_ovr_en rw 0x0 rca_ovr_en
35 gbl_cfg_ovr_en rw 0x0 gbl_cfg_ovr_en
36 rd_en_ovr rw 0x0 rd_en_ovr
37 ref_prg_en rw 0x0 ref_prg_en
38 dsleep_mram_en rw 0x0 dsleep_mram_en
39 reg_logic_sup_sleep_ovr rw 0x1 reg_logic_sup_sleep_ovr
40 prg_rd1_byp rw 0x0 prg_rd1_byp
41 wr_en_ovr rw 0x0 wr_en_ovr
42 dma_en rw 0x0 dma_en
43 vblslx_gain_mode_ovr rw 0x0 vblslx_gain_mode_ovr
47:44 powerup_trim_load_ovr rw 0x0 powerup_trim_load_ovr
52 test_cal_en rw 0x0 test_cal_en
55:53 anatest0_sel rw 0x0 anatest0_sel
58:56 anatest1_sel rw 0x0 anatest1_sel
59 eccrom_deep_sleep rw 0x1 eccrom_deep_sleep
60 ref_ecc_sel rw 0x0 ref_ecc_sel
61 disable_cpu_intr rw 0x0 disable_cpu_intr
62 disable_ted rw 0x0 disable_ted
63 ecc_bypass_en rw 0x0 ecc_bypass_en
142:64 bwe rw 0x0 bwe
143 mram_clk_en rw 0x1 mram_clk_en
222:144 din rw 0x0 din
223 test_reg_ovr_en rw 0x0 test_reg_ovr_en
224 otp_wr_en rw 0x0 otp_wr_en
225 rst_cpu_intr rw 0x0 rst_cpu_intr
233:226 dout_en rw 0x0 dout_en
236:234 ecc_en rw 0x0 ecc_en
240:237 even_man_stripe_sel rw 0x0 even_man_stripe_sel
241 even_man_wr_0 rw 0x0 even_man_wr<0>
242 even_man_wr_1 rw 0x0 even_man_wr<1>
243 even_man_wr_2 rw 0x0 even_man_wr<2>
244 even_man_wr_3 rw 0x0 even_man_wr<3>
248:245 odd_man_stripe_sel rw 0x0 odd_man_stripe_sel
249 odd_man_wr_0 rw 0x0 odd_man_wr<0>
250 odd_man_wr_1 rw 0x0 odd_man_wr<1>
251 odd_man_wr_2 rw 0x0 odd_man_wr<2>
252 odd_man_wr_3 rw 0x0 odd_man_wr<3>
253 sah_en rw 0x1 sah_en
254 scc_otp_en rw 0x0 scc_otp_en
255 maintenance_mode rw 0x0 maintenance_mode

mram_control_pulse register

  • Absolute Address: 0x2001220
  • Base Offset: 0x20
  • Size: 0x8
Bits Identifier Access Reset Name
0 powerup_trim_load_ovr_single_pulse_0 rw 0x0 powerup_trim_load_ovr_single_pulse<0>
1 powerup_trim_load_ovr_single_pulse_1 rw 0x0 powerup_trim_load_ovr_single_pulse<1>
2 powerup_trim_load_ovr_single_pulse_2 rw 0x0 powerup_trim_load_ovr_single_pulse<2>
3 powerup_trim_load_ovr_single_pulse_3 rw 0x0 powerup_trim_load_ovr_single_pulse<3>
4 mram_clk_single_pulse rw 0x0 mram_clk_single_pulse

gbl_cfg_ovr_0 register

  • Absolute Address: 0x2001228
  • Base Offset: 0x28
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim rw 0x1 sa_equal_trim<1:0>
4:2 vblslx_boost_trim rw 0x4 vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim rw 0x9 wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim rw 0x6 wr_en_lsb_trim<2:0>
12 vblslx_gain_mode rw 0x0 vblslx_gain_mode
16:13 repulse_trim rw 0x6 repulse_trim<3:0>
17 repulse_en rw 0x1 repulse_en
20:18 rd_en_trim rw 0x5 rd_en_trim<2:0>
25:22 osc_wr_div_trim rw 0x3 osc_wr_div_trim<3:0>
29:26 vblsl_trim rw 0x4 vblsl_trim<3:0>
33:30 tcsel_trim rw 0x3 tcsel_trim<3:0>
37:34 vwlwr_trim rw 0x7 vwlwr_trim<3:0>
41:38 vcr_gate_trim rw 0xE vcr_gate_trim<3:0>

gbl_cfg_0 register

  • Absolute Address: 0x2001230
  • Base Offset: 0x30
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim r sa_equal_trim<1:0>
4:2 vblslx_boost_trim r vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim r wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim r wr_en_lsb_trim<2:0>
12 vblslx_gain_mode r vblslx_gain_mode
16:13 repulse_trim r repulse_trim<3:0>
17 repulse_en r repulse_en
20:18 rd_en_trim r rd_en_trim<2:0>
25:22 osc_wr_div_trim r osc_wr_div_trim<3:0>
29:26 vblsl_trim r vblsl_trim<3:0>
33:30 tcsel_trim r tcsel_trim<3:0>
37:34 vwlwr_trim r vwlwr_trim<3:0>
41:38 vcr_gate_trim r vcr_gate_trim<3:0>

man_control_0 register

  • Absolute Address: 0x2001238
  • Base Offset: 0x38
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk0_man_ccnt r blk0_man_ccnt<3:0>
7:4 blk0_man_cnfg rw 0x0 blk0_man_cnfg<3:0>
9:8 blk0_man_fcnt r blk0_man_fcnt<1:0>
19:16 blk1_man_ccnt r blk1_man_ccnt<3:0>
23:20 blk1_man_cnfg rw 0x0 blk1_man_cnfg<3:0>
25:24 blk1_man_fcnt r blk1_man_fcnt<1:0>
35:32 blk2_man_ccnt r blk2_man_ccnt<3:0>
39:36 blk2_man_cnfg rw 0x0 blk2_man_cnfg<3:0>
41:40 blk2_man_fcnt r blk2_man_fcnt<1:0>
51:48 blk3_man_ccnt r blk3_man_ccnt<3:0>
55:52 blk3_man_cnfg rw 0x0 blk3_man_cnfg<3:0>
57:56 blk3_man_fcnt r blk3_man_fcnt<1:0>

man_control_1 register

  • Absolute Address: 0x2001240
  • Base Offset: 0x40
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk4_man_ccnt r blk4_man_ccnt<3:0>
7:4 blk4_man_cnfg rw 0x0 blk4_man_cnfg<3:0>
9:8 blk4_man_fcnt r blk4_man_fcnt<1:0>
19:16 blk5_man_ccnt r blk5_man_ccnt<3:0>
23:20 blk5_man_cnfg rw 0x0 blk5_man_cnfg<3:0>
25:24 blk5_man_fcnt r blk5_man_fcnt<1:0>
35:32 blk6_man_ccnt r blk6_man_ccnt<3:0>
39:36 blk6_man_cnfg rw 0x0 blk6_man_cnfg<3:0>
41:40 blk6_man_fcnt r blk6_man_fcnt<1:0>
51:48 blk7_man_ccnt r blk7_man_ccnt<3:0>
55:52 blk7_man_cnfg rw 0x0 blk7_man_cnfg<3:0>
57:56 blk7_man_fcnt r blk7_man_fcnt<1:0>

mram_status_0 register

  • Absolute Address: 0x2001248
  • Base Offset: 0x48
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 bist_error_loop r bist_error_loop<15:0>
33:17 bist_error_count r bist_error_count<16:0>
40:34 bist_rh0 r bist_rh0<6:0>
47:41 bist_rh1 r bist_rh1<6:0>
54:48 bist_rh2 r bist_rh2<6:0>
56:55 cpu_intr_flag r cpu_intr_flag
58:57 ecc_1bit_flag r ecc_1bit_flag<1:0>
60:59 ecc_2bit_flag r ecc_2bit_flag<1:0>
62:61 ecc_3bit_flag r ecc_3bit_flag<1:0>

mram_status_1 register

  • Absolute Address: 0x2001250
  • Base Offset: 0x50
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 temp r temp<1:0>
4:3 ecc_1bit r ecc_1bit<1:0>
6:5 ecc_2bit r ecc_2bit<1:0>
8:7 ecc_3bit r ecc_3bit<1:0>
9 pwr_ok r pwr_ok
10 eccrom_pwr_ok r eccrom_pwr_ok
29:11 intr_error_lane0_addr r intr_error_lane0_addr<18:0>
48:30 intr_error_lane1_addr r intr_error_lane1_addr<18:0>
57:50 busy r busy<7:0>

mram_dout_even_lower register

  • Absolute Address: 0x2001258
  • Base Offset: 0x58
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<63:0>

mram_dout_odd_lower register

  • Absolute Address: 0x2001260
  • Base Offset: 0x60
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<142:79>

mram_dout_uppers register

  • Absolute Address: 0x2001268
  • Base Offset: 0x68
  • Size: 0x8
Bits Identifier Access Reset Name
14:0 dout_even_msb r dout<78:64>
46:32 dout_odd_msb r dout<157:143>

bist_status_0 register

  • Absolute Address: 0x2001270
  • Base Offset: 0x70
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 bist_error_value r bist_error_value<63:0>

bist_control register

  • Absolute Address: 0x2001278
  • Base Offset: 0x78
  • Size: 0x10
Bits Identifier Access Reset Name
0 bist_rte_en rw 0x0 bist_rte_en
1 bist_data_inv rw 0x0 bist_data_inv
4:2 bist_add_inc rw 0x0 bist_add_inc<2:0>
5 bist_stop_on_error rw 0x0 bist_stop_on_error
25:6 bist_start_add rw 0x0 bist_start_add<19:0>
45:26 bist_stop_add rw 0x0 bist_stop_add<19:0>
50:46 RH4margin rw 0xA RH4margin<4:0>
55:51 rh2_offset rw 0x0 rh2_offset<4:0>
78:64 bist_error_value r bist_error_value<78:64>
94:79 bist_loop_count rw 0x0 bist_loop_count<15:0>
95 bist_start rw 0x0 bist_start
96 bist_trim_mode rw 0x0 bist_trim_mode
97 bist_stop_on_repl_of rw 0x0 bist_stop_on_repl_of
98 bist_rst_b rw 0x1 bist_rst_b
99 bist_reset rw 0x0 bist_reset
100 bist_rd_en rw 0x0 bist_rd_en
101 bist_wr_en rw 0x0 bist_wr_en

ecc_correction register

  • Absolute Address: 0x2001288
  • Base Offset: 0x88
  • Size: 0x10
Bits Identifier Access Reset Name
127:0 dout r dout<127:0>

bist_status_1 register

  • Absolute Address: 0x2001298
  • Base Offset: 0x98
  • Size: 0x8
Bits Identifier Access Reset Name
19:0 bist_err_add r bist_err_add<19:0>
20 bist_error r bist_error
21 bist_busy r bist_busy

bank2_tregs register file

  • Absolute Address: 0x2001300
  • Base Offset: 0x300
  • Size: 0xA0

Register space that contains the test registers for test functionality and debug of the MRAM.

Offset Identifier Name
0x00 mram_control
0x20 mram_control_pulse
0x28 gbl_cfg_ovr_0
0x30 gbl_cfg_0
0x38 man_control_0
0x40 man_control_1
0x48 mram_status_0
0x50 mram_status_1
0x58 mram_dout_even_lower
0x60 mram_dout_odd_lower
0x68 mram_dout_uppers
0x70 bist_status_0
0x78 bist_control
0x88 ecc_correction
0x98 bist_status_1

mram_control register

  • Absolute Address: 0x2001300
  • Base Offset: 0x0
  • Size: 0x20
Bits Identifier Access Reset Name
16:0 addr_in rw 0x0 addr_in
24:17 ce rw 0x0 ce
25 we rw 0x0 we
26 rd_pulse_meas_en rw 0x0 rd_pulse_meas_en
33:27 rca_ovr rw 0x0 rca_ovr
34 rca_ovr_en rw 0x0 rca_ovr_en
35 gbl_cfg_ovr_en rw 0x0 gbl_cfg_ovr_en
36 rd_en_ovr rw 0x0 rd_en_ovr
37 ref_prg_en rw 0x0 ref_prg_en
38 dsleep_mram_en rw 0x0 dsleep_mram_en
39 reg_logic_sup_sleep_ovr rw 0x1 reg_logic_sup_sleep_ovr
40 prg_rd1_byp rw 0x0 prg_rd1_byp
41 wr_en_ovr rw 0x0 wr_en_ovr
42 dma_en rw 0x0 dma_en
43 vblslx_gain_mode_ovr rw 0x0 vblslx_gain_mode_ovr
47:44 powerup_trim_load_ovr rw 0x0 powerup_trim_load_ovr
52 test_cal_en rw 0x0 test_cal_en
55:53 anatest0_sel rw 0x0 anatest0_sel
58:56 anatest1_sel rw 0x0 anatest1_sel
59 eccrom_deep_sleep rw 0x1 eccrom_deep_sleep
60 ref_ecc_sel rw 0x0 ref_ecc_sel
61 disable_cpu_intr rw 0x0 disable_cpu_intr
62 disable_ted rw 0x0 disable_ted
63 ecc_bypass_en rw 0x0 ecc_bypass_en
142:64 bwe rw 0x0 bwe
143 mram_clk_en rw 0x1 mram_clk_en
222:144 din rw 0x0 din
223 test_reg_ovr_en rw 0x0 test_reg_ovr_en
224 otp_wr_en rw 0x0 otp_wr_en
225 rst_cpu_intr rw 0x0 rst_cpu_intr
233:226 dout_en rw 0x0 dout_en
236:234 ecc_en rw 0x0 ecc_en
240:237 even_man_stripe_sel rw 0x0 even_man_stripe_sel
241 even_man_wr_0 rw 0x0 even_man_wr<0>
242 even_man_wr_1 rw 0x0 even_man_wr<1>
243 even_man_wr_2 rw 0x0 even_man_wr<2>
244 even_man_wr_3 rw 0x0 even_man_wr<3>
248:245 odd_man_stripe_sel rw 0x0 odd_man_stripe_sel
249 odd_man_wr_0 rw 0x0 odd_man_wr<0>
250 odd_man_wr_1 rw 0x0 odd_man_wr<1>
251 odd_man_wr_2 rw 0x0 odd_man_wr<2>
252 odd_man_wr_3 rw 0x0 odd_man_wr<3>
253 sah_en rw 0x1 sah_en
254 scc_otp_en rw 0x0 scc_otp_en
255 maintenance_mode rw 0x0 maintenance_mode

mram_control_pulse register

  • Absolute Address: 0x2001320
  • Base Offset: 0x20
  • Size: 0x8
Bits Identifier Access Reset Name
0 powerup_trim_load_ovr_single_pulse_0 rw 0x0 powerup_trim_load_ovr_single_pulse<0>
1 powerup_trim_load_ovr_single_pulse_1 rw 0x0 powerup_trim_load_ovr_single_pulse<1>
2 powerup_trim_load_ovr_single_pulse_2 rw 0x0 powerup_trim_load_ovr_single_pulse<2>
3 powerup_trim_load_ovr_single_pulse_3 rw 0x0 powerup_trim_load_ovr_single_pulse<3>
4 mram_clk_single_pulse rw 0x0 mram_clk_single_pulse

gbl_cfg_ovr_0 register

  • Absolute Address: 0x2001328
  • Base Offset: 0x28
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim rw 0x1 sa_equal_trim<1:0>
4:2 vblslx_boost_trim rw 0x4 vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim rw 0x9 wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim rw 0x6 wr_en_lsb_trim<2:0>
12 vblslx_gain_mode rw 0x0 vblslx_gain_mode
16:13 repulse_trim rw 0x6 repulse_trim<3:0>
17 repulse_en rw 0x1 repulse_en
20:18 rd_en_trim rw 0x5 rd_en_trim<2:0>
25:22 osc_wr_div_trim rw 0x3 osc_wr_div_trim<3:0>
29:26 vblsl_trim rw 0x4 vblsl_trim<3:0>
33:30 tcsel_trim rw 0x3 tcsel_trim<3:0>
37:34 vwlwr_trim rw 0x7 vwlwr_trim<3:0>
41:38 vcr_gate_trim rw 0xE vcr_gate_trim<3:0>

gbl_cfg_0 register

  • Absolute Address: 0x2001330
  • Base Offset: 0x30
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim r sa_equal_trim<1:0>
4:2 vblslx_boost_trim r vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim r wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim r wr_en_lsb_trim<2:0>
12 vblslx_gain_mode r vblslx_gain_mode
16:13 repulse_trim r repulse_trim<3:0>
17 repulse_en r repulse_en
20:18 rd_en_trim r rd_en_trim<2:0>
25:22 osc_wr_div_trim r osc_wr_div_trim<3:0>
29:26 vblsl_trim r vblsl_trim<3:0>
33:30 tcsel_trim r tcsel_trim<3:0>
37:34 vwlwr_trim r vwlwr_trim<3:0>
41:38 vcr_gate_trim r vcr_gate_trim<3:0>

man_control_0 register

  • Absolute Address: 0x2001338
  • Base Offset: 0x38
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk0_man_ccnt r blk0_man_ccnt<3:0>
7:4 blk0_man_cnfg rw 0x0 blk0_man_cnfg<3:0>
9:8 blk0_man_fcnt r blk0_man_fcnt<1:0>
19:16 blk1_man_ccnt r blk1_man_ccnt<3:0>
23:20 blk1_man_cnfg rw 0x0 blk1_man_cnfg<3:0>
25:24 blk1_man_fcnt r blk1_man_fcnt<1:0>
35:32 blk2_man_ccnt r blk2_man_ccnt<3:0>
39:36 blk2_man_cnfg rw 0x0 blk2_man_cnfg<3:0>
41:40 blk2_man_fcnt r blk2_man_fcnt<1:0>
51:48 blk3_man_ccnt r blk3_man_ccnt<3:0>
55:52 blk3_man_cnfg rw 0x0 blk3_man_cnfg<3:0>
57:56 blk3_man_fcnt r blk3_man_fcnt<1:0>

man_control_1 register

  • Absolute Address: 0x2001340
  • Base Offset: 0x40
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk4_man_ccnt r blk4_man_ccnt<3:0>
7:4 blk4_man_cnfg rw 0x0 blk4_man_cnfg<3:0>
9:8 blk4_man_fcnt r blk4_man_fcnt<1:0>
19:16 blk5_man_ccnt r blk5_man_ccnt<3:0>
23:20 blk5_man_cnfg rw 0x0 blk5_man_cnfg<3:0>
25:24 blk5_man_fcnt r blk5_man_fcnt<1:0>
35:32 blk6_man_ccnt r blk6_man_ccnt<3:0>
39:36 blk6_man_cnfg rw 0x0 blk6_man_cnfg<3:0>
41:40 blk6_man_fcnt r blk6_man_fcnt<1:0>
51:48 blk7_man_ccnt r blk7_man_ccnt<3:0>
55:52 blk7_man_cnfg rw 0x0 blk7_man_cnfg<3:0>
57:56 blk7_man_fcnt r blk7_man_fcnt<1:0>

mram_status_0 register

  • Absolute Address: 0x2001348
  • Base Offset: 0x48
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 bist_error_loop r bist_error_loop<15:0>
33:17 bist_error_count r bist_error_count<16:0>
40:34 bist_rh0 r bist_rh0<6:0>
47:41 bist_rh1 r bist_rh1<6:0>
54:48 bist_rh2 r bist_rh2<6:0>
56:55 cpu_intr_flag r cpu_intr_flag
58:57 ecc_1bit_flag r ecc_1bit_flag<1:0>
60:59 ecc_2bit_flag r ecc_2bit_flag<1:0>
62:61 ecc_3bit_flag r ecc_3bit_flag<1:0>

mram_status_1 register

  • Absolute Address: 0x2001350
  • Base Offset: 0x50
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 temp r temp<1:0>
4:3 ecc_1bit r ecc_1bit<1:0>
6:5 ecc_2bit r ecc_2bit<1:0>
8:7 ecc_3bit r ecc_3bit<1:0>
9 pwr_ok r pwr_ok
10 eccrom_pwr_ok r eccrom_pwr_ok
29:11 intr_error_lane0_addr r intr_error_lane0_addr<18:0>
48:30 intr_error_lane1_addr r intr_error_lane1_addr<18:0>
57:50 busy r busy<7:0>

mram_dout_even_lower register

  • Absolute Address: 0x2001358
  • Base Offset: 0x58
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<63:0>

mram_dout_odd_lower register

  • Absolute Address: 0x2001360
  • Base Offset: 0x60
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<142:79>

mram_dout_uppers register

  • Absolute Address: 0x2001368
  • Base Offset: 0x68
  • Size: 0x8
Bits Identifier Access Reset Name
14:0 dout_even_msb r dout<78:64>
46:32 dout_odd_msb r dout<157:143>

bist_status_0 register

  • Absolute Address: 0x2001370
  • Base Offset: 0x70
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 bist_error_value r bist_error_value<63:0>

bist_control register

  • Absolute Address: 0x2001378
  • Base Offset: 0x78
  • Size: 0x10
Bits Identifier Access Reset Name
0 bist_rte_en rw 0x0 bist_rte_en
1 bist_data_inv rw 0x0 bist_data_inv
4:2 bist_add_inc rw 0x0 bist_add_inc<2:0>
5 bist_stop_on_error rw 0x0 bist_stop_on_error
25:6 bist_start_add rw 0x0 bist_start_add<19:0>
45:26 bist_stop_add rw 0x0 bist_stop_add<19:0>
50:46 RH4margin rw 0xA RH4margin<4:0>
55:51 rh2_offset rw 0x0 rh2_offset<4:0>
78:64 bist_error_value r bist_error_value<78:64>
94:79 bist_loop_count rw 0x0 bist_loop_count<15:0>
95 bist_start rw 0x0 bist_start
96 bist_trim_mode rw 0x0 bist_trim_mode
97 bist_stop_on_repl_of rw 0x0 bist_stop_on_repl_of
98 bist_rst_b rw 0x1 bist_rst_b
99 bist_reset rw 0x0 bist_reset
100 bist_rd_en rw 0x0 bist_rd_en
101 bist_wr_en rw 0x0 bist_wr_en

ecc_correction register

  • Absolute Address: 0x2001388
  • Base Offset: 0x88
  • Size: 0x10
Bits Identifier Access Reset Name
127:0 dout r dout<127:0>

bist_status_1 register

  • Absolute Address: 0x2001398
  • Base Offset: 0x98
  • Size: 0x8
Bits Identifier Access Reset Name
19:0 bist_err_add r bist_err_add<19:0>
20 bist_error r bist_error
21 bist_busy r bist_busy

bank3_tregs register file

  • Absolute Address: 0x2001400
  • Base Offset: 0x400
  • Size: 0xA0

Register space that contains the test registers for test functionality and debug of the MRAM.

Offset Identifier Name
0x00 mram_control
0x20 mram_control_pulse
0x28 gbl_cfg_ovr_0
0x30 gbl_cfg_0
0x38 man_control_0
0x40 man_control_1
0x48 mram_status_0
0x50 mram_status_1
0x58 mram_dout_even_lower
0x60 mram_dout_odd_lower
0x68 mram_dout_uppers
0x70 bist_status_0
0x78 bist_control
0x88 ecc_correction
0x98 bist_status_1

mram_control register

  • Absolute Address: 0x2001400
  • Base Offset: 0x0
  • Size: 0x20
Bits Identifier Access Reset Name
16:0 addr_in rw 0x0 addr_in
24:17 ce rw 0x0 ce
25 we rw 0x0 we
26 rd_pulse_meas_en rw 0x0 rd_pulse_meas_en
33:27 rca_ovr rw 0x0 rca_ovr
34 rca_ovr_en rw 0x0 rca_ovr_en
35 gbl_cfg_ovr_en rw 0x0 gbl_cfg_ovr_en
36 rd_en_ovr rw 0x0 rd_en_ovr
37 ref_prg_en rw 0x0 ref_prg_en
38 dsleep_mram_en rw 0x0 dsleep_mram_en
39 reg_logic_sup_sleep_ovr rw 0x1 reg_logic_sup_sleep_ovr
40 prg_rd1_byp rw 0x0 prg_rd1_byp
41 wr_en_ovr rw 0x0 wr_en_ovr
42 dma_en rw 0x0 dma_en
43 vblslx_gain_mode_ovr rw 0x0 vblslx_gain_mode_ovr
47:44 powerup_trim_load_ovr rw 0x0 powerup_trim_load_ovr
52 test_cal_en rw 0x0 test_cal_en
55:53 anatest0_sel rw 0x0 anatest0_sel
58:56 anatest1_sel rw 0x0 anatest1_sel
59 eccrom_deep_sleep rw 0x1 eccrom_deep_sleep
60 ref_ecc_sel rw 0x0 ref_ecc_sel
61 disable_cpu_intr rw 0x0 disable_cpu_intr
62 disable_ted rw 0x0 disable_ted
63 ecc_bypass_en rw 0x0 ecc_bypass_en
142:64 bwe rw 0x0 bwe
143 mram_clk_en rw 0x1 mram_clk_en
222:144 din rw 0x0 din
223 test_reg_ovr_en rw 0x0 test_reg_ovr_en
224 otp_wr_en rw 0x0 otp_wr_en
225 rst_cpu_intr rw 0x0 rst_cpu_intr
233:226 dout_en rw 0x0 dout_en
236:234 ecc_en rw 0x0 ecc_en
240:237 even_man_stripe_sel rw 0x0 even_man_stripe_sel
241 even_man_wr_0 rw 0x0 even_man_wr<0>
242 even_man_wr_1 rw 0x0 even_man_wr<1>
243 even_man_wr_2 rw 0x0 even_man_wr<2>
244 even_man_wr_3 rw 0x0 even_man_wr<3>
248:245 odd_man_stripe_sel rw 0x0 odd_man_stripe_sel
249 odd_man_wr_0 rw 0x0 odd_man_wr<0>
250 odd_man_wr_1 rw 0x0 odd_man_wr<1>
251 odd_man_wr_2 rw 0x0 odd_man_wr<2>
252 odd_man_wr_3 rw 0x0 odd_man_wr<3>
253 sah_en rw 0x1 sah_en
254 scc_otp_en rw 0x0 scc_otp_en
255 maintenance_mode rw 0x0 maintenance_mode

mram_control_pulse register

  • Absolute Address: 0x2001420
  • Base Offset: 0x20
  • Size: 0x8
Bits Identifier Access Reset Name
0 powerup_trim_load_ovr_single_pulse_0 rw 0x0 powerup_trim_load_ovr_single_pulse<0>
1 powerup_trim_load_ovr_single_pulse_1 rw 0x0 powerup_trim_load_ovr_single_pulse<1>
2 powerup_trim_load_ovr_single_pulse_2 rw 0x0 powerup_trim_load_ovr_single_pulse<2>
3 powerup_trim_load_ovr_single_pulse_3 rw 0x0 powerup_trim_load_ovr_single_pulse<3>
4 mram_clk_single_pulse rw 0x0 mram_clk_single_pulse

gbl_cfg_ovr_0 register

  • Absolute Address: 0x2001428
  • Base Offset: 0x28
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim rw 0x1 sa_equal_trim<1:0>
4:2 vblslx_boost_trim rw 0x4 vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim rw 0x9 wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim rw 0x6 wr_en_lsb_trim<2:0>
12 vblslx_gain_mode rw 0x0 vblslx_gain_mode
16:13 repulse_trim rw 0x6 repulse_trim<3:0>
17 repulse_en rw 0x1 repulse_en
20:18 rd_en_trim rw 0x5 rd_en_trim<2:0>
25:22 osc_wr_div_trim rw 0x3 osc_wr_div_trim<3:0>
29:26 vblsl_trim rw 0x4 vblsl_trim<3:0>
33:30 tcsel_trim rw 0x3 tcsel_trim<3:0>
37:34 vwlwr_trim rw 0x7 vwlwr_trim<3:0>
41:38 vcr_gate_trim rw 0xE vcr_gate_trim<3:0>

gbl_cfg_0 register

  • Absolute Address: 0x2001430
  • Base Offset: 0x30
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 sa_equal_trim r sa_equal_trim<1:0>
4:2 vblslx_boost_trim r vblslx_boost_trim<2:0>
8:5 wr_en_msb_trim r wr_en_msb_trim<3:0>
11:9 wr_en_lsb_trim r wr_en_lsb_trim<2:0>
12 vblslx_gain_mode r vblslx_gain_mode
16:13 repulse_trim r repulse_trim<3:0>
17 repulse_en r repulse_en
20:18 rd_en_trim r rd_en_trim<2:0>
25:22 osc_wr_div_trim r osc_wr_div_trim<3:0>
29:26 vblsl_trim r vblsl_trim<3:0>
33:30 tcsel_trim r tcsel_trim<3:0>
37:34 vwlwr_trim r vwlwr_trim<3:0>
41:38 vcr_gate_trim r vcr_gate_trim<3:0>

man_control_0 register

  • Absolute Address: 0x2001438
  • Base Offset: 0x38
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk0_man_ccnt r blk0_man_ccnt<3:0>
7:4 blk0_man_cnfg rw 0x0 blk0_man_cnfg<3:0>
9:8 blk0_man_fcnt r blk0_man_fcnt<1:0>
19:16 blk1_man_ccnt r blk1_man_ccnt<3:0>
23:20 blk1_man_cnfg rw 0x0 blk1_man_cnfg<3:0>
25:24 blk1_man_fcnt r blk1_man_fcnt<1:0>
35:32 blk2_man_ccnt r blk2_man_ccnt<3:0>
39:36 blk2_man_cnfg rw 0x0 blk2_man_cnfg<3:0>
41:40 blk2_man_fcnt r blk2_man_fcnt<1:0>
51:48 blk3_man_ccnt r blk3_man_ccnt<3:0>
55:52 blk3_man_cnfg rw 0x0 blk3_man_cnfg<3:0>
57:56 blk3_man_fcnt r blk3_man_fcnt<1:0>

man_control_1 register

  • Absolute Address: 0x2001440
  • Base Offset: 0x40
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 blk4_man_ccnt r blk4_man_ccnt<3:0>
7:4 blk4_man_cnfg rw 0x0 blk4_man_cnfg<3:0>
9:8 blk4_man_fcnt r blk4_man_fcnt<1:0>
19:16 blk5_man_ccnt r blk5_man_ccnt<3:0>
23:20 blk5_man_cnfg rw 0x0 blk5_man_cnfg<3:0>
25:24 blk5_man_fcnt r blk5_man_fcnt<1:0>
35:32 blk6_man_ccnt r blk6_man_ccnt<3:0>
39:36 blk6_man_cnfg rw 0x0 blk6_man_cnfg<3:0>
41:40 blk6_man_fcnt r blk6_man_fcnt<1:0>
51:48 blk7_man_ccnt r blk7_man_ccnt<3:0>
55:52 blk7_man_cnfg rw 0x0 blk7_man_cnfg<3:0>
57:56 blk7_man_fcnt r blk7_man_fcnt<1:0>

mram_status_0 register

  • Absolute Address: 0x2001448
  • Base Offset: 0x48
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 bist_error_loop r bist_error_loop<15:0>
33:17 bist_error_count r bist_error_count<16:0>
40:34 bist_rh0 r bist_rh0<6:0>
47:41 bist_rh1 r bist_rh1<6:0>
54:48 bist_rh2 r bist_rh2<6:0>
56:55 cpu_intr_flag r cpu_intr_flag
58:57 ecc_1bit_flag r ecc_1bit_flag<1:0>
60:59 ecc_2bit_flag r ecc_2bit_flag<1:0>
62:61 ecc_3bit_flag r ecc_3bit_flag<1:0>

mram_status_1 register

  • Absolute Address: 0x2001450
  • Base Offset: 0x50
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 temp r temp<1:0>
4:3 ecc_1bit r ecc_1bit<1:0>
6:5 ecc_2bit r ecc_2bit<1:0>
8:7 ecc_3bit r ecc_3bit<1:0>
9 pwr_ok r pwr_ok
10 eccrom_pwr_ok r eccrom_pwr_ok
29:11 intr_error_lane0_addr r intr_error_lane0_addr<18:0>
48:30 intr_error_lane1_addr r intr_error_lane1_addr<18:0>
57:50 busy r busy<7:0>

mram_dout_even_lower register

  • Absolute Address: 0x2001458
  • Base Offset: 0x58
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<63:0>

mram_dout_odd_lower register

  • Absolute Address: 0x2001460
  • Base Offset: 0x60
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 dout r dout<142:79>

mram_dout_uppers register

  • Absolute Address: 0x2001468
  • Base Offset: 0x68
  • Size: 0x8
Bits Identifier Access Reset Name
14:0 dout_even_msb r dout<78:64>
46:32 dout_odd_msb r dout<157:143>

bist_status_0 register

  • Absolute Address: 0x2001470
  • Base Offset: 0x70
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 bist_error_value r bist_error_value<63:0>

bist_control register

  • Absolute Address: 0x2001478
  • Base Offset: 0x78
  • Size: 0x10
Bits Identifier Access Reset Name
0 bist_rte_en rw 0x0 bist_rte_en
1 bist_data_inv rw 0x0 bist_data_inv
4:2 bist_add_inc rw 0x0 bist_add_inc<2:0>
5 bist_stop_on_error rw 0x0 bist_stop_on_error
25:6 bist_start_add rw 0x0 bist_start_add<19:0>
45:26 bist_stop_add rw 0x0 bist_stop_add<19:0>
50:46 RH4margin rw 0xA RH4margin<4:0>
55:51 rh2_offset rw 0x0 rh2_offset<4:0>
78:64 bist_error_value r bist_error_value<78:64>
94:79 bist_loop_count rw 0x0 bist_loop_count<15:0>
95 bist_start rw 0x0 bist_start
96 bist_trim_mode rw 0x0 bist_trim_mode
97 bist_stop_on_repl_of rw 0x0 bist_stop_on_repl_of
98 bist_rst_b rw 0x1 bist_rst_b
99 bist_reset rw 0x0 bist_reset
100 bist_rd_en rw 0x0 bist_rd_en
101 bist_wr_en rw 0x0 bist_wr_en

ecc_correction register

  • Absolute Address: 0x2001488
  • Base Offset: 0x88
  • Size: 0x10
Bits Identifier Access Reset Name
127:0 dout r dout<127:0>

bist_status_1 register

  • Absolute Address: 0x2001498
  • Base Offset: 0x98
  • Size: 0x8
Bits Identifier Access Reset Name
19:0 bist_err_add r bist_err_add<19:0>
20 bist_error r bist_error
21 bist_busy r bist_busy

i2c_registers address map

  • Absolute Address: 0x2002000
  • Base Offset: 0x2002000
  • Size: 0x24
Offset Identifier Name
0x00 Commands Command Registers
0x08 Status
0x10 Cfg
0x18 Wdata
0x20 Rdata

Commands register

  • Absolute Address: 0x2002000
  • Base Offset: 0x0
  • Size: 0x4

I2C Command Registers

Bits Identifier Access Reset Name
0 start rw 0x0
1 read rw 0x0
2 write rw 0x0
3 write_multiple rw 0x0
4 stop rw 0x0
5 enq rw 0x0
14:8 address rw 0x0

start field

Start

read field

TODO

write field

TODO

write_multiple field

TODO

stop field

TODO

enq field

TODO

address field

Address

Status register

  • Absolute Address: 0x2002008
  • Base Offset: 0x8
  • Size: 0x4
Bits Identifier Access Reset Name
0 busy r 0x0
1 bus_control r 0x0
2 bus_active r 0x0
3 missed_ack r, rclr 0x0
4 cmd_ff_n_full r
5 tx_ff_n_full r
6 rx_ff_n_full r
7 rx_overflow r

busy field

Transaction ongoing

bus_control field

Transaction ongoing

bus_active field

Transaction ongoing

missed_ack field

Transaction ongoing

cmd_ff_n_full field

cmd_ff not Full

tx_ff_n_full field

tx_ff not Full

rx_ff_n_full field

rx_ff not Full

rx_overflow field

rx overflow

Cfg register

  • Absolute Address: 0x2002010
  • Base Offset: 0x10
  • Size: 0x4
Bits Identifier Access Reset Name
15:0 prescale rw 0x0
16 stop_on_idle rw 0x0

prescale field

Prescale

stop_on_idle field

Stop on Idle

Wdata register

  • Absolute Address: 0x2002018
  • Base Offset: 0x18
  • Size: 0x4
Bits Identifier Access Reset Name
7:0 wdata w 0x0
8 wlast w 0x0

wdata field

TxData

wlast field

Write Last

Rdata register

  • Absolute Address: 0x2002020
  • Base Offset: 0x20
  • Size: 0x4
Bits Identifier Access Reset Name
7:0 rdata r 0x0
8 rlast r 0x0

rdata field

RxData

rlast field

Read Last

qspi_registers address map

  • Absolute Address: 0x2003000
  • Base Offset: 0x2003000
  • Size: 0x64

Shakti QSPI Registers

Offset Identifier Name
0x00 CR
0x08 DCR
0x10 SR
0x18 FCR
0x20 DLR
0x28 CCR
0x30 AR
0x38 ABR
0x40 DR
0x48 PSMKR
0x50 PSMAR
0x58 PIR
0x60 LPTR

CR register

  • Absolute Address: 0x2003000
  • Base Offset: 0x0
  • Size: 0x4
Bits Identifier Access Reset Name
0 qspi_enable rw 0x0
1 abort rw 0x0
2 dmaen rw 0x0
3 tcen rw 0x0
4 sshift rw 0x0
6 dfm rw 0x0
7 fsel rw 0x0
12:8 fthres rw 0x0
16 teie rw 0x0
17 tcie rw 0x0
18 ftie rw 0x0
19 smie rw 0x0
20 toie rw 0x0
22 apms rw 0x0
23 pmm rw 0x0
31:24 prescaler rw 0x0

qspi_enable field

QSPI enable

abort field

Abort request

dmaen field

DMA enable

tcen field

Timeout counter enable

sshift field

Sample shift

dfm field

Dual flash mode enable

fsel field

Flash select

fthres field

FIFO threshold level

teie field

Transfer error interrupt enable

tcie field

Transfer complete interrupt enable

ftie field

FIFO threshold interrupt enable

smie field

Status match interrupt enable

toie field

Timeout interrupt enable

apms field

Automatic polling mode stop

pmm field

Polling match mode (0=AND,1=OR)

prescaler field

Clock prescaler (PRESCALER[7:0])

DCR register

  • Absolute Address: 0x2003008
  • Base Offset: 0x8
  • Size: 0x4
Bits Identifier Access Reset Name
0 ckmode rw 0x0
10:8 csht rw 0x0
20:16 fsize rw 0x0

ckmode field

Clock mode (0=Mode0,1=Mode3)

csht field

Chip select high time

fsize field

Flash memory size

SR register

  • Absolute Address: 0x2003010
  • Base Offset: 0x10
  • Size: 0x4
Bits Identifier Access Reset Name
0 tef r
1 tcf r
2 ftf r
3 smf r
4 tof r
5 busy r
13:8 flevel r

tef field

Transfer error flag

tcf field

Transfer complete flag

ftf field

FIFO threshold flag

smf field

Status match flag

tof field

Timeout flag

busy field

Busy flag

flevel field

FIFO level

FCR register

  • Absolute Address: 0x2003018
  • Base Offset: 0x18
  • Size: 0x4
Bits Identifier Access Reset Name
0 ctef rw 0x0
1 ctcf rw 0x0
3 csmf rw 0x0
4 ctof rw 0x0

ctef field

Clear transfer error flag

ctcf field

Clear transfer complete flag

csmf field

Clear status match flag

ctof field

Clear timeout flag

DLR register

  • Absolute Address: 0x2003020
  • Base Offset: 0x20
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 dl rw 0x0

dl field

Number of bytes to transfer (value+1)

CCR register

  • Absolute Address: 0x2003028
  • Base Offset: 0x28
  • Size: 0x4
Bits Identifier Access Reset Name
7:0 instr rw 0x0
9:8 imode rw 0x0
11:10 admode rw 0x0
13:12 adsize rw 0x0
15:14 abmode rw 0x0
17:16 absize rw 0x0
22:18 dcyc rw 0x0
23 d_conf rw 0x0
25:24 dmode rw 0x0
27:26 fmode rw 0x0
28 sioo rw 0x0
30 dhhc rw 0x0
31 ddrm rw 0x0

instr field

Instruction opcode

imode field

Instruction mode

admode field

Address mode

adsize field

Address size

abmode field

Alternate byte mode

absize field

Alternate byte size

dcyc field

Dummy cycles

d_conf field

Dummy confirmation

dmode field

Data mode

fmode field

Functional mode

sioo field

Send instruction only once

dhhc field

DDR hold quarter cycle

ddrm field

DDR mode enable

AR register

  • Absolute Address: 0x2003030
  • Base Offset: 0x30
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 address rw 0x0

address field

Flash address

ABR register

  • Absolute Address: 0x2003038
  • Base Offset: 0x38
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 alternate_bytes rw 0x0

alternate_bytes field

Alternate bytes

DR register

  • Absolute Address: 0x2003040
  • Base Offset: 0x40
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 data rw 0x0

data field

Data register (FIFO access)

PSMKR register

  • Absolute Address: 0x2003048
  • Base Offset: 0x48
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 mask rw 0x0

mask field

Polling status mask

PSMAR register

  • Absolute Address: 0x2003050
  • Base Offset: 0x50
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 match rw 0x0

match field

Polling status match value

PIR register

  • Absolute Address: 0x2003058
  • Base Offset: 0x58
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 interval rw 0x0

interval field

Polling interval in clock cycles

LPTR register

  • Absolute Address: 0x2003060
  • Base Offset: 0x60
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 timeout rw 0x0

timeout field

Low power timeout value

uart_registers address map

  • Absolute Address: 0x2004000
  • Base Offset: 0x2004000
  • Size: 0x44

UART Registers Refer shakti GC doc for details

Offset Identifier Name
0x00 BaudReg
0x08 TxReg
0x10 RxReg
0x18 StatusReg
0x20 DelayReg
0x28 ControlReg
0x30 InterruptEn
0x38 IQC
0x40 Rx_Threshold

BaudReg register

  • Absolute Address: 0x2004000
  • Base Offset: 0x0
  • Size: 0x4
Bits Identifier Access Reset Name
15:0 baud_value rw 0x5

baud_value field

Baud = Clk_Freq/(16* baud_value)

TxReg register

  • Absolute Address: 0x2004008
  • Base Offset: 0x8
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 data w 0x0

data field

RxReg register

  • Absolute Address: 0x2004010
  • Base Offset: 0x10
  • Size: 0x4
Bits Identifier Access Reset Name
31:0 data r 0x0

data field

StatusReg register

  • Absolute Address: 0x2004018
  • Base Offset: 0x18
  • Size: 0x4
Bits Identifier Access Reset Name
0 tx_empty r 0x0
1 tx_full r 0x0
2 rx_notEmpty r 0x0
3 rx_full r 0x0
4 parity_error r 0x0
5 overrun_error r 0x0
6 frame_error r 0x0
7 break_error r 0x0
8 rx_fifo_threshold r 0x0

tx_empty field

Tx FIFO is Empty

tx_full field

Tx FIFO is Full

rx_notEmpty field

Rx FIFO is Not Empty

rx_full field

Rx FIFO is Full

parity_error field

Rx Parity error

overrun_error field

Rx FIFO overflow

frame_error field

Rx stop bit is zero

break_error field

Rx Data and stop bits are zero

rx_fifo_threshold field

Threshold level crossed on Rx.

DelayReg register

  • Absolute Address: 0x2004020
  • Base Offset: 0x20
  • Size: 0x4
Bits Identifier Access Reset Name
15:0 delay_control rw 0x0

delay_control field

Transmit delay count

ControlReg register

  • Absolute Address: 0x2004028
  • Base Offset: 0x28
  • Size: 0x4
Bits Identifier Access Reset Name
2:1 stopbits rw 0x0
4:3 parity rw 0x0
10:5 charsize rw 0x8

stopbits field

00 -> 1 stop bit; 01 -> 1.5 stop bits ; 10 -> 2 stop bits

parity field

0-> no parity, 1 -> odd parity; 2 -> even parity

charsize field

char size of data (max 32b)

InterruptEn register

  • Absolute Address: 0x2004030
  • Base Offset: 0x30
  • Size: 0x4
Bits Identifier Access Reset Name
0 tx_done_en rw 0x0
1 tx_not_full_en rw 0x0
2 rx_not_full_en rw 0x0
3 rx_not_empty_en rw 0x0
4 parity_error_en rw 0x0
5 overrun_error_en rw 0x0
6 frame_error_en rw 0x0
7 break_error_en rw 0x0
8 rx_fifo_threshold_en rw 0x0

tx_done_en field

Transmission Done Interrupt Enable

tx_not_full_en field

Transmitter Not Full Interrupt Enable

rx_not_full_en field

Receiver Not Full Interrupt Enable

rx_not_empty_en field

Receiver Not Empty Interrupt Enable

parity_error_en field

Parity Error Interrupt Enable

overrun_error_en field

Overrun Interrupt Enable

frame_error_en field

Frame Error Interrupt Enable

break_error_en field

Break Error Interrupt Enable

rx_fifo_threshold_en field

RX FIFO ~80% Full Interrupt Enable

IQC register

  • Absolute Address: 0x2004038
  • Base Offset: 0x38
  • Size: 0x4
Bits Identifier Access Reset Name
7:0 qual_cycles rw 0x0

qual_cycles field

Rx_Threshold register

  • Absolute Address: 0x2004040
  • Base Offset: 0x40
  • Size: 0x4
Bits Identifier Access Reset Name
7:0 rx_level rw 0x5

rx_level field

ROMRAM address map

  • Absolute Address: 0x2008000
  • Base Offset: 0x2008000
  • Size: 0x5000
Offset Identifier Name
0x0000 ROM BootROM
0x4000 SRAM SRAM

ROM memory

  • Absolute Address: 0x2008000
  • Base Offset: 0x0
  • Size: 0x2000

No supported members.

SRAM memory

  • Absolute Address: 0x200C000
  • Base Offset: 0x4000
  • Size: 0x1000

No supported members.

xspi_registers address map

  • Absolute Address: 0x200F000
  • Base Offset: 0x200F000
  • Size: 0x38

Status and control Registers

Offset Identifier Name
0x00 ID0 id0
0x08 ID1 ID1
0x10 CFG
0x18 xspi_status
0x20 xspi_control
0x28 xspi_rates
0x30 interrupt_status

ID0 register

  • Absolute Address: 0x200F000
  • Base Offset: 0x0
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 mgf_id rw 0x2
15:4 devid0 rw 0x0

mgf_id field

Manufacturer: TODO check how to obtain this number

devid0 field

DEVID0 TODO Use as suitable

ID1 register

  • Absolute Address: 0x200F008
  • Base Offset: 0x8
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 dev_type rw 0x0
15:4 devid1 rw 0x0

dev_type field

Device Type set to hyperram

devid1 field

TODO Use as appropriate

CFG register

  • Absolute Address: 0x200F010
  • Base Offset: 0x10
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 BurstLength rw 0x2
2 HybridBurstEnable r 0x0
3 FixedLatency r 0x1
7:4 InitialLatency rw 0x8
11:8 Reserved r 0x1
14:12 DriveStrength r 0x3
15 DeepPowerDown rw 0x0
16 BurstEnable rw 0x0
17 UltraDeepPowerDown rw 0x0

BurstLength field

Burst Length

HybridBurstEnable field

Burst Enable

FixedLatency field

Fixed Latency

InitialLatency field

Initial Latency.

DriveStrength field

Drive Strength.

DeepPowerDown field

Deep Power down, Not too deep, not too shallow

BurstEnable field

Enable bust access. Applicable only to memory access. Register access are one at a time

UltraDeepPowerDown field

Ultra Deep Power down.

xspi_status register

  • Absolute Address: 0x200F018
  • Base Offset: 0x18
  • Size: 0x8
Bits Identifier Access Reset Name
0 wip r 0x0

wip field

write in progress; Valid only after a write mem transaction

xspi_control register

  • Absolute Address: 0x200F020
  • Base Offset: 0x20
  • Size: 0x8
Bits Identifier Access Reset Name
0 use_xspi_clk rw 0x0
1 interrupt_enable rw 0x0

use_xspi_clk field

Use xspi clock as system clock

interrupt_enable field

Use xspi clock as system clock

xspi_rates register

  • Absolute Address: 0x200F028
  • Base Offset: 0x28
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 cmd_rate rw 0x0
15:8 addr_rate rw 0x0
23:16 data_rate rw 0x0

cmd_rate field

CMD Rate

addr_rate field

CMD Rate

data_rate field

CMD Rate

interrupt_status register

  • Absolute Address: 0x200F030
  • Base Offset: 0x30
  • Size: 0x8
Bits Identifier Access Reset Name
1:0 axi_resp r, rclr 0x0
2 read_underflow r, rclr 0x0
3 write_overflow r, rclr 0x0

axi_resp field

AXI Resp Error

read_underflow field

Read FIFO Underflow Error

write_overflow field

Write FIFO Overflow Error

mram memory

  • Absolute Address: 0x40000000
  • Base Offset: 0x40000000
  • Size: 0x1000000

No supported members.

cpu_registers address map

  • Absolute Address: 0x80000000
  • Base Offset: 0x80000000
  • Size: 0xF40318
Offset Identifier Name
0x100000 User_neigh U_neigh
0x340000 User_cpu U_cpu
0x740000 Supervisor_cpu S_cpu
0x800000 D_hart_esr D_hart_esr
0x900000 D_neigh D_neigh
0xB5F000 D_cpu D_cpu
0xD00000 Machine_neigh M_neigh
0xF40000 Machine_cpu M_cpu

User_neigh address map

  • Absolute Address: 0x80100000
  • Base Offset: 0x100000
  • Size: 0x48
Offset Identifier Name
0x40 ipi_redirect_pc ipi_redirect_pc

ipi_redirect_pc register

  • Absolute Address: 0x80100040
  • Base Offset: 0x40
  • Size: 0x8
Bits Identifier Access Reset Name
47:0 ipi_redirect_pc rw 0x0

ipi_redirect_pc field

In bits 47:0 of this register, user-level software writes the 48 least significant bits of a target virtual PC of a redirect IPI for all the harts in a given neighborhood.Also, bit 0 of the PC is always 0

User_cpu address map

  • Absolute Address: 0x80340000
  • Base Offset: 0x340000
  • Size: 0x300
Offset Identifier Name
0x080 ipi_redirect_trigger ipi_redirect_trigger
0x0C0 CREDINC0 CREDINC0
0x0C8 CREDINC1 CREDINC1
0x0D0 CREDINC2 CREDINC2
0x0D8 CREDINC3 CREDINC3
0x100 fast_local_barrier0 fast_local_barrier0
0x108 fast_local_barrier1 fast_local_barrier1
0x110 fast_local_barrier2 fast_local_barrier2
0x118 fast_local_barrier3 fast_local_barrier3
0x120 fast_local_barrier4 fast_local_barrier4
0x128 fast_local_barrier5 fast_local_barrier5
0x130 fast_local_barrier6 fast_local_barrier6
0x138 fast_local_barrier7 fast_local_barrier7
0x140 fast_local_barrier8 fast_local_barrier8
0x148 fast_local_barrier9 fast_local_barrier9
0x150 fast_local_barrier10 fast_local_barrier10
0x158 fast_local_barrier11 fast_local_barrier11
0x160 fast_local_barrier12 fast_local_barrier12
0x168 fast_local_barrier13 fast_local_barrier13
0x170 fast_local_barrier14 fast_local_barrier14
0x178 fast_local_barrier15 fast_local_barrier15
0x180 fast_local_barrier16 fast_local_barrier16
0x188 fast_local_barrier17 fast_local_barrier17
0x190 fast_local_barrier18 fast_local_barrier18
0x198 fast_local_barrier19 fast_local_barrier19
0x1A0 fast_local_barrier20 fast_local_barrier20
0x1A8 fast_local_barrier21 fast_local_barrier21
0x1B0 fast_local_barrier22 fast_local_barrier22
0x1B8 fast_local_barrier23 fast_local_barrier23
0x1C0 fast_local_barrier24 fast_local_barrier24
0x1C8 fast_local_barrier25 fast_local_barrier25
0x1D0 fast_local_barrier26 fast_local_barrier26
0x1D8 fast_local_barrier27 fast_local_barrier27
0x1E0 fast_local_barrier28 fast_local_barrier28
0x1E8 fast_local_barrier29 fast_local_barrier29
0x1F0 fast_local_barrier30 fast_local_barrier30
0x1F8 fast_local_barrier31 fast_local_barrier31
0x2F8 icache_uprefetch icache_uprefetch

ipi_redirect_trigger register

  • Absolute Address: 0x80340080
  • Base Offset: 0x80
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 ipi_redirect_trigger rw

ipi_redirect_trigger field

User-level software writes a bitmask to this register to request an IPI redirect to all harts indicated by the mask. Before delivery, the bitmask is unconditionally ANDed with the value in IPI_REDIRECT_FILTER. The register is encoded as follows: Bit 0: Minion 0, hart 0 Bit 1: Minion 0, hart 1 Bit 2: Minion 1, hart 0 Bit 3: Minion 1, hart 1 … Bit 12: Minion 6, hart 0 Bit 13: Minion 6, hart 1 Bit 14: Minion 7, hart 0 Bit 15: Minion 7, hart 1 When a redirect IPI is delivered to a hart, that hart must satisfy two conditions, It must be executing in user mode. It must be capable of blocking on a stall CSR read instruction.If either condition is violated, the hart must take a trap into M-mode with, mcause set to Bad IPI redirect interrupt (5'h10), mtval set to the redirection PC. Reading this register returns a 0x0 value

CREDINC0 register

  • Absolute Address: 0x803400C0
  • Base Offset: 0xC0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 mask0 r

mask0 field

Writing this register increments the COUNTER0 credit counter for the first hart of all the cores selected in MASK0. Reading this register returns a value of 0.

CREDINC1 register

  • Absolute Address: 0x803400C8
  • Base Offset: 0xC8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 mask1 r

mask1 field

Writing this register increments the COUNTER1 credit counter for the first hart of all the cores selected in MASK1.

CREDINC2 register

  • Absolute Address: 0x803400D0
  • Base Offset: 0xD0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 mask2 r

mask2 field

Writing this register increments the COUNTER2 credit counter for the first hart of all the cores selected in MASK2. Reading this register returns a value of 0.

CREDINC3 register

  • Absolute Address: 0x803400D8
  • Base Offset: 0xD8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 mask3 r

mask3 field

Writing this register increments the COUNTER3 credit counter for the first hart of all the cores selected in MASK3. Reading this register returns a value of 0.

fast_local_barrier0 register

  • Absolute Address: 0x80340100
  • Base Offset: 0x100
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier0 rw 0x0

fast_local_barrier0 field

The Esperanto Fast Local Barrier (FLB) extension registers provide fast barrier capabilities across the Minions within a Shire. Multiple barrier counters allow a subset of threads in a Shire to atomically modify a barrier counter and determine whether all participating threads have reached the barrier.
The FLB extension provides 32 barrier counters, each 8 bits wide, supporting an all-thread (64 threads) barrier in the Shire. Barrier counter i should be initialized by software before starting the barrier operation using a regular RISC-V store instruction to address (address + i * 8). Software typically initializes barrier counters to zero, but any value from 0 to 255 is legal. For maximum performance, FLB counters are directly accessible by threads in the Shire using CSRRW instructions. Threads participating in a barrier use CSRRW to atomically increment the barrier counter. If a thread is the last to join the barrier, the CSRRW returns 0x1; otherwise, it returns 0x0.

fast_local_barrier1 register

  • Absolute Address: 0x80340108
  • Base Offset: 0x108
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier1 rw 0x0

fast_local_barrier1 field

see description for fast_local_barrier_0

fast_local_barrier2 register

  • Absolute Address: 0x80340110
  • Base Offset: 0x110
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier2 rw 0x0

fast_local_barrier2 field

see description for fast_local_barrier_0

fast_local_barrier3 register

  • Absolute Address: 0x80340118
  • Base Offset: 0x118
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier3 rw 0x0

fast_local_barrier3 field

see description for fast_local_barrier_0

fast_local_barrier4 register

  • Absolute Address: 0x80340120
  • Base Offset: 0x120
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier4 rw 0x0

fast_local_barrier4 field

see description for fast_local_barrier_0

fast_local_barrier5 register

  • Absolute Address: 0x80340128
  • Base Offset: 0x128
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier5 rw 0x0

fast_local_barrier5 field

see description for fast_local_barrier_0

fast_local_barrier6 register

  • Absolute Address: 0x80340130
  • Base Offset: 0x130
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier6 rw 0x0

fast_local_barrier6 field

see description for fast_local_barrier_0

fast_local_barrier7 register

  • Absolute Address: 0x80340138
  • Base Offset: 0x138
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier7 rw 0x0

fast_local_barrier7 field

see description for fast_local_barrier_0

fast_local_barrier8 register

  • Absolute Address: 0x80340140
  • Base Offset: 0x140
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier8 rw 0x0

fast_local_barrier8 field

see description for fast_local_barrier_0

fast_local_barrier9 register

  • Absolute Address: 0x80340148
  • Base Offset: 0x148
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier9 rw 0x0

fast_local_barrier9 field

see description for fast_local_barrier_0

fast_local_barrier10 register

  • Absolute Address: 0x80340150
  • Base Offset: 0x150
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier10 rw 0x0

fast_local_barrier10 field

see description for fast_local_barrier_0

fast_local_barrier11 register

  • Absolute Address: 0x80340158
  • Base Offset: 0x158
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier11 rw 0x0

fast_local_barrier11 field

see description for fast_local_barrier_0

fast_local_barrier12 register

  • Absolute Address: 0x80340160
  • Base Offset: 0x160
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier12 rw 0x0

fast_local_barrier12 field

see description for fast_local_barrier_0

fast_local_barrier13 register

  • Absolute Address: 0x80340168
  • Base Offset: 0x168
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier13 rw 0x0

fast_local_barrier13 field

see description for fast_local_barrier_0

fast_local_barrier14 register

  • Absolute Address: 0x80340170
  • Base Offset: 0x170
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier14 rw 0x0

fast_local_barrier14 field

see description for fast_local_barrier_0

fast_local_barrier15 register

  • Absolute Address: 0x80340178
  • Base Offset: 0x178
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier15 rw 0x0

fast_local_barrier15 field

see description for fast_local_barrier_0

fast_local_barrier16 register

  • Absolute Address: 0x80340180
  • Base Offset: 0x180
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier16 rw 0x0

fast_local_barrier16 field

see description for fast_local_barrier_0

fast_local_barrier17 register

  • Absolute Address: 0x80340188
  • Base Offset: 0x188
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier17 rw 0x0

fast_local_barrier17 field

see description for fast_local_barrier_0

fast_local_barrier18 register

  • Absolute Address: 0x80340190
  • Base Offset: 0x190
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier18 rw 0x0

fast_local_barrier18 field

see description for fast_local_barrier_0

fast_local_barrier19 register

  • Absolute Address: 0x80340198
  • Base Offset: 0x198
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier19 rw 0x0

fast_local_barrier19 field

see description for fast_local_barrier_0

fast_local_barrier20 register

  • Absolute Address: 0x803401A0
  • Base Offset: 0x1A0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier20 rw 0x0

fast_local_barrier20 field

see description for fast_local_barrier_0

fast_local_barrier21 register

  • Absolute Address: 0x803401A8
  • Base Offset: 0x1A8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier21 rw 0x0

fast_local_barrier21 field

see description for fast_local_barrier_0

fast_local_barrier22 register

  • Absolute Address: 0x803401B0
  • Base Offset: 0x1B0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier22 rw 0x0

fast_local_barrier22 field

see description for fast_local_barrier_0

fast_local_barrier23 register

  • Absolute Address: 0x803401B8
  • Base Offset: 0x1B8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier23 rw 0x0

fast_local_barrier23 field

see description for fast_local_barrier_0

fast_local_barrier24 register

  • Absolute Address: 0x803401C0
  • Base Offset: 0x1C0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier24 rw 0x0

fast_local_barrier24 field

see description for fast_local_barrier_0

fast_local_barrier25 register

  • Absolute Address: 0x803401C8
  • Base Offset: 0x1C8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier25 rw 0x0

fast_local_barrier25 field

see description for fast_local_barrier_0

fast_local_barrier26 register

  • Absolute Address: 0x803401D0
  • Base Offset: 0x1D0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier26 rw 0x0

fast_local_barrier26 field

see description for fast_local_barrier_0

fast_local_barrier27 register

  • Absolute Address: 0x803401D8
  • Base Offset: 0x1D8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier27 rw 0x0

fast_local_barrier27 field

see description for fast_local_barrier_0

fast_local_barrier28 register

  • Absolute Address: 0x803401E0
  • Base Offset: 0x1E0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier28 rw 0x0

fast_local_barrier28 field

see description for fast_local_barrier_0

fast_local_barrier29 register

  • Absolute Address: 0x803401E8
  • Base Offset: 0x1E8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier29 rw 0x0

fast_local_barrier29 field

see description for fast_local_barrier_0

fast_local_barrier30 register

  • Absolute Address: 0x803401F0
  • Base Offset: 0x1F0
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier30 rw 0x0

fast_local_barrier30 field

see description for fast_local_barrier_0

fast_local_barrier31 register

  • Absolute Address: 0x803401F8
  • Base Offset: 0x1F8
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 fast_local_barrier31 rw 0x0

fast_local_barrier31 field

see description for fast_local_barrier_0

icache_uprefetch register

  • Absolute Address: 0x803402F8
  • Base Offset: 0x2F8
  • Size: 0x8

If no prefetch with a higher privilege mode associated with it is in progress, a write in this ESR prefetches Count+1 consecutive lines starting at address Address to the instruction cache. The privilege mode associated with this operation is User-mode, and all memory accesses are performed with User-mode privileges. If any of the memory requests generated by the prefetch engine generates an exception, the line is not prefetched and the operation continues with the next line. Reading this register returns the idle status of the prefetch engine.

Bits Identifier Access Reset Name
5:0 count rw 0x0
47:6 address rw

count field

Number of lines to be prefetched (minus 1) starting at the given Address.

address field

Bits [47:6] of the address where prefetching should start from (aligned to a cacheline).

Supervisor_cpu address map

  • Absolute Address: 0x80740000
  • Base Offset: 0x740000
  • Size: 0x308
Offset Identifier Name
0x290 shire_coop_mode shire_coop_mode
0x300 icache_sprefetch icache_sprefetch

shire_coop_mode register

  • Absolute Address: 0x80740290
  • Base Offset: 0x290
  • Size: 0x8
Bits Identifier Access Reset Name
0 coop_mode rw 0x0

coop_mode field

Software can set this bit to enable cooperative prefetches, loads, and stores.

icache_sprefetch register

  • Absolute Address: 0x80740300
  • Base Offset: 0x300
  • Size: 0x8

If no prefetch with a higher privilege mode associated with it is in progress, a write in this ESR prefetches Count+1 consecutive lines starting at address Address to the instruction caches. The privilege mode associated with this operation is Supervisor-mode, and all memory accesses are performed with Supervisor-mode privileges. If any of the memory requests generated by the prefetch engine generates an exception, the line is not prefetched and the operation continues with the next line. Reading this register returns the idle status of the prefetch engine.

Bits Identifier Access Reset Name
5:0 count rw 0x0
47:6 address rw

count field

Number of lines to be prefetched (minus 1) starting at the given Address.

address field

Bits [47:6] of the address where prefetching should start from (aligned to a cacheline).

D_hart_esr address map

  • Absolute Address: 0x80800000
  • Base Offset: 0x800000
  • Size: 0xF7C8

These registers are per hart.([15:12] bits) in the address indicates hart_id. bits[15:13] minion id and bit [12] is thread id.In table below all these bits are indicated as 1

Offset Identifier Name
0xF780 NXDATA0 NXDATA0
0xF788 NXDATA1 NXDATA1
0xF790 AXDATA0 AXDATA0
0xF798 AXDATA1 AXDATA1
0xF7A0 AXPROGBUFF0 AXPROGBUFF0
0xF7A8 AXPROGBUFF1 AXPROGBUFF1
0xF7B0 NXPROGBUFF0 NXPROGBUFF0
0xF7B8 NXPROGBUFF1 NXPROGBUFF1
0xF7C0 ABSCMD ABSCMD

NXDATA0 register

  • Absolute Address: 0x8080F780
  • Base Offset: 0xF780
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 NXDATA0_f0 rw
63:32 NXDATA0_f1 rw

NXDATA0_f0 field

The low (nxdata0) of ddata0

NXDATA0_f1 field

WIRI

NXDATA1 register

  • Absolute Address: 0x8080F788
  • Base Offset: 0xF788
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 NXDATA1_f0 rw
63:32 NXDATA1_f1 rw

NXDATA1_f0 field

The high (nxdata0) of ddata0

NXDATA1_f1 field

WIRI

AXDATA0 register

  • Absolute Address: 0x8080F790
  • Base Offset: 0xF790
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 AXDATA0_f0 rw
63:32 AXDATA0_f1 rw

AXDATA0_f0 field

This register is shadow, and have the same layout as the nxdata0 register. A write to this register "wakes up" a halted hart, after ddata0 is written, and starts execution from the beginning of the instruction buffer

AXDATA1 register

  • Absolute Address: 0x8080F798
  • Base Offset: 0xF798
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 AXDATA1_f0 rw
63:32 AXDATA1_f1 rw

AXDATA1_f0 field

This register is shadow, and have the same layout as the nxdata1 register. A write to this register "wakes up" a halted hart, after ddata0 is written, and starts execution from the beginning of the instruction buffer.

AXPROGBUFF0 register

  • Absolute Address: 0x8080F7A0
  • Base Offset: 0xF7A0
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 AXPROGBUFF0 rw

AXPROGBUFF0 field

This register shadows the nxprogbuf0 register. A write to this register wakes up a halted hart, after the instruction buffer is written, and starts execution from the beginning of the instruction buffer, until either an ebreak instruction is executed or the end of the instruction buffer is reached, at which point the hart goes back to being halted.

AXPROGBUFF1 register

  • Absolute Address: 0x8080F7A8
  • Base Offset: 0xF7A8
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 AXPROGBUFF1 rw

AXPROGBUFF1 field

This register shadows the nxprogbuf1 register. A write to this register wakes up a halted hart, after the instruction buffer is written, and starts execution from the beginning of the instruction buffer, until either an ebreak instruction is executed or the end of the instruction buffer is reached, at which point the hart goes back to being halted.

NXPROGBUFF0 register

  • Absolute Address: 0x8080F7B0
  • Base Offset: 0xF7B0
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 NXPROGBUFF0 rw

NXPROGBUFF0 field

This register holds bits 64-95 of the instruction buffer from where instructions can be executed when the hart is halted (see also abscmd), encoded in the lower half of the register.

NXPROGBUFF1 register

  • Absolute Address: 0x8080F7B8
  • Base Offset: 0xF7B8
  • Size: 0x8
Bits Identifier Access Reset Name
31:0 NXPROGBUFF1 rw

NXPROGBUFF1 field

This register holds bits 96-127 of the instruction buffer from where instructions can be executed when the hart is halted (see also abscmd), encoded in the lower half of the register.

ABSCMD register

  • Absolute Address: 0x8080F7C0
  • Base Offset: 0xF7C0
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 ABSCMD rw

ABSCMD field

This register holds bits 0-63 of the instruction buffer from where instructions can be executed when the hart is halted. The first instruction in the buffer is in the lower order 16 or 32 bits of the ABSCMD register. Writing to this register wakes up a halted hart, after the instruction buffer is written, and starts execution from the beginning of the instruction buffer, until either an ebreak instruction is executed or the end of the instruction buffer is reached, at which point the hart goes back to being halted.

D_neigh address map

  • Absolute Address: 0x80900000
  • Base Offset: 0x900000
  • Size: 0xFFA0
Offset Identifier Name
0xFF80 hactrl hactrl
0xFF88 hastatus0 hastatus0
0xFF90 hastatus1 hastatus1
0xFF98 and_or_tree_IO and_or_tree_IO

hactrl register

  • Absolute Address: 0x8090FF80
  • Base Offset: 0xFF80
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 hawindow rw 0x0
31:16 hart_mask rw 0x0
47:32 resethalt r 0x0

hawindow field

The n-th bit selects the n-th hart in the neighborhood, if hasel is 1. Non-selected harts ignore the reset (except ndmreset), halt and resume requests from the DM.

hart_mask field

The n-th bit selects the n-th hart in the neighborhood (independent of the value of hasel). Non-selected harts ignore the reset (except ndmreset), halt and resume requests from the DM.

resethalt field

Each bit in this field corresponds to one hart in the neighborhood. While a given resethalt bit is asserted, the corresponding hart will halt upon the next deassertion of its reset. These bits are set for all selected harts when the setresethaltreq bit in the RISC-V Debug Module Control register (DMCTRL) is written. This field is cleared for all selected harts when the clrresethaltreq bit in the DMCTRL register is written.

hastatus0 register

  • Absolute Address: 0x8090FF88
  • Base Offset: 0xFF88
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 halted r 0x0
31:16 running r 0x0
47:32 resumeack r 0x0
63:48 havereset r 0x0

halted field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. The sticky halted bit for a hart is asserted when the hart is in Debug Mode, and hardware clears this bit when the hart receives a reset or resume request.

running field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. The sticky running bit for each hart is asserted when a hart finishes resuming execution, and hardware clears this bit when a hart receives a reset or halt request.

resumeack field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. The sticky resumeack bit for a hart is asserted when a hart finishes resuming execution, and hardware clears this bit whenever the resumereq bit in the RISC-V Debug Module Control register (DMCTRL) is deasserted.

havereset field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. The sticky havereset bit for a hart is asserted when a hart exits reset, and hardware clears this bit whenever the ackhavereset bit in the RISC-V Debug Module Control register (DMCTRL) is written. Each ET-Minion core contains two harts; however, it is not possible to reset an individual hart within an ET-Minion core. Therefore, the havereset field can be implemented as eight physical bits, with bits 2m and 2m+1 corresponding to the m-th Minion hardwired to the same value. For example, bits 0 and 1 correspond to the two harts in Minion core 0, but only one of these bits is required to reset both threads. Similarly, bits 2 and 3 correspond to ET-Minion core 1, and so on

hastatus1 register

  • Absolute Address: 0x8090FF90
  • Base Offset: 0xFF90
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 busy r 0x0
31:16 exception rw 0x0
47:32 error rw 0x0

busy field

Each bit in this field corresponds to one of the 16 harts in the neighborhood, and a bit is set to 1 while the corresponding hart executes an Abstract Command or a Program Buffer program.

exception field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. A bit is set to 1 if the execution of an Abstract Command or a Program Buffer program by the corresponding hart generates an exception. These bits are sticky and must be cleared using an explicit write to the register.

error field

Each bit in this field corresponds to one of the 16 harts in the neighborhood. A bit is set to 1 if the execution of an Abstract Command or a Program Buffer program by the corresponding hart cannot complete, but no exception is generated. Examples of this include writes to ET-Minion core registers such as abscmd, axprogbuf0, axprogbuf1, nxprogbuf0, nxprogbuf1, and so on. These bits are sticky and must be cleared using an explicit write to the register.

and_or_tree_IO register

  • Absolute Address: 0x8090FF98
  • Base Offset: 0xFF98
  • Size: 0x8
Bits Identifier Access Reset Name
0 anyhalted r
1 allhalted r
2 anyrunning r
3 allrunning r
4 anyresumeack r
5 allresumeack r
6 anyhavereset r
7 allhavereset r
8 anyunavailable r
9 anyselected r

anyhalted field

Hardware sets this bit whenever any of the 16 bits of the halted field in the Esperanto Neighborhood Hart Status 0 register for the selected harts is set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

allhalted field

Hardware sets this bit when all 16 bits of the halted field in the Esperanto Neighborhood Hart Status 0 register for the selected harts are set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

anyrunning field

Hardware sets this bit whenever any of the 16 bits of the running field in the Esperanto Neighborhood Hart Status 0 register for the selected harts is set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

allrunning field

Hardware sets this bit whenever all 16 bits of the running field in the Esperanto Neighborhood Hart Status 0 register for the selected harts are set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

anyresumeack field

Hardware sets this bit whenever any of the 16 bits of the resumeack field in the Esperanto Neighborhood Hart Status 0 register for the selected harts is set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

allresumeack field

Hardware sets this bit whenever any of the 16 bits of the resumeack field in the Esperanto Neighborhood Hart Status 0 register for the selected harts is set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

anyhavereset field

Hardware sets this bit whenever any 16 bits of the havereset field in the Esperanto Neighborhood Hart Status 0 register for the selected harts are set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

allhavereset field

Hardware sets this bit whenever all of the 16 bits of the havereset field in the Esperanto Neighborhood Hart Status 0 register for the selected harts is set, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

anyunavailable field

Hardware sets this bit when any of the selected harts in the neighborhood are unavailable, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1. A selected hart is considered unavailable if both HASTATUS0.halted[n] and HASTATUS0.running[n] are 0.

anyselected field

Hardware sets this bit when any of the harts in the neighborhood are selected, and the hasel bit in the RISC-V Debug Module Control register (DMCTRL) is 1.

D_cpu address map

  • Absolute Address: 0x80B5F000
  • Base Offset: 0xB5F000
  • Size: 0xFD8
Offset Identifier Name
0xF88 dmctrl dmctrl
0xF90 sm_config sm_config
0xF98 sm_trigger sm_trigger
0xFA8 sm_match sm_match
0xFB0 sm_filter0 sm_filter0
0xFB8 sm_filter1 sm_filter1
0xFC0 sm_filter2 sm_filter2
0xFC8 sm_data0 sm_data0
0xFD0 sm_data1 sm_data1

dmctrl register

  • Absolute Address: 0x80B5FF88
  • Base Offset: 0xF88
  • Size: 0x8
Bits Identifier Access Reset Name
0 dmactive rw 0x0
1 ndmreset rw
2 clrresethaltreq rw
3 setresethaltreq rw
25:4 reserved25_4 r
26 hasel rw
27 reserved27 r
28 ackhavereset rw
29 hartreset rw
30 resumereq rw
31 haltreq rw

dmactive field

This bit controls the dmactive signal from the DM; it is broadcast to all Minion shires. When the signal is low it should hold at reset the debug logic of the receiving harts, and of the DM. After writing 1, the debugger should poll DMCTRL until dmactive is high. Hardware may take an arbitrarily long time to initialize and will indicate completion by setting dmactive to 1

ndmreset field

This bit controls the ndmreset signal from the DM; it is broadcast to all Minion shires. The signal should reset every part of the receiving shire, except for any logic required for debug.

clrresethaltreq field

This bit controls the clrresethaltreq signal from the DM; it is broadcast to all Minion shires. Writing 1 to this bit clears the HACTRL.resethalt bits of all currently selected harts. This bit always reads as 0.

setresethaltreq field

This bit controls the setresethaltreq signal from the DM; it is broadcast to all Minion shires. Writing 1 to this bit sets the HACTRL.resethalt bits of all currently selected harts, unless clrresethaltreq is simultaneously set to 1. This bit always reads as 0.

reserved25_4 field

WARL(0)

hasel field

This bit controls the hasel signal from the DM; it is broadcast to all Minion shires. If set to 0, then DM requests, such as halt and resume apply only to the harts that are selected by HACTRL.hartmask. If set to 1, then DM requests apply to all harts selected by the union of HACTRL.hartmask and HACTRL.hawindow.

reserved27 field

WARL(0)

ackhavereset field

This bit controls the ackhavereset signal from the DM; it is broadcast to all Minion shires. Writing 1 to this bit clears HASTATUS0.havereset for all currently selected harts. This bit always reads as 0.

hartreset field

This bit controls the hartreset signal from the DM; it is broadcast to all Minion shires.

resumereq field

This bit controls the resumereq signal from the DM; it is broadcast to all Minion shires. Writing 1 to this bit causes the currently selected harts to resume and clears the HASTATUS0.resumeack bit for those harts. This bit always reads as 0.

haltreq field

Bits [31:31]: This bit controls the haltreq signal from the DM; it is broadcast to all Minion shires. Writing 1 to this bit sets the halt request bit for all currently selected harts. Writing 0 to this bit clears the halt request bit for all currently selected harts. This may cancel outstanding halt requests for those harts. This bit always reads as 0.

sm_config register

  • Absolute Address: 0x80B5FF90
  • Base Offset: 0xF90
  • Size: 0x8
Bits Identifier Access Reset Name
6:0 sm_data_sel rw 0x0
10:7 sm_target_sel rw
11 sm_enable rw

sm_data_sel field

Data selector within each target

sm_target_sel field

Target selector:

sm_enable field

Status Monitor logic enable.

sm_trigger register

  • Absolute Address: 0x80B5FF98
  • Base Offset: 0xF98
  • Size: 0x8
Bits Identifier Access Reset Name
0 sm_trigger r

sm_trigger field

Writing this bit triggers a simultaneous snapshot captured in all the SM ESRs

sm_match register

  • Absolute Address: 0x80B5FFA8
  • Base Offset: 0xFA8
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_match r

sm_match field

Match bus

sm_filter0 register

  • Absolute Address: 0x80B5FFB0
  • Base Offset: 0xFB0
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_filter0 r

sm_filter0 field

Filter bus [63:0]

sm_filter1 register

  • Absolute Address: 0x80B5FFB8
  • Base Offset: 0xFB8
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_filter1 r

sm_filter1 field

Filter bus [127:64]

sm_filter2 register

  • Absolute Address: 0x80B5FFC0
  • Base Offset: 0xFC0
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_filter2 r

sm_filter2 field

Filter bus [191:128]

sm_data0 register

  • Absolute Address: 0x80B5FFC8
  • Base Offset: 0xFC8
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_data0 r

sm_data0 field

Data bus [63:0]

sm_data1 register

  • Absolute Address: 0x80B5FFD0
  • Base Offset: 0xFD0
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 sm_data1 r

sm_data1 field

Data bus [127:64]

Machine_neigh address map

  • Absolute Address: 0x80D00000
  • Base Offset: 0xD00000
  • Size: 0x98
Offset Identifier Name
0x18 minion_boot minion_boot
0x38 mprot mprot
0x68 pmu_ctrl pmu_ctrl
0x70 neigh_chicken neigh_chicken
0x78 icache_err_log_ctl icache_err_log_ctl
0x80 icache_err_log_info icache_err_log_info
0x88 icache_err_log_address icache_err_log_address
0x90 icache_sbe_dbe_counts icache_sbe_dbe_counts

minion_boot register

  • Absolute Address: 0x80D00018
  • Base Offset: 0x18
  • Size: 0x8
Bits Identifier Access Reset Name
47:0 minion_boot rw 0x2008000

minion_boot field

Each neighborhood contains a MINION_BOOT ESR that determines the initial PC of the Minions in the neighborhood after reset. This register holds the 48 least significant bits of the reset PC, bits 63:48 of the PC are ignored on writes. Software must make sure that fetching from the PC value written in this register will not generate any faults.

mprot register

  • Absolute Address: 0x80D00038
  • Base Offset: 0x38
  • Size: 0x8
Bits Identifier Access Reset Name
3:0 smode_size rw 0x0
7:4 mmode_size rw 0x0
8 mprot_en rw 0x0

smode_size field

Size of the MRAM region which can be only accessed by Smode. The size is 4KB(2^SMODE_SIZE) - 4KB(2^MMODE_SIZE) starting at offset 4KB*(2^MMODE_SIZE) in the MRAM.

mmode_size field

Size of the MRAM region which can be only accessed by Mmode. The size is 4KB*(2^MMODE_SIZE) starting at offset 0 in the MRAM.

mprot_en field

Enable privilege based memory protection.

pmu_ctrl register

  • Absolute Address: 0x80D00068
  • Base Offset: 0x68
  • Size: 0x8
Bits Identifier Access Reset Name
0 disable_clock rw 0x0

disable_clock field

Set this bit to disable the clock

neigh_chicken register

  • Absolute Address: 0x80D00070
  • Base Offset: 0x70
  • Size: 0x8
Bits Identifier Access Reset Name
0 bypass_icache rw 0x0
1 bypass_dcache rw 0x0
2 force_dest_fifo rw 0x0
4:3 dest_fifo rw 0x0
5 force_all_agents rw 0x0
6 agent_forced rw 0x0

bypass_icache field

Setting this bit bypasses the instruction cache.

bypass_dcache field

Setting this bit bypasses the data cache.

force_dest_fifo field

If enabled, all traffic from agents specified by the force_all_agents and agent_forced fields in the neighborhood will be routed to the destination specified in the dest_fifo field.

dest_fifo field

Destination to which requests are routed when the force_dest_fifo bit of this register is set:

force_all_agents field

When the force_dest_fifo bit and this bit are set, requests from all agents in the neighborhood go to the FIFO selected by the dest_fifo field.

agent_forced field

When the force_dest_fifo bit is set and the force_all_agents bit is clear, this field selects agents from which requests will be forced to go to the FIFO selected by the dest_fifo field. 0: Requests are routed to the corresponding bank FIFO, according to the destination address. 1: Requests are routed to the UC FIFO. 2-3: Reserved

icache_err_log_ctl register

  • Absolute Address: 0x80D00078
  • Base Offset: 0x78
  • Size: 0x8
Bits Identifier Access Reset Name
2:0 err_interrupt_enable rw 0x6

err_interrupt_enable field

This 3-bit field is used to enable or prevent certain categories of logged errors from generating interrupts or sending error responses. In general, single-bit ECC errors should not generate an interrupt. Software may choose whether the ECC error counter saturation should generate an interrupt. Each bit has a specific meaning: Bit 0 enables single-bit ECC errors, Bit 1 enables double-bit ECC errors, and Bit 2 enables ECC counter saturation. Error codes that are not enabled are still logged but have lower priority than errors that generate interrupts. Masked interrupts do not prevent subsequent unmasked errors from being recorded. When an enabled interrupt error overwrites a masked error, the multiple error bit is not set, and multiple masked errors also do not cause the multiple error bit to be set. The multiple error bit is intended to indicate that a fatal error was missed.

icache_err_log_info register

  • Absolute Address: 0x80D00080
  • Base Offset: 0x80
  • Size: 0x8
Bits Identifier Access Reset Name
0 valid rw 0x0
1 multi rw 0x0
2 enabled rw 0x0
3 reserved r
7:4 err_code rw 0x0
63:8 info rw

valid field

When set, this bit indicates an error has occurred and that the register contents are valid. This can be cleared by writing a 1 to this field and writing the matching code to err_code.

multi field

When set, this bit indicates that multiple errors have occurred. When an error is detected, the esr_icache_err_log_info register records the details of the first error encountered. Any subsequent errors set this bit to indicate that another fatal error occurred, but their details are not recorded.

enabled field

The error detected was enabled by esr_icache_err_log_ctl.err_interrupt_enable. Error codes that are not enabled are still logged, but they have lower priority than errors that generate interrupts.

err_code field

This 4-bit field indicates the type of error. This field is used to determine how to decode the info bits in positions 63:8. 0: ECC single-bit error 1: ECC double-bit error 2: ECC error counter saturation

info field

Additional information about the error. The format of this field is dependent upon the type of error. SBE_DBE format: - Bits 14:8: set. This field indicates the way that contained the error - Bits 16:15: way. This field indicates the way that contained the error - Bits 47:40: error_bits. Indicates which doubleword contained the error. The error_bits field is multi-hot. ECC_Saturation format: - Bit 52: double. This bit indicates the type of error counter that saturated and is encoded as follows: 0: The single-bit error counter saturated. 1: The double-bit error counter saturated.

icache_err_log_address register

  • Absolute Address: 0x80D00088
  • Base Offset: 0x88
  • Size: 0x8
Bits Identifier Access Reset Name
33:0 icache_err_log_address_f0 r 0x0

icache_err_log_address_f0 field

This register contains the physical address (PA) associated with the error if it is available.

icache_sbe_dbe_counts register

  • Absolute Address: 0x80D00090
  • Base Offset: 0x90
  • Size: 0x8

Single-bit errors (SBEs) are corrected so normal processing can continue, and no error response is sent to the requesting core because the request was processed correctly. SBEs should be logged locally, and no action should be taken. Double-bit errors (DBEs) cannot be corrected and are considered fatal, requiring immediate reporting. SBE and DBE responses occur once per ECC protection, meaning one error bit per dword in the cache line (8 bits). The SBE counter is 8 bits and saturates at 255, while the DBE counter is 3 bits and saturates at 7. All fields of this register are read-only. Writing all ones to a field clears its respective counter. If a counter saturates, it can be error-logged as described in the icache_err_log_info register.

Bits Identifier Access Reset Name
7:0 sbe_counts rw 0x0
10:8 dbe_counts rw

sbe_counts field

This field stores the data RAM single-bit error count.

dbe_counts field

This field stores the data RAM double-bit error count.

Machine_cpu address map

  • Absolute Address: 0x80F40000
  • Base Offset: 0xF40000
  • Size: 0x318
Offset Identifier Name
0x000 minion_feature minion_feature
0x010 thread1_disable thread1_disable
0x088 ipi_redirect_filter ipi_redirect_filter
0x090 ipi_trigger ipi_trigger
0x098 ipi_trigger_clear ipi_trigger_clear
0x200 mtime mtime
0x208 mtime_cmp mtime_cmp
0x210 time_config time_config
0x218 mtime_local_target mtime_local_target
0x240 thread0_disable thread0_disable
0x308 icache_mprefetch icache_mprefetch
0x310 clk_gate_ctrl clk_gate_ctrl

minion_feature register

  • Absolute Address: 0x80F40000
  • Base Offset: 0x0
  • Size: 0x8
Bits Identifier Access Reset Name
0 trap_on_gfx rw 0x1
1 trap_on_ml rw 0x0
2 trap_on_u_cacheops rw 0x0
3 trap_on_u_scp rw 0x0
4 disable_multithreading rw 0x0
5 disable_lock_unlock rw 0x0

trap_on_gfx field

Set this bit to trap on GFX. When this bit is enabled, GFX instructions generate an illegal instruction exception.

trap_on_ml field

Set this bit to trap on ML. When this bit is set, tensor pseudo-instructions generate an illegal instruction exception.

trap_on_u_cacheops field

Setting this bit disables user cacheops. If set, user mode will not have access to the cache op pseudo-instructions.

trap_on_u_scp field

Setting this bit disables the user scratchpad. When set, user mode cannot enable or disable the scratchpad.

disable_multithreading field

Set this bit to disable multithreading, making only thread 0 available. The hart IDs for all thread 0s in a Shire must be contiguous.

disable_lock_unlock field

Set this bit to disable lock/unlock. When set, user mode cannot use the LockVA and UnlockVA operations.

thread1_disable register

  • Absolute Address: 0x80F40010
  • Base Offset: 0x10
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 thread1_disable_f0 rw 0xFF

thread1_disable_f0 field

Each bit of this register corresponds to thread 1 of each Minion core in the Neighborhood. When a bit is set, thread 1 of the corresponding Minion is disabled. The field is encoded as follows: Bit 0: Minion 0, thread 1 Bit 1: Minion 1, thread 1 Bit 2: Minion 2, thread 1 … Bit 7: Minion 7, thread 1

ipi_redirect_filter register

  • Absolute Address: 0x80F40088
  • Base Offset: 0x88
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 ipi_redirect_filter rw 0xFFFF

ipi_redirect_filter field

ipi_redirect_filter Writing a 16-bit value to this register sets the hart ID filter mask for subsequent writes to the IPI_REDIRECT_TRIGGER register. This register is used by privileged software (M-Mode) to prevent accidental user-level redirections. Its value is ANDed with the IPI_REDIRECT_TRIGGER ESR before sending any user-level redirections; setting this register to 0x0 disables all user-level redirections. The encoding of this register is as follows: Bit 0: Minion 0, hart 0 Bit 1: Minion 0, hart 1 Bit 2: Minion 1, hart 0 Bit 3: Minion 1, hart 1 … Bit 12: Minion 6, hart 0 Bit 13: Minion 6, hart 1 Bit 14: Minion 7, hart 0 Bit 15: Minion 7, hart 1

ipi_trigger register

  • Absolute Address: 0x80F40090
  • Base Offset: 0x90
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 ipi_trigger rw 0x0

ipi_trigger field

Machine-level software writes a a bit-mask into this register to set the MSIP bit of one or more harts in the Neighborhood. The encoding of this register is as follows: Bit 0: Minion 0, hart 0 Bit 1: Minion 0, hart 1 Bit 2: Minion 1, hart 0 Bit 3: Minion 1, hart 1 … Bit 12: Minion 6, hart 0 Bit 13: Minion 6, hart 1 Bit 14: Minion 7, hart 0 Bit 15: Minion 7, hart 1 Reading this register reads the value of the MSIP bits of the harts in the Neighborhood. Writing a value with the i-th bit set to 0, will have no effect on the value of the MSIP bit of the corresponding hart.

ipi_trigger_clear register

  • Absolute Address: 0x80F40098
  • Base Offset: 0x98
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 ipi_trigger_clear r 0x0

ipi_trigger_clear field

Machine-level software writes a bit-mask into this register to clear the MSIP bit of one or more harts in the Neighborhood. The encoding of this register is as follows: Bit 0: Minion 0, hart 0 Bit 1: Minion 0, hart 1 Bit 2: Minion 1, hart 0 Bit 3: Minion 1, hart 1 … Bit 12: Minion 6, hart 0 Bit 13: Minion 6, hart 1 Bit 14: Minion 7, hart 0 Bit 15: Minion 7, hart 1 Reading this register returns a 0x0 value.

mtime register

  • Absolute Address: 0x80F40200
  • Base Offset: 0x200
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 mtime rw 0x0

mtime field

This register matches the definition on the RISCV Privilege v1.1 specification. 64-bit timer counter. This timer increments in 100ns intervals. The mtimecmp register is compared to the value in this register. When the two are equal, a timer interrupt is generated.

mtime_cmp register

  • Absolute Address: 0x80F40208
  • Base Offset: 0x208
  • Size: 0x8
Bits Identifier Access Reset Name
63:0 mtime_cmp rw 0x0

mtime_cmp field

This register matches the definition on the RISCV Privilege v1.1 specification. 64-bit timer counter compare. Software sets the desired timer interval using this register. The value is then compared to the value in the mtime register. When the two are equal, an timer interrupt is generated.

time_config register

  • Absolute Address: 0x80F40210
  • Base Offset: 0x210
  • Size: 0x8
Bits Identifier Access Reset Name
0:6 prescalar_threshold rw 0x28
7 ref_clock_mux rw 0x0

prescalar_threshold field

The value in this field will be used as the timer prescalar threshold.

ref_clock_mux field

When this field holds 0 the timer is driven by the external reference clock. When this field holds 1 the timer is driven by the same clock that drives the cpu subsystem (external clock or ring oscillator)

mtime_local_target register

  • Absolute Address: 0x80F40218
  • Base Offset: 0x218
  • Size: 0x8
Bits Identifier Access Reset Name
15:0 mtime_local_target rw 0xFFFF

mtime_local_target field

This register controls which harts receive a timer interrupt. If bit N in mtime_local_target register is 1, hart N would be able to observe a timer interrupt in mip CSR if the mtimecmp is greater than mtime. If bit N is 0, the interrupt will be masked and not observable on hart N mip CSR.

thread0_disable register

  • Absolute Address: 0x80F40240
  • Base Offset: 0x240
  • Size: 0x8
Bits Identifier Access Reset Name
7:0 thread0_disable rw 0xFE

thread0_disable field

Each bit of this register corresponds to thread 0 of each Minion core in the Neighborhood. When a bit is set, thread 0 of the corresponding Minion is disabled. The field is encoded as follows: Bit 0: Minion 0, thread 0 Bit 1: Minion 1, thread 0 Bit 2: Minion 2, thread 0 Bit 7: Minion 7, thread 0

icache_mprefetch register

  • Absolute Address: 0x80F40308
  • Base Offset: 0x308
  • Size: 0x8

A write in this ESR prefetches Count+1 consecutive lines starting at address Address to the instruction cache. The privilege mode associated with this operation is Machine-mode, and all memory accesses are performed with Machine-mode privileges. If any of the memory requests generated by the prefetch engine generates an exception, the line is not prefetched and the operation continues with the next line. Reading this register returns the idle status of the prefetch engine.

Bits Identifier Access Reset Name
5:0 count rw 0x0
47:6 address rw 0x0

count field

Number of lines to be prefetched (minus 1) starting at the given Address.

address field

Bits [47:6] of the address where prefetching should start from (aligned to a cacheline).

clk_gate_ctrl register

  • Absolute Address: 0x80F40310
  • Base Offset: 0x310
  • Size: 0x8
Bits Identifier Access Reset Name
0 min_intpipe_clock_gate_disable rw 0x0
1 min_vpulane_clock_gate_disable rw 0x0
2 min_vputima_clock_gate_disable rw 0x0
3 min_vputrans_clock_gate_disable rw 0x0
4 min_dcache_clock_gate_disable rw
5 reserved0 r
6 min_frontend_clock_gate_disable rw 0x0
10:7 reserved1 r

min_intpipe_clock_gate_disable field

.Setting this bit disables integer pipeline clock gating

min_vpulane_clock_gate_disable field

Setting this bit disables VPU lane clock gating.

min_vputima_clock_gate_disable field

Setting this bit disables VPUtima clock gating

min_vputrans_clock_gate_disable field

Setting this bit disables VPUtrans clock gating

min_dcache_clock_gate_disable field

Setting this bit disables data cache clock gating

reserved0 field

Write as zero. Returns 0 on read.

min_frontend_clock_gate_disable field

Setting this bit disables front end clock gating.

reserved1 field

Write as zero. Returns 0 on read.

plic address map

  • Absolute Address: 0xA0000000
  • Base Offset: 0xA0000000
  • Size: 0x21F008

RISC-V Platform-Level Interrupt Controller register map.

Offset Identifier Name
0x000004 priority_src01
0x000008 priority_src02
0x00000C priority_src03
0x000010 priority_src04
0x000014 priority_src05
0x000018 priority_src06
0x001000 pending
0x002000 enable_ctx00 Interrupt Enable – Hart 0, M-mode
0x002080 enable_ctx01 Interrupt Enable – Hart 0, S-mode
0x002100 enable_ctx02 Interrupt Enable – Hart 1, M-mode
0x002180 enable_ctx03 Interrupt Enable – Hart 1, S-mode
0x002200 enable_ctx04 Interrupt Enable – Hart 2, M-mode
0x002280 enable_ctx05 Interrupt Enable – Hart 2, S-mode
0x002300 enable_ctx06 Interrupt Enable – Hart 3, M-mode
0x002380 enable_ctx07 Interrupt Enable – Hart 3, S-mode
0x002400 enable_ctx08 Interrupt Enable – Hart 4, M-mode
0x002480 enable_ctx09 Interrupt Enable – Hart 4, S-mode
0x002500 enable_ctx10 Interrupt Enable – Hart 5, M-mode
0x002580 enable_ctx11 Interrupt Enable – Hart 5, S-mode
0x002600 enable_ctx12 Interrupt Enable – Hart 6, M-mode
0x002680 enable_ctx13 Interrupt Enable – Hart 6, S-mode
0x002700 enable_ctx14 Interrupt Enable – Hart 7, M-mode
0x002780 enable_ctx15 Interrupt Enable – Hart 7, S-mode
0x002800 enable_ctx16 Interrupt Enable – Hart 8, M-mode
0x002880 enable_ctx17 Interrupt Enable – Hart 8, S-mode
0x002900 enable_ctx18 Interrupt Enable – Hart 9, M-mode
0x002980 enable_ctx19 Interrupt Enable – Hart 9, S-mode
0x002A00 enable_ctx20 Interrupt Enable – Hart 10, M-mode
0x002A80 enable_ctx21 Interrupt Enable – Hart 10, S-mode
0x002B00 enable_ctx22 Interrupt Enable – Hart 11, M-mode
0x002B80 enable_ctx23 Interrupt Enable – Hart 11, S-mode
0x002C00 enable_ctx24 Interrupt Enable – Hart 12, M-mode
0x002C80 enable_ctx25 Interrupt Enable – Hart 12, S-mode
0x002D00 enable_ctx26 Interrupt Enable – Hart 13, M-mode
0x002D80 enable_ctx27 Interrupt Enable – Hart 13, S-mode
0x002E00 enable_ctx28 Interrupt Enable – Hart 14, M-mode
0x002E80 enable_ctx29 Interrupt Enable – Hart 14, S-mode
0x002F00 enable_ctx30 Interrupt Enable – Hart 15, M-mode
0x002F80 enable_ctx31 Interrupt Enable – Hart 15, S-mode
0x200000 threshold_ctx00 Priority Threshold – Hart 0, M-mode
0x200004 claim_complete_ctx00 Claim/Complete – Hart 0, M-mode
0x201000 threshold_ctx01 Priority Threshold – Hart 0, S-mode
0x201004 claim_complete_ctx01 Claim/Complete – Hart 0, S-mode
0x202000 threshold_ctx02 Priority Threshold – Hart 1, M-mode
0x202004 claim_complete_ctx02 Claim/Complete – Hart 1, M-mode
0x203000 threshold_ctx03 Priority Threshold – Hart 1, S-mode
0x203004 claim_complete_ctx03 Claim/Complete – Hart 1, S-mode
0x204000 threshold_ctx04 Priority Threshold – Hart 2, M-mode
0x204004 claim_complete_ctx04 Claim/Complete – Hart 2, M-mode
0x205000 threshold_ctx05 Priority Threshold – Hart 2, S-mode
0x205004 claim_complete_ctx05 Claim/Complete – Hart 2, S-mode
0x206000 threshold_ctx06 Priority Threshold – Hart 3, M-mode
0x206004 claim_complete_ctx06 Claim/Complete – Hart 3, M-mode
0x207000 threshold_ctx07 Priority Threshold – Hart 3, S-mode
0x207004 claim_complete_ctx07 Claim/Complete – Hart 3, S-mode
0x208000 threshold_ctx08 Priority Threshold – Hart 4, M-mode
0x208004 claim_complete_ctx08 Claim/Complete – Hart 4, M-mode
0x209000 threshold_ctx09 Priority Threshold – Hart 4, S-mode
0x209004 claim_complete_ctx09 Claim/Complete – Hart 4, S-mode
0x20A000 threshold_ctx10 Priority Threshold – Hart 5, M-mode
0x20A004 claim_complete_ctx10 Claim/Complete – Hart 5, M-mode
0x20B000 threshold_ctx11 Priority Threshold – Hart 5, S-mode
0x20B004 claim_complete_ctx11 Claim/Complete – Hart 5, S-mode
0x20C000 threshold_ctx12 Priority Threshold – Hart 6, M-mode
0x20C004 claim_complete_ctx12 Claim/Complete – Hart 6, M-mode
0x20D000 threshold_ctx13 Priority Threshold – Hart 6, S-mode
0x20D004 claim_complete_ctx13 Claim/Complete – Hart 6, S-mode
0x20E000 threshold_ctx14 Priority Threshold – Hart 7, M-mode
0x20E004 claim_complete_ctx14 Claim/Complete – Hart 7, M-mode
0x20F000 threshold_ctx15 Priority Threshold – Hart 7, S-mode
0x20F004 claim_complete_ctx15 Claim/Complete – Hart 7, S-mode
0x210000 threshold_ctx16 Priority Threshold – Hart 8, M-mode
0x210004 claim_complete_ctx16 Claim/Complete – Hart 8, M-mode
0x211000 threshold_ctx17 Priority Threshold – Hart 8, S-mode
0x211004 claim_complete_ctx17 Claim/Complete – Hart 8, S-mode
0x212000 threshold_ctx18 Priority Threshold – Hart 9, M-mode
0x212004 claim_complete_ctx18 Claim/Complete – Hart 9, M-mode
0x213000 threshold_ctx19 Priority Threshold – Hart 9, S-mode
0x213004 claim_complete_ctx19 Claim/Complete – Hart 9, S-mode
0x214000 threshold_ctx20 Priority Threshold – Hart 10, M-mode
0x214004 claim_complete_ctx20 Claim/Complete – Hart 10, M-mode
0x215000 threshold_ctx21 Priority Threshold – Hart 10, S-mode
0x215004 claim_complete_ctx21 Claim/Complete – Hart 10, S-mode
0x216000 threshold_ctx22 Priority Threshold – Hart 11, M-mode
0x216004 claim_complete_ctx22 Claim/Complete – Hart 11, M-mode
0x217000 threshold_ctx23 Priority Threshold – Hart 11, S-mode
0x217004 claim_complete_ctx23 Claim/Complete – Hart 11, S-mode
0x218000 threshold_ctx24 Priority Threshold – Hart 12, M-mode
0x218004 claim_complete_ctx24 Claim/Complete – Hart 12, M-mode
0x219000 threshold_ctx25 Priority Threshold – Hart 12, S-mode
0x219004 claim_complete_ctx25 Claim/Complete – Hart 12, S-mode
0x21A000 threshold_ctx26 Priority Threshold – Hart 13, M-mode
0x21A004 claim_complete_ctx26 Claim/Complete – Hart 13, M-mode
0x21B000 threshold_ctx27 Priority Threshold – Hart 13, S-mode
0x21B004 claim_complete_ctx27 Claim/Complete – Hart 13, S-mode
0x21C000 threshold_ctx28 Priority Threshold – Hart 14, M-mode
0x21C004 claim_complete_ctx28 Claim/Complete – Hart 14, M-mode
0x21D000 threshold_ctx29 Priority Threshold – Hart 14, S-mode
0x21D004 claim_complete_ctx29 Claim/Complete – Hart 14, S-mode
0x21E000 threshold_ctx30 Priority Threshold – Hart 15, M-mode
0x21E004 claim_complete_ctx30 Claim/Complete – Hart 15, M-mode
0x21F000 threshold_ctx31 Priority Threshold – Hart 15, S-mode
0x21F004 claim_complete_ctx31 Claim/Complete – Hart 15, S-mode

priority_src01 register

  • Absolute Address: 0xA0000004
  • Base Offset: 0x4
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

priority_src02 register

  • Absolute Address: 0xA0000008
  • Base Offset: 0x8
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

priority_src03 register

  • Absolute Address: 0xA000000C
  • Base Offset: 0xC
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

priority_src04 register

  • Absolute Address: 0xA0000010
  • Base Offset: 0x10
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

priority_src05 register

  • Absolute Address: 0xA0000014
  • Base Offset: 0x14
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

priority_src06 register

  • Absolute Address: 0xA0000018
  • Base Offset: 0x18
  • Size: 0x4

Interrupt source priority. Hardwired to 1 — no priority levels are implemented.

Bits Identifier Access Reset Name
0 PRIORITY r 0x1

PRIORITY field

Priority level (always 1)

pending register

  • Absolute Address: 0xA0001000
  • Base Offset: 0x1000
  • Size: 0x4

Interrupt pending bits. Hardware-managed; read-only for software.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 PENDING r 0x0

RESERVED field

Reserved — source 0 does not exist

PENDING field

Pending flags for interrupt sources 1..6

enable_ctx00 register

  • Absolute Address: 0xA0002000
  • Base Offset: 0x2000
  • Size: 0x4

Interrupt enable bits for context 0 (hart 0, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx01 register

  • Absolute Address: 0xA0002080
  • Base Offset: 0x2080
  • Size: 0x4

Interrupt enable bits for context 1 (hart 0, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx02 register

  • Absolute Address: 0xA0002100
  • Base Offset: 0x2100
  • Size: 0x4

Interrupt enable bits for context 2 (hart 1, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx03 register

  • Absolute Address: 0xA0002180
  • Base Offset: 0x2180
  • Size: 0x4

Interrupt enable bits for context 3 (hart 1, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx04 register

  • Absolute Address: 0xA0002200
  • Base Offset: 0x2200
  • Size: 0x4

Interrupt enable bits for context 4 (hart 2, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx05 register

  • Absolute Address: 0xA0002280
  • Base Offset: 0x2280
  • Size: 0x4

Interrupt enable bits for context 5 (hart 2, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx06 register

  • Absolute Address: 0xA0002300
  • Base Offset: 0x2300
  • Size: 0x4

Interrupt enable bits for context 6 (hart 3, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx07 register

  • Absolute Address: 0xA0002380
  • Base Offset: 0x2380
  • Size: 0x4

Interrupt enable bits for context 7 (hart 3, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx08 register

  • Absolute Address: 0xA0002400
  • Base Offset: 0x2400
  • Size: 0x4

Interrupt enable bits for context 8 (hart 4, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx09 register

  • Absolute Address: 0xA0002480
  • Base Offset: 0x2480
  • Size: 0x4

Interrupt enable bits for context 9 (hart 4, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx10 register

  • Absolute Address: 0xA0002500
  • Base Offset: 0x2500
  • Size: 0x4

Interrupt enable bits for context 10 (hart 5, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx11 register

  • Absolute Address: 0xA0002580
  • Base Offset: 0x2580
  • Size: 0x4

Interrupt enable bits for context 11 (hart 5, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx12 register

  • Absolute Address: 0xA0002600
  • Base Offset: 0x2600
  • Size: 0x4

Interrupt enable bits for context 12 (hart 6, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx13 register

  • Absolute Address: 0xA0002680
  • Base Offset: 0x2680
  • Size: 0x4

Interrupt enable bits for context 13 (hart 6, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx14 register

  • Absolute Address: 0xA0002700
  • Base Offset: 0x2700
  • Size: 0x4

Interrupt enable bits for context 14 (hart 7, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx15 register

  • Absolute Address: 0xA0002780
  • Base Offset: 0x2780
  • Size: 0x4

Interrupt enable bits for context 15 (hart 7, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx16 register

  • Absolute Address: 0xA0002800
  • Base Offset: 0x2800
  • Size: 0x4

Interrupt enable bits for context 16 (hart 8, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx17 register

  • Absolute Address: 0xA0002880
  • Base Offset: 0x2880
  • Size: 0x4

Interrupt enable bits for context 17 (hart 8, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx18 register

  • Absolute Address: 0xA0002900
  • Base Offset: 0x2900
  • Size: 0x4

Interrupt enable bits for context 18 (hart 9, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx19 register

  • Absolute Address: 0xA0002980
  • Base Offset: 0x2980
  • Size: 0x4

Interrupt enable bits for context 19 (hart 9, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx20 register

  • Absolute Address: 0xA0002A00
  • Base Offset: 0x2A00
  • Size: 0x4

Interrupt enable bits for context 20 (hart 10, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx21 register

  • Absolute Address: 0xA0002A80
  • Base Offset: 0x2A80
  • Size: 0x4

Interrupt enable bits for context 21 (hart 10, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx22 register

  • Absolute Address: 0xA0002B00
  • Base Offset: 0x2B00
  • Size: 0x4

Interrupt enable bits for context 22 (hart 11, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx23 register

  • Absolute Address: 0xA0002B80
  • Base Offset: 0x2B80
  • Size: 0x4

Interrupt enable bits for context 23 (hart 11, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx24 register

  • Absolute Address: 0xA0002C00
  • Base Offset: 0x2C00
  • Size: 0x4

Interrupt enable bits for context 24 (hart 12, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx25 register

  • Absolute Address: 0xA0002C80
  • Base Offset: 0x2C80
  • Size: 0x4

Interrupt enable bits for context 25 (hart 12, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx26 register

  • Absolute Address: 0xA0002D00
  • Base Offset: 0x2D00
  • Size: 0x4

Interrupt enable bits for context 26 (hart 13, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx27 register

  • Absolute Address: 0xA0002D80
  • Base Offset: 0x2D80
  • Size: 0x4

Interrupt enable bits for context 27 (hart 13, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx28 register

  • Absolute Address: 0xA0002E00
  • Base Offset: 0x2E00
  • Size: 0x4

Interrupt enable bits for context 28 (hart 14, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx29 register

  • Absolute Address: 0xA0002E80
  • Base Offset: 0x2E80
  • Size: 0x4

Interrupt enable bits for context 29 (hart 14, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx30 register

  • Absolute Address: 0xA0002F00
  • Base Offset: 0x2F00
  • Size: 0x4

Interrupt enable bits for context 30 (hart 15, Machine mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

enable_ctx31 register

  • Absolute Address: 0xA0002F80
  • Base Offset: 0x2F80
  • Size: 0x4

Interrupt enable bits for context 31 (hart 15, Supervisor mode). Bit N enables source N for this context.

Bits Identifier Access Reset Name
0 RESERVED r 0x0
6:1 ENABLE rw 0x0

RESERVED field

Reserved — source 0 does not exist

ENABLE field

Enable bits for interrupt sources 1..6

threshold_ctx00 register

  • Absolute Address: 0xA0200000
  • Base Offset: 0x200000
  • Size: 0x4

Priority threshold for context 0 (hart 0, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx00 register

  • Absolute Address: 0xA0200004
  • Base Offset: 0x200004
  • Size: 0x4

Claim/Complete for context 0 (hart 0, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx01 register

  • Absolute Address: 0xA0201000
  • Base Offset: 0x201000
  • Size: 0x4

Priority threshold for context 1 (hart 0, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx01 register

  • Absolute Address: 0xA0201004
  • Base Offset: 0x201004
  • Size: 0x4

Claim/Complete for context 1 (hart 0, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx02 register

  • Absolute Address: 0xA0202000
  • Base Offset: 0x202000
  • Size: 0x4

Priority threshold for context 2 (hart 1, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx02 register

  • Absolute Address: 0xA0202004
  • Base Offset: 0x202004
  • Size: 0x4

Claim/Complete for context 2 (hart 1, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx03 register

  • Absolute Address: 0xA0203000
  • Base Offset: 0x203000
  • Size: 0x4

Priority threshold for context 3 (hart 1, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx03 register

  • Absolute Address: 0xA0203004
  • Base Offset: 0x203004
  • Size: 0x4

Claim/Complete for context 3 (hart 1, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx04 register

  • Absolute Address: 0xA0204000
  • Base Offset: 0x204000
  • Size: 0x4

Priority threshold for context 4 (hart 2, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx04 register

  • Absolute Address: 0xA0204004
  • Base Offset: 0x204004
  • Size: 0x4

Claim/Complete for context 4 (hart 2, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx05 register

  • Absolute Address: 0xA0205000
  • Base Offset: 0x205000
  • Size: 0x4

Priority threshold for context 5 (hart 2, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx05 register

  • Absolute Address: 0xA0205004
  • Base Offset: 0x205004
  • Size: 0x4

Claim/Complete for context 5 (hart 2, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx06 register

  • Absolute Address: 0xA0206000
  • Base Offset: 0x206000
  • Size: 0x4

Priority threshold for context 6 (hart 3, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx06 register

  • Absolute Address: 0xA0206004
  • Base Offset: 0x206004
  • Size: 0x4

Claim/Complete for context 6 (hart 3, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx07 register

  • Absolute Address: 0xA0207000
  • Base Offset: 0x207000
  • Size: 0x4

Priority threshold for context 7 (hart 3, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx07 register

  • Absolute Address: 0xA0207004
  • Base Offset: 0x207004
  • Size: 0x4

Claim/Complete for context 7 (hart 3, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx08 register

  • Absolute Address: 0xA0208000
  • Base Offset: 0x208000
  • Size: 0x4

Priority threshold for context 8 (hart 4, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx08 register

  • Absolute Address: 0xA0208004
  • Base Offset: 0x208004
  • Size: 0x4

Claim/Complete for context 8 (hart 4, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx09 register

  • Absolute Address: 0xA0209000
  • Base Offset: 0x209000
  • Size: 0x4

Priority threshold for context 9 (hart 4, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx09 register

  • Absolute Address: 0xA0209004
  • Base Offset: 0x209004
  • Size: 0x4

Claim/Complete for context 9 (hart 4, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx10 register

  • Absolute Address: 0xA020A000
  • Base Offset: 0x20A000
  • Size: 0x4

Priority threshold for context 10 (hart 5, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx10 register

  • Absolute Address: 0xA020A004
  • Base Offset: 0x20A004
  • Size: 0x4

Claim/Complete for context 10 (hart 5, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx11 register

  • Absolute Address: 0xA020B000
  • Base Offset: 0x20B000
  • Size: 0x4

Priority threshold for context 11 (hart 5, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx11 register

  • Absolute Address: 0xA020B004
  • Base Offset: 0x20B004
  • Size: 0x4

Claim/Complete for context 11 (hart 5, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx12 register

  • Absolute Address: 0xA020C000
  • Base Offset: 0x20C000
  • Size: 0x4

Priority threshold for context 12 (hart 6, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx12 register

  • Absolute Address: 0xA020C004
  • Base Offset: 0x20C004
  • Size: 0x4

Claim/Complete for context 12 (hart 6, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx13 register

  • Absolute Address: 0xA020D000
  • Base Offset: 0x20D000
  • Size: 0x4

Priority threshold for context 13 (hart 6, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx13 register

  • Absolute Address: 0xA020D004
  • Base Offset: 0x20D004
  • Size: 0x4

Claim/Complete for context 13 (hart 6, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx14 register

  • Absolute Address: 0xA020E000
  • Base Offset: 0x20E000
  • Size: 0x4

Priority threshold for context 14 (hart 7, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx14 register

  • Absolute Address: 0xA020E004
  • Base Offset: 0x20E004
  • Size: 0x4

Claim/Complete for context 14 (hart 7, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx15 register

  • Absolute Address: 0xA020F000
  • Base Offset: 0x20F000
  • Size: 0x4

Priority threshold for context 15 (hart 7, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx15 register

  • Absolute Address: 0xA020F004
  • Base Offset: 0x20F004
  • Size: 0x4

Claim/Complete for context 15 (hart 7, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx16 register

  • Absolute Address: 0xA0210000
  • Base Offset: 0x210000
  • Size: 0x4

Priority threshold for context 16 (hart 8, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx16 register

  • Absolute Address: 0xA0210004
  • Base Offset: 0x210004
  • Size: 0x4

Claim/Complete for context 16 (hart 8, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx17 register

  • Absolute Address: 0xA0211000
  • Base Offset: 0x211000
  • Size: 0x4

Priority threshold for context 17 (hart 8, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx17 register

  • Absolute Address: 0xA0211004
  • Base Offset: 0x211004
  • Size: 0x4

Claim/Complete for context 17 (hart 8, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx18 register

  • Absolute Address: 0xA0212000
  • Base Offset: 0x212000
  • Size: 0x4

Priority threshold for context 18 (hart 9, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx18 register

  • Absolute Address: 0xA0212004
  • Base Offset: 0x212004
  • Size: 0x4

Claim/Complete for context 18 (hart 9, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx19 register

  • Absolute Address: 0xA0213000
  • Base Offset: 0x213000
  • Size: 0x4

Priority threshold for context 19 (hart 9, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx19 register

  • Absolute Address: 0xA0213004
  • Base Offset: 0x213004
  • Size: 0x4

Claim/Complete for context 19 (hart 9, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx20 register

  • Absolute Address: 0xA0214000
  • Base Offset: 0x214000
  • Size: 0x4

Priority threshold for context 20 (hart 10, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx20 register

  • Absolute Address: 0xA0214004
  • Base Offset: 0x214004
  • Size: 0x4

Claim/Complete for context 20 (hart 10, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx21 register

  • Absolute Address: 0xA0215000
  • Base Offset: 0x215000
  • Size: 0x4

Priority threshold for context 21 (hart 10, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx21 register

  • Absolute Address: 0xA0215004
  • Base Offset: 0x215004
  • Size: 0x4

Claim/Complete for context 21 (hart 10, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx22 register

  • Absolute Address: 0xA0216000
  • Base Offset: 0x216000
  • Size: 0x4

Priority threshold for context 22 (hart 11, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx22 register

  • Absolute Address: 0xA0216004
  • Base Offset: 0x216004
  • Size: 0x4

Claim/Complete for context 22 (hart 11, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx23 register

  • Absolute Address: 0xA0217000
  • Base Offset: 0x217000
  • Size: 0x4

Priority threshold for context 23 (hart 11, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx23 register

  • Absolute Address: 0xA0217004
  • Base Offset: 0x217004
  • Size: 0x4

Claim/Complete for context 23 (hart 11, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx24 register

  • Absolute Address: 0xA0218000
  • Base Offset: 0x218000
  • Size: 0x4

Priority threshold for context 24 (hart 12, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx24 register

  • Absolute Address: 0xA0218004
  • Base Offset: 0x218004
  • Size: 0x4

Claim/Complete for context 24 (hart 12, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx25 register

  • Absolute Address: 0xA0219000
  • Base Offset: 0x219000
  • Size: 0x4

Priority threshold for context 25 (hart 12, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx25 register

  • Absolute Address: 0xA0219004
  • Base Offset: 0x219004
  • Size: 0x4

Claim/Complete for context 25 (hart 12, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx26 register

  • Absolute Address: 0xA021A000
  • Base Offset: 0x21A000
  • Size: 0x4

Priority threshold for context 26 (hart 13, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx26 register

  • Absolute Address: 0xA021A004
  • Base Offset: 0x21A004
  • Size: 0x4

Claim/Complete for context 26 (hart 13, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx27 register

  • Absolute Address: 0xA021B000
  • Base Offset: 0x21B000
  • Size: 0x4

Priority threshold for context 27 (hart 13, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx27 register

  • Absolute Address: 0xA021B004
  • Base Offset: 0x21B004
  • Size: 0x4

Claim/Complete for context 27 (hart 13, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx28 register

  • Absolute Address: 0xA021C000
  • Base Offset: 0x21C000
  • Size: 0x4

Priority threshold for context 28 (hart 14, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx28 register

  • Absolute Address: 0xA021C004
  • Base Offset: 0x21C004
  • Size: 0x4

Claim/Complete for context 28 (hart 14, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx29 register

  • Absolute Address: 0xA021D000
  • Base Offset: 0x21D000
  • Size: 0x4

Priority threshold for context 29 (hart 14, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx29 register

  • Absolute Address: 0xA021D004
  • Base Offset: 0x21D004
  • Size: 0x4

Claim/Complete for context 29 (hart 14, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx30 register

  • Absolute Address: 0xA021E000
  • Base Offset: 0x21E000
  • Size: 0x4

Priority threshold for context 30 (hart 15, Machine mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx30 register

  • Absolute Address: 0xA021E004
  • Base Offset: 0x21E004
  • Size: 0x4

Claim/Complete for context 30 (hart 15, Machine mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

threshold_ctx31 register

  • Absolute Address: 0xA021F000
  • Base Offset: 0x21F000
  • Size: 0x4

Priority threshold for context 31 (hart 15, Supervisor mode). Hardwired to 0 — all enabled pending interrupts are forwarded to this hart.

Bits Identifier Access Reset Name
0 THRESHOLD r 0x0

THRESHOLD field

Threshold (always 0)

claim_complete_ctx31 register

  • Absolute Address: 0xA021F004
  • Base Offset: 0x21F004
  • Size: 0x4

Claim/Complete for context 31 (hart 15, Supervisor mode). Read to claim the highest-priority pending interrupt (returns 0 if none); write the claimed ID to signal completion.

Bits Identifier Access Reset Name
2:0 ID rw 0x0

ID field

Interrupt ID: 0 = no interrupt pending, 1..6 = valid interrupt source

nic_config address map

  • Absolute Address: 0xFE000000
  • Base Offset: 0xFE000000
  • Size: 0x16000
Offset Identifier Name
0x0 ni700_registers

ni700_registers memory

  • Absolute Address: 0xFE000000
  • Base Offset: 0x0
  • Size: 0x16000

Refer to arm_corelink_ni_700_network_on_chip_trm_101566_0201_09_en-3.pdf for details

No supported members.