pymtl / pymtl3

Pymtl 3 (Mamba), an open-source Python-based hardware generation, simulation, and verification framework
BSD 3-Clause "New" or "Revised" License
388 stars 46 forks source link

Correct the imemresp_q/drop order in tinyrv0 #143

Closed jsn1993 closed 4 years ago

jsn1993 commented 4 years ago

Recently I found a bug due to the transition from val/rdy to en/rdy. Basically we need to put the drop unit after the bypass queue to correctly drop the response. Putting the drop unit between memory and the imemresp_q will let some response slip through and sit in the bypass queue due to stall in the pipeline.

codecov[bot] commented 4 years ago

Codecov Report

Merging #143 into master will increase coverage by 0.01%. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #143      +/-   ##
==========================================
+ Coverage   90.32%   90.34%   +0.01%     
==========================================
  Files         278      278              
  Lines       23967    23967              
==========================================
+ Hits        21649    21652       +3     
+ Misses       2318     2315       -3
Impacted Files Coverage Δ
pymtl3/dsl/Connectable.py 82.48% <0%> (+0.56%) :arrow_up:
pymtl3/stdlib/ifcs/GetGiveIfc.py 65.93% <0%> (+1.09%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6348505...02fd96e. Read the comment docs.