litex
SOC
8
32
32
read-write
0x00000000
0xFFFFFFFF
REBOOT
0xF0000000
REBOOT
SOC_RESET
0x0000
0x00
32
soc_reset
7
[7:0]
0
ADDR
0x0004
0x00
32
addr
31
[31:0]
0
CPU_RESET
0x0008
0x00
32
cpu_reset
0
[0:0]
0
0
0xc
registers
TIMER0
0xF0001000
TIMER0
LOAD
0x0000
0x00
32
load
31
[31:0]
0
RELOAD
0x0004
0x00
32
reload
31
[31:0]
0
EN
0x0008
0x00
32
en
0
[0:0]
0
EV_STATUS
0x000c
0x00
32
zero
0
[0:0]
0
EV_PENDING
0x0010
0x00
32
zero
0
[0:0]
0
EV_ENABLE
0x0014
0x00
32
zero
0
[0:0]
0
0
0x18
registers
timer0
0
CRG
0xF0002000
CRG
MMCM_DRP_RESET
0x0000
0x00
32
mmcm_drp_reset
0
[0:0]
0
MMCM_DRP_LOCKED
0x0004
0x00
32
mmcm_drp_locked
0
[0:0]
0
MMCM_DRP_READ
0x0008
0x00
32
mmcm_drp_read
0
[0:0]
0
MMCM_DRP_WRITE
0x000c
0x00
32
mmcm_drp_write
0
[0:0]
0
MMCM_DRP_DRDY
0x0010
0x00
32
mmcm_drp_drdy
0
[0:0]
0
MMCM_DRP_ADR
0x0014
0x00
32
mmcm_drp_adr
6
[6:0]
0
MMCM_DRP_DAT_W
0x0018
0x00
32
mmcm_drp_dat_w
15
[15:0]
0
MMCM_DRP_DAT_R
0x001c
0x00
32
mmcm_drp_dat_r
15
[15:0]
0
0
0x20
registers
GPIO
0xF0003000
GPIO
OUTPUT
0x0000
0x00
32
output
7
[7:0]
0
INPUT
0x0004
0x00
32
input
7
[7:0]
0
DRIVE
0x0008
0x00
32
drive
7
[7:0]
0
INTENA
0x000c
0x00
32
intena
7
[7:0]
0
INTPOL
0x0010
0x00
32
intpol
7
[7:0]
0
UARTSEL
0x0014
0x00
32
uartsel
1
[1:0]
0
DEBUG
0x0018
0x00
32
wfi
0
[0:0]
0
wakeup
1
[1:1]
1
EV_STATUS
0x001c
0x00
32
event0
0
[0:0]
0
event1
1
[1:1]
1
event2
2
[2:2]
2
event3
3
[3:3]
3
event4
4
[4:4]
4
event5
5
[5:5]
5
event6
6
[6:6]
6
event7
7
[7:7]
7
EV_PENDING
0x0020
0x00
32
event0
0
[0:0]
0
event1
1
[1:1]
1
event2
2
[2:2]
2
event3
3
[3:3]
3
event4
4
[4:4]
4
event5
5
[5:5]
5
event6
6
[6:6]
6
event7
7
[7:7]
7
EV_ENABLE
0x0024
0x00
32
event0
0
[0:0]
0
event1
1
[1:1]
1
event2
2
[2:2]
2
event3
3
[3:3]
3
event4
4
[4:4]
4
event5
5
[5:5]
5
event6
6
[6:6]
6
event7
7
[7:7]
7
0
0x28
registers
gpio
1
UART
0xF0005000
UART
RXTX
0x0000
0x00
32
rxtx
7
[7:0]
0
TXFULL
0x0004
0x00
32
txfull
0
[0:0]
0
RXEMPTY
0x0008
0x00
32
rxempty
0
[0:0]
0
EV_STATUS
0x000c
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_PENDING
0x0010
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_ENABLE
0x0014
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
TXEMPTY
0x0018
0x00
32
txempty
0
[0:0]
0
RXFULL
0x001c
0x00
32
rxfull
0
[0:0]
0
0
0x20
registers
uart
2
CONSOLE
0xF0007000
CONSOLE
RXTX
0x0000
0x00
32
rxtx
7
[7:0]
0
TXFULL
0x0004
0x00
32
txfull
0
[0:0]
0
RXEMPTY
0x0008
0x00
32
rxempty
0
[0:0]
0
EV_STATUS
0x000c
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_PENDING
0x0010
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_ENABLE
0x0014
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
TXEMPTY
0x0018
0x00
32
txempty
0
[0:0]
0
RXFULL
0x001c
0x00
32
rxfull
0
[0:0]
0
0
0x20
registers
console
3
APP_UART
0xF0009000
APP_UART
RXTX
0x0000
0x00
32
rxtx
7
[7:0]
0
TXFULL
0x0004
0x00
32
txfull
0
[0:0]
0
RXEMPTY
0x0008
0x00
32
rxempty
0
[0:0]
0
EV_STATUS
0x000c
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_PENDING
0x0010
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
EV_ENABLE
0x0014
0x00
32
tx
0
[0:0]
0
rx
1
[1:1]
1
TXEMPTY
0x0018
0x00
32
txempty
0
[0:0]
0
RXFULL
0x001c
0x00
32
rxfull
0
[0:0]
0
0
0x20
registers
app_uart
4
INFO
0xF000A000
INFO
DNA_ID1
0x0000
0x00
32
dna_id
31
[31:0]
0
DNA_ID0
0x0004
0x00
32
dna_id
31
[31:0]
0
GIT_MAJOR
0x0008
0x00
32
git_major
7
[7:0]
0
GIT_MINOR
0x000c
0x08
32
git_minor
7
[7:0]
0
GIT_REVISION
0x0010
0x01
32
git_revision
7
[7:0]
0
GIT_GITREV
0x0014
0xcf5b40e6
32
git_gitrev
31
[31:0]
0
GIT_GITEXTRA
0x0018
0x00
32
git_gitextra
9
[9:0]
0
GIT_DIRTY
0x001c
0x01
32
dirty
0
[0:0]
0
PLATFORM_PLATFORM1
0x0020
0x00
32
platform_platform
31
[31:0]
0
PLATFORM_PLATFORM0
0x0024
0x00
32
platform_platform
31
[31:0]
0
PLATFORM_TARGET1
0x0028
0x00
32
platform_target
31
[31:0]
0
PLATFORM_TARGET0
0x002c
0x00
32
platform_target
31
[31:0]
0
0
0x30
registers
SRAM_EXT
0xF000B000
SRAM_EXT
CONFIG_STATUS
0x0000
0x00
32
mode
31
[31:0]
0
READ_CONFIG
0x0004
0x00
32
trigger
0
[0:0]
0
0
0x8
registers
MEMLCD
0xF000C000
MEMLCD
COMMAND
0x0000
0x00
32
UpdateDirty
0
[0:0]
0
UpdateAll
1
[1:1]
1
BUSY
0x0004
0x00
32
busy
0
[0:0]
0
PRESCALER
0x0008
0x63
32
prescaler
7
[7:0]
0
EV_STATUS
0x000c
0x00
32
done
0
[0:0]
0
EV_PENDING
0x0010
0x00
32
done
0
[0:0]
0
EV_ENABLE
0x0014
0x00
32
done
0
[0:0]
0
0
0x18
registers
COM
0xF000D000
COM
TX
0x0000
0x00
32
tx
15
[15:0]
0
RX
0x0004
0x00
32
rx
15
[15:0]
0
CONTROL
0x0008
0x00
32
intena
0
[0:0]
0
autohold
1
[1:1]
1
STATUS
0x000c
0x00
32
tip
0
[0:0]
0
hold
1
[1:1]
1
EV_STATUS
0x0010
0x00
32
spi_int
0
[0:0]
0
spi_hold
1
[1:1]
1
EV_PENDING
0x0014
0x00
32
spi_int
0
[0:0]
0
spi_hold
1
[1:1]
1
EV_ENABLE
0x0018
0x00
32
spi_int
0
[0:0]
0
spi_hold
1
[1:1]
1
0
0x1c
registers
com
5
I2C
0xF000E000
I2C
PRESCALE
0x0000
0xffff
32
prescale
15
[15:0]
0
CONTROL
0x0004
0x00
32
Resvd
5
[5:0]
0
IEN
6
[6:6]
6
EN
7
[7:7]
7
TXR
0x0008
0x00
32
txr
7
[7:0]
0
RXR
0x000c
0x00
32
rxr
7
[7:0]
0
COMMAND
0x0010
0x00
32
IACK
0
[0:0]
0
Resvd
2
[2:1]
1
ACK
3
[3:3]
3
WR
4
[4:4]
4
RD
5
[5:5]
5
STO
6
[6:6]
6
STA
7
[7:7]
7
STATUS
0x0014
0x00
32
IF
0
[0:0]
0
TIP
1
[1:1]
1
Resvd
4
[4:2]
2
ArbLost
5
[5:5]
5
Busy
6
[6:6]
6
RxACK
7
[7:7]
7
CORE_RESET
0x0018
0x00
32
reset
0
[0:0]
0
EV_STATUS
0x001c
0x00
32
i2c_int
0
[0:0]
0
txrx_done
1
[1:1]
1
EV_PENDING
0x0020
0x00
32
i2c_int
0
[0:0]
0
txrx_done
1
[1:1]
1
EV_ENABLE
0x0024
0x00
32
i2c_int
0
[0:0]
0
txrx_done
1
[1:1]
1
0
0x28
registers
i2c
6
BTEVENTS
0xF000F000
BTEVENTS
EV_STATUS
0x0000
0x00
32
com_int
0
[0:0]
0
rtc_int
1
[1:1]
1
EV_PENDING
0x0004
0x00
32
com_int
0
[0:0]
0
rtc_int
1
[1:1]
1
EV_ENABLE
0x0008
0x00
32
com_int
0
[0:0]
0
rtc_int
1
[1:1]
1
0
0xc
registers
btevents
7
MESSIBLE
0xF0010000
MESSIBLE
IN
0x0000
0x00
32
in
7
[7:0]
0
OUT
0x0004
0x00
32
out
7
[7:0]
0
STATUS
0x0008
0x00
32
full
0
[0:0]
0
have
1
[1:1]
1
0
0xc
registers
MESSIBLE2
0xF0011000
MESSIBLE2
IN
0x0000
0x00
32
in
7
[7:0]
0
OUT
0x0004
0x00
32
out
7
[7:0]
0
STATUS
0x0008
0x00
32
full
0
[0:0]
0
have
1
[1:1]
1
0
0xc
registers
TICKTIMER
0xF0012000
TICKTIMER
CONTROL
0x0000
0x00
32
reset
0
[0:0]
0
TIME1
0x0004
0x00
32
time
31
[31:0]
0
TIME0
0x0008
0x00
32
time
31
[31:0]
0
MSLEEP_TARGET1
0x000c
0x00
32
msleep_target
31
[31:0]
0
MSLEEP_TARGET0
0x0010
0x00
32
msleep_target
31
[31:0]
0
EV_STATUS
0x0014
0x00
32
alarm
0
[0:0]
0
EV_PENDING
0x0018
0x00
32
alarm
0
[0:0]
0
EV_ENABLE
0x001c
0x00
32
alarm
0
[0:0]
0
0
0x20
registers
ticktimer
8
SUSRES
0xF0013000
SUSRES
CONTROL
0x0000
0x00
32
pause
0
[0:0]
0
load
1
[1:1]
1
RESUME_TIME1
0x0004
0x00
32
resume_time
31
[31:0]
0
RESUME_TIME0
0x0008
0x00
32
resume_time
31
[31:0]
0
TIME1
0x000c
0x00
32
time
31
[31:0]
0
TIME0
0x0010
0x00
32
time
31
[31:0]
0
STATUS
0x0014
0x00
32
paused
0
[0:0]
0
STATE
0x0018
0x00
32
resume
0
[0:0]
0
was_forced
1
[1:1]
1
POWERDOWN
0x001c
0x00
32
powerdown
0
[0:0]
0
INTERRUPT
0x0020
0x00
32
interrupt
0
[0:0]
0
EV_STATUS
0x0024
0x00
32
soft_int
0
[0:0]
0
EV_PENDING
0x0028
0x00
32
soft_int
0
[0:0]
0
EV_ENABLE
0x002c
0x00
32
soft_int
0
[0:0]
0
0
0x30
registers
susres
9
POWER
0xF0014000
POWER
POWER
0x0000
0x20a
32
audio
0
[0:0]
0
self
1
[1:1]
1
ec_snoop
2
[2:2]
2
state
4
[4:3]
3
reset_ec
5
[5:5]
5
up5k_on
6
[6:6]
6
boostmode
7
[7:7]
7
selfdestruct
8
[8:8]
8
crypto_on
9
[9:9]
9
ignore_locked
10
[10:10]
10
disable_wfi
11
[11:11]
11
CLK_STATUS
0x0004
0x00
32
crypto_on
0
[0:0]
0
sha_on
1
[1:1]
1
engine_on
2
[2:2]
2
btpower_on
3
[3:3]
3
WAKEUP_SOURCE
0x0008
0xff
32
kbd
0
[0:0]
0
ticktimer
1
[1:1]
1
timer0
2
[2:2]
2
usb
3
[3:3]
3
audio
4
[4:4]
4
com
5
[5:5]
5
rtc
6
[6:6]
6
console
7
[7:7]
7
ACTIVITY_RATE
0x000c
0x00
32
counts_awake
30
[30:0]
0
SAMPLING_PERIOD
0x0010
0x00
32
sample_period
30
[30:0]
0
kill_sampler
31
[31:31]
31
VIBE
0x0014
0x00
32
vibe
0
[0:0]
0
EV_STATUS
0x0018
0x00
32
usb_attach
0
[0:0]
0
activity_update
1
[1:1]
1
EV_PENDING
0x001c
0x00
32
usb_attach
0
[0:0]
0
activity_update
1
[1:1]
1
EV_ENABLE
0x0020
0x00
32
usb_attach
0
[0:0]
0
activity_update
1
[1:1]
1
0
0x24
registers
power
10
SPINOR
0xF0015000
SPINOR
CONFIG
0x0000
0x0a
32
dummy
4
[4:0]
0
DELAY_CONFIG
0x0004
0x00
32
d
4
[4:0]
0
load
5
[5:5]
5
DELAY_STATUS
0x0008
0x00
32
q
4
[4:0]
0
COMMAND
0x000c
0x00
32
wakeup
0
[0:0]
0
exec_cmd
1
[1:1]
1
cmd_code
9
[9:2]
2
has_arg
10
[10:10]
10
dummy_cycles
15
[15:11]
11
0 implies read]]>
data_words
23
[23:16]
16
lock_reads
24
[24:24]
24
CMD_ARG
0x0010
0x00
32
cmd_arg
31
[31:0]
0
CMD_RBK_DATA
0x0014
0x00
32
cmd_rbk_data
31
[31:0]
0
STATUS
0x0018
0x00
32
wip
0
[0:0]
0
WDATA
0x001c
0x00
32
wdata
15
[15:0]
0
EV_STATUS
0x0020
0x00
32
ecc_error
0
[0:0]
0
EV_PENDING
0x0024
0x00
32
ecc_error
0
[0:0]
0
EV_ENABLE
0x0028
0x00
32
ecc_error
0
[0:0]
0
ECC_ADDRESS
0x002c
0x00
32
ecc_address
31
[31:0]
0
ECC_STATUS
0x0030
0x00
32
ecc_error
0
[0:0]
0
ecc_overflow
1
[1:1]
1
0
0x34
registers
KEYBOARD
0xF0016000
KEYBOARD
UART_CHAR
0x0000
0x00
32
char
7
[7:0]
0
stb
8
[8:8]
8
ROW0DAT
0x0004
0x00
32
row0dat
9
[9:0]
0
ROW1DAT
0x0008
0x00
32
row1dat
9
[9:0]
0
ROW2DAT
0x000c
0x00
32
row2dat
9
[9:0]
0
ROW3DAT
0x0010
0x00
32
row3dat
9
[9:0]
0
ROW4DAT
0x0014
0x00
32
row4dat
9
[9:0]
0
ROW5DAT
0x0018
0x00
32
row5dat
9
[9:0]
0
ROW6DAT
0x001c
0x00
32
row6dat
9
[9:0]
0
ROW7DAT
0x0020
0x00
32
row7dat
9
[9:0]
0
ROW8DAT
0x0024
0x00
32
row8dat
9
[9:0]
0
EV_STATUS
0x0028
0x00
32
keypressed
0
[0:0]
0
inject
1
[1:1]
1
EV_PENDING
0x002c
0x00
32
keypressed
0
[0:0]
0
inject
1
[1:1]
1
EV_ENABLE
0x0030
0x00
32
keypressed
0
[0:0]
0
inject
1
[1:1]
1
ROWCHANGE
0x0034
0x00
32
rowchange
8
[8:0]
0
0
0x38
registers
keyboard
11
KEYINJECT
0xF0017000
KEYINJECT
UART_CHAR
0x0000
0x00
32
char
7
[7:0]
0
disable
8
[8:8]
8
0
0x4
registers
SEED
0xF0018000
SEED
SEED1
0x0000
0x742b5c26
32
seed
31
[31:0]
0
SEED0
0x0004
0x645c9ef4
32
seed
31
[31:0]
0
0
0x8
registers
KEYROM
0xF0019000
KEYROM
ADDRESS
0x0000
0x00
32
address
7
[7:0]
0
DATA
0x0004
0x00
32
data
31
[31:0]
0
0
0x8
registers
AUDIO
0xF001A000
AUDIO
EV_STATUS
0x0000
0x00
32
rx_ready
0
[0:0]
0
rx_error
1
[1:1]
1
tx_ready
2
[2:2]
2
tx_error
3
[3:3]
3
EV_PENDING
0x0004
0x00
32
rx_ready
0
[0:0]
0
rx_error
1
[1:1]
1
tx_ready
2
[2:2]
2
tx_error
3
[3:3]
3
EV_ENABLE
0x0008
0x00
32
rx_ready
0
[0:0]
0
rx_error
1
[1:1]
1
tx_ready
2
[2:2]
2
tx_error
3
[3:3]
3
RX_CTL
0x000c
0x00
32
enable
0
[0:0]
0
reset
1
[1:1]
1
RX_STAT
0x0010
0x80000000
32
overflow
0
[0:0]
0
underflow
1
[1:1]
1
dataready
2
[2:2]
2
empty
3
[3:3]
3
wrcount
12
[12:4]
4
rdcount
21
[21:13]
13
fifo_depth
30
[30:22]
22
concatenate_channels
31
[31:31]
31
RX_CONF
0x0014
0xac4441
32
format
1
[1:0]
0
sample_width
7
[7:2]
2
lrck_freq
31
[31:8]
8
TX_CTL
0x0018
0x00
32
enable
0
[0:0]
0
reset
1
[1:1]
1
TX_STAT
0x001c
0x1000000
32
overflow
0
[0:0]
0
underflow
1
[1:1]
1
free
2
[2:2]
2
almostfull
3
[3:3]
3
full
4
[4:4]
4
empty
5
[5:5]
5
wrcount
14
[14:6]
6
rdcount
23
[23:15]
15
concatenate_channels
24
[24:24]
24
TX_CONF
0x0020
0xac4441
32
format
1
[1:0]
0
sample_width
7
[7:2]
2
lrck_freq
31
[31:8]
8
0
0x24
registers
audio
12
TRNG_KERNEL
0xF001B000
TRNG_KERNEL
STATUS
0x0000
0x00
32
ready
0
[0:0]
0
avail
1
[1:1]
1
rdcount
11
[11:2]
2
wrcount
21
[21:12]
12
DATA
0x0004
0x00
32
data
31
[31:0]
0
EV_STATUS
0x0008
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
EV_PENDING
0x000c
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
EV_ENABLE
0x0010
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
0
0x14
registers
trng_kernel
13
TRNG_SERVER
0xF001C000
TRNG_SERVER
CONTROL
0x0000
0x09
32
enable
0
[0:0]
0
ro_dis
1
[1:1]
1
av_dis
2
[2:2]
2
powersave
3
[3:3]
3
no_check
4
[4:4]
4
clr_err
5
[5:5]
5
DATA
0x0004
0x00
32
data
31
[31:0]
0
STATUS
0x0008
0x00
32
avail
0
[0:0]
0
rdcount
10
[10:1]
1
wrcount
20
[20:11]
11
full
21
[21:21]
21
AV_CONFIG
0x000c
0x200c350
32
powerdelay
19
[19:0]
0
samples
27
[27:20]
20
test
28
[28:28]
28
RO_CONFIG
0x0010
0x38080c9
32
gang
0
[0:0]
0
dwell
12
[12:1]
1
delay
22
[22:13]
13
fuzz
23
[23:23]
23
oversampling
31
[31:24]
24
ERRORS
0x0014
0x00
32
server_underrun
9
[9:0]
0
kernel_underrun
19
[19:10]
10
ro_health
20
[20:20]
20
av_health
21
[21:21]
21
EV_STATUS
0x0018
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
health
2
[2:2]
2
EV_PENDING
0x001c
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
health
2
[2:2]
2
EV_ENABLE
0x0020
0x00
32
avail
0
[0:0]
0
error
1
[1:1]
1
health
2
[2:2]
2
0
0x24
registers
trng_server
14
TRNG
0xF001D000
TRNG
XADC_TEMPERATURE
0x0000
0x00
32
xadc_temperature
11
[11:0]
0
XADC_VCCINT
0x0004
0x00
32
xadc_vccint
11
[11:0]
0
XADC_VCCAUX
0x0008
0x00
32
xadc_vccaux
11
[11:0]
0
XADC_VCCBRAM
0x000c
0x00
32
xadc_vccbram
11
[11:0]
0
XADC_VBUS
0x0010
0x00
32
xadc_vbus
11
[11:0]
0
XADC_USB_P
0x0014
0x00
32
xadc_usb_p
11
[11:0]
0
XADC_USB_N
0x0018
0x00
32
xadc_usb_n
11
[11:0]
0
XADC_NOISE0
0x001c
0x00
32
xadc_noise0
11
[11:0]
0
XADC_NOISE1
0x0020
0x00
32
xadc_noise1
11
[11:0]
0
XADC_EOC
0x0024
0x00
32
xadc_eoc
0
[0:0]
0
XADC_EOS
0x0028
0x00
32
xadc_eos
0
[0:0]
0
XADC_GPIO5
0x002c
0x00
32
xadc_gpio5
11
[11:0]
0
XADC_GPIO2
0x0030
0x00
32
xadc_gpio2
11
[11:0]
0
XADC_DRP_ENABLE
0x0034
0x00
32
xadc_drp_enable
0
[0:0]
0
XADC_DRP_READ
0x0038
0x00
32
xadc_drp_read
0
[0:0]
0
XADC_DRP_WRITE
0x003c
0x00
32
xadc_drp_write
0
[0:0]
0
XADC_DRP_DRDY
0x0040
0x00
32
xadc_drp_drdy
0
[0:0]
0
XADC_DRP_ADR
0x0044
0x00
32
xadc_drp_adr
6
[6:0]
0
XADC_DRP_DAT_W
0x0048
0x00
32
xadc_drp_dat_w
15
[15:0]
0
XADC_DRP_DAT_R
0x004c
0x00
32
xadc_drp_dat_r
15
[15:0]
0
0
0x50
registers
SHA512
0xF001E000
SHA512
POWER
0x0000
0x00
32
on
0
[0:0]
0
CONFIG
0x0004
0x00
32
sha_en
0
[0:0]
0
endian_swap
1
[1:1]
1
digest_swap
2
[2:2]
2
select_256
3
[3:3]
3
COMMAND
0x0008
0x00
32
hash_start
0
[0:0]
0
hash_process
1
[1:1]
1
DIGEST01
0x000c
0x00
32
digest0
31
[31:0]
0
DIGEST00
0x0010
0x00
32
digest0
31
[31:0]
0
DIGEST11
0x0014
0x00
32
digest1
31
[31:0]
0
DIGEST10
0x0018
0x00
32
digest1
31
[31:0]
0
DIGEST21
0x001c
0x00
32
digest2
31
[31:0]
0
DIGEST20
0x0020
0x00
32
digest2
31
[31:0]
0
DIGEST31
0x0024
0x00
32
digest3
31
[31:0]
0
DIGEST30
0x0028
0x00
32
digest3
31
[31:0]
0
DIGEST41
0x002c
0x00
32
digest4
31
[31:0]
0
DIGEST40
0x0030
0x00
32
digest4
31
[31:0]
0
DIGEST51
0x0034
0x00
32
digest5
31
[31:0]
0
DIGEST50
0x0038
0x00
32
digest5
31
[31:0]
0
DIGEST61
0x003c
0x00
32
digest6
31
[31:0]
0
DIGEST60
0x0040
0x00
32
digest6
31
[31:0]
0
DIGEST71
0x0044
0x00
32
digest7
31
[31:0]
0
DIGEST70
0x0048
0x00
32
digest7
31
[31:0]
0
MSG_LENGTH1
0x004c
0x00
32
msg_length
31
[31:0]
0
MSG_LENGTH0
0x0050
0x00
32
msg_length
31
[31:0]
0
EV_STATUS
0x0054
0x00
32
err_valid
0
[0:0]
0
fifo_full
1
[1:1]
1
sha512_done
2
[2:2]
2
EV_PENDING
0x0058
0x00
32
err_valid
0
[0:0]
0
fifo_full
1
[1:1]
1
sha512_done
2
[2:2]
2
EV_ENABLE
0x005c
0x00
32
err_valid
0
[0:0]
0
fifo_full
1
[1:1]
1
sha512_done
2
[2:2]
2
FIFO
0x0060
0x00
32
read_count
8
[8:0]
0
write_count
17
[17:9]
9
read_error
18
[18:18]
18
write_error
19
[19:19]
19
almost_full
20
[20:20]
20
almost_empty
21
[21:21]
21
running
22
[22:22]
22
0
0x64
registers
sha512
15
ENGINE
0xF001F000
ENGINE
WINDOW
0x0000
0x00
32
window
3
[3:0]
0
MPSTART
0x0004
0x00
32
mpstart
9
[9:0]
0
MPLEN
0x0008
0x00
32
mplen
9
[9:0]
0
CONTROL
0x000c
0x00
32
go
0
[0:0]
0
POWER
0x0010
0x00
32
on
0
[0:0]
0
STATUS
0x0014
0x00
32
running
0
[0:0]
0
mpc
10
[10:1]
1
EV_STATUS
0x0018
0x00
32
finished
0
[0:0]
0
illegal_opcode
1
[1:1]
1
EV_PENDING
0x001c
0x00
32
finished
0
[0:0]
0
illegal_opcode
1
[1:1]
1
EV_ENABLE
0x0020
0x00
32
finished
0
[0:0]
0
illegal_opcode
1
[1:1]
1
INSTRUCTION
0x0024
0x00
32
opcode
5
[5:0]
0
ra
10
[10:6]
6
ca
11
[11:11]
11
rb
16
[16:12]
12
cb
17
[17:17]
17
wd
22
[22:18]
18
immediate
31
[31:23]
23
0
0x28
registers
engine
16
JTAG
0xF0020000
JTAG
NEXT
0x0000
0x00
32
tdi
0
[0:0]
0
tms
1
[1:1]
1
TDO
0x0004
0x00
32
tdo
0
[0:0]
0
ready
1
[1:1]
1
0
0x8
registers
WDT
0xF0021000
WDT
WATCHDOG
0x0000
0x00
32
reset_code
15
[15:0]
0
enable
16
[16:16]
16
PERIOD
0x0004
0x135f1b40
32
period
31
[31:0]
0
INTERRUPT
0x0008
0x00
32
interrupt
0
[0:0]
0
STATE
0x000c
0x00
32
enabled
0
[0:0]
0
armed1
1
[1:1]
1
armed2
2
[2:2]
2
disarmed
3
[3:3]
3
EV_STATUS
0x0010
0x00
32
soft_int
0
[0:0]
0
EV_PENDING
0x0014
0x00
32
soft_int
0
[0:0]
0
EV_ENABLE
0x0018
0x00
32
soft_int
0
[0:0]
0
0
0x1c
registers
wdt
17
D11CTIME
0xF0022000
D11CTIME
CONTROL
0x0000
0x666
32
count
14
[14:0]
0
HEARTBEAT
0x0004
0x00
32
beat
0
[0:0]
0
0
0x8
registers
WFI
0xF0023000
WFI
WFI
0x0000
0x00
32
wfi
0
[0:0]
0
IGNORE_LOCKED
0x0004
0x00
32
ignore_locked
0
[0:0]
0
0
0x8
registers
IDENTIFIER_MEM
0xF0024000
IDENTIFIER_MEM
IDENTIFIER_MEM
0x0000
0x00
32
identifier_mem
7
[7:0]
0
0
0x4
registers
ROM
0x00000000
0x00008000
SRAM
0x10000000
0x00020000
VEXRISCV_DEBUG
0xEFFF0000
0x00000100
SRAM_EXT
0x40000000
0x01000000
MEMLCD
0xB0000000
0x00005C20
SPIFLASH
0x20000000
0x08000000
AUDIO
0xE0000000
0x00000004
SHA512
0xE0002000
0x00000008
ENGINE
0xE0020000
0x00020000
CSR
0xF0000000
0x00040000