bluespec / Piccolo

RISC-V CPU, simple 3-stage pipeline, for low-end applications (e.g., embedded, IoT)
Apache License 2.0
307 stars 49 forks source link

Suspicion of bug in the deburster #16

Closed gameboo closed 5 years ago

gameboo commented 5 years ago

Simply from reading the code at https://github.com/bluespec/Piccolo/blob/master/src_Testbench/Fabrics/AXI4/AXI4_Deburster.bsv#L174 (understand "I have not tested what I am about to claim in any way"), it looks to me like a single write request may receive many write responses. Maybe it does not really matter if in practice those responses are ignored, but I presume that this is in general undesirable? Or am I simply missing something?

rsnikhil commented 5 years ago

Yes, you are quite right in your analysis.

It does matter in practice: many clients monitor write-responses in case of errors in the fabric or slave, or for certainty that a write has reached memory, and giving the wrong number of responses would throw them out of sync.

I have pushed a fix for the problem.

Thanks!