Closed stridge-cruxml closed 1 year ago
Hello. Thanks for your research regarding the bug. Actually, the problem is not in the AXILite interface, but with the registers block. I will add the test to the registers testbench and will try to fix the behavior
The current implementation of verilog axi interface does not function correctly for a FWFT fifo.
If
csr_data_fifo_rvalid_ff
is held high by a fifo (such as with FWFT), there is a cycle mismatch which results in rdata register read a cycle early.Snippet of regmap json file:
Generated code
It should be made clear if fifo with FWFT is supported or not. Perhaps a read latency field could be added to the reg map? In cases such as FWFT it would be 0. In HW it doesn't make sense to generate something to support both cases even if the resources are pretty negligible.