0

Basically the title. I am trying to do a verification on an AXI4Lite protocol. If I try to send a read request to the same address multiple times the RVALID is not re-asserted. Correct data just remains on the RDATA channel.

Sidebar question: Assume 32-bit address width and 32-bit data width. Do I need to be writing to address locations that are 4 locations apart (e.g. 0x00000000, 0x00000004...)?

Mitu Raj
  • 10,843
  • 6
  • 23
  • 46

1 Answers1

2

Yea, for every address transaction, you must be getting RDATA, RRESP, and RVALID asserted from the slave, even if it is the same address. You have to acknowledge each read-data by asserting RREADY.

If 32-bit byte-addressable slave, addresses are typically expected to be aligned as 0x0, 0x4, 0x8... Some slaves support non-aligned addresses. Some don't...For instance: they would simply mask the least significant 2 bits and return the full 32-bit data at 0x0, even if you request data at 0x2 for example... This is implementation specific.

Mitu Raj
  • 10,843
  • 6
  • 23
  • 46