laforest / FPGADesignElements

A self-contained online book containing a library of FPGA design modules and related coding/design guides.
MIT License
387 stars 40 forks source link

Fix for Arbiter_Priority interrupting every grant at the next clock. #16

Closed BartHaagdorens closed 2 years ago

BartHaagdorens commented 2 years ago

Before the fix, Arbiter_Priority would only hold a granted request for one clock cyle and then interrupt it:

With this fix, a granted request is held until the request is released.

laforest commented 2 years ago

Thank you for the insightful fix. I got cocky and didn't test enough this seemingly obvious code! I will look at it a bit more, as I'd rather not have requests be replaced by grant_previous in the masked request calculation.