Skip to content

Commit

Permalink
[rtl/icache] Make age matrix more consistent
Browse files Browse the repository at this point in the history
The design currently relies on fill_done remaining set in the cycle
after the fill buffer completes to ensure the fill_older_q entry gets
cleared (when a fill buffer completes in the same cycle that one is
allocated). This fix makes the behaviour a bit more consistent and easy
to reason about.
  • Loading branch information
Tom Roberts authored and tomeroberts committed Mar 16, 2020
1 parent e03aeb1 commit 854faed
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion rtl/ibex_icache.sv
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ module ibex_icache #(

// Track which other fill buffers are older than this one (for age-based arbitration)
// TODO sparsify
assign fill_older_d[fb] = fill_alloc[fb] ? fill_busy_q : (fill_older_q[fb] & ~fill_done);
assign fill_older_d[fb] = (fill_alloc[fb] ? fill_busy_q : fill_older_q[fb]) & ~fill_done;

// A fill buffer can release once all its actions are completed
// all data written to the cache (unless hit or error)
Expand Down

0 comments on commit 854faed

Please sign in to comment.