corsair
corsair copied to clipboard
base_address for RTL modules
Hello everybody,
Maybe I didn't get the point, but I see that base_address variable is used nowhere but in the C/Python headers and so on. Shouldn't the variable used also for RTL modules for absolute address calculation? Something like:
absolute_reg_address = base_address + reg_address
Example:
Corsair register
- name: UID
description: Device ID register
address: 0
bitfields:
- name: UID
reset: 0xAABBCC01
width: 32
lsb: 0
access: ro
hardware: i
enums: []
I connect corsair registers map to the AXI interconnect core. The address of the core in the AXI interconnect, let's say, 0x8000_0000. It is a "base address" of the core. And this case corsair's core doesn't accept input addresses 0x8xxx_xxxx becasue of 0x8. Corsair waits an address without base offset.
Thanks.
PS. For sure, there is a workaround with select only part of input address for Corsair, but still