corsair icon indicating copy to clipboard operation
corsair copied to clipboard

base_address for RTL modules

Open vborchsh opened this issue 2 years ago • 0 comments

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

vborchsh avatar Dec 05 '22 05:12 vborchsh