CSR Memory map
Closed this issue · 2 comments
kabrodzki commented
Hey, could you provide some description(memory map) for the CSR?
In tests we can see some cryptic numbers:
DMAFull.scala
axil_master.writePush(0x10, 0)
axil_master.writePush(0x14, width)
axil_master.writePush(0x18, height)
axil_master.writePush(0x1c, 0)
axil_master.writePush(0x20, height * width * 4 + width * 2)
axil_master.writePush(0x24, width)
axil_master.writePush(0x28, height)
axil_master.writePush(0x2c, width)
piotr-binkowski commented
Current register map looks like this:
0x00
control register0x04
status register0x08
interrupt mask regiser0x0c
interrupt status register0x10
reader start address0x14
reader line length0x18
reader line count0x1c
reader stride between lines0x20
writer start address0x24
writer line length0x28
writer line count0x2c
writer stride between lines
You can also check WorkerCSRWrapper as that is where CSRs are connected to DMA logic ie. io.csr(0)
refers to CSR at 0x00
, io.csr(1)
to 0x04
etc.
kgugala commented
@piotr-binkowski can you add this info to the repository? e.g. add a section in the readme