This commit is contained in:
Paul Pan 2022-08-04 15:14:07 +08:00
parent 31030d6a84
commit acc50f3c89
3 changed files with 5 additions and 4 deletions

View File

@ -1,4 +1,5 @@
`include "defines.svh"
`include "Cache.svh"
`include "CP0.svh"
module CP0 (

View File

@ -70,9 +70,9 @@ module DCache (
end
assign victim_dirt = (victim_dirt_collect) & (-victim_dirt_collect);
assign victim_valid = (~victim_valid_collect) & (-~victim_valid_collect);
assign victim_valid = (~victim_valid_collect) & (-(~victim_valid_collect));
assign victim_lrud = (victim_lrud_collect) & (-victim_lrud_collect);
assign victim_lru = (~nowLRU) & (-~nowLRU);
assign victim_lru = (~nowLRU) & (-(~nowLRU));
assign victim = port.ctrl.cache_hit_writeback ? hitway
: port.ctrl.cache_index_writeback ? (victim_dirt == `DC_WAYS'b0 ? ~`DC_WAYS'b0 : victim_dirt)

View File

@ -53,8 +53,8 @@ module ICache (
logic [`IC_WAYS-1:0] victim_tag, victim_tag_collect;
logic [`IC_WAYS-1:0] victim_lru;
for (genvar i = 0; i < `IC_WAYS; i++) assign victim_tag_collect[i] = tag[i].valid;
assign victim_tag = (~victim_tag_collect) & (-~victim_tag_collect);
assign victim_lru = (~nowLRU) & (-~nowLRU);
assign victim_tag = (~victim_tag_collect) & (-(~victim_tag_collect));
assign victim_lru = (~nowLRU) & (-(~nowLRU));
assign victim = victim_tag != `IC_WAYS'b0 ? victim_tag : victim_lru;
assign setLRU_valid = port.ctrl.read_and_hit | port.ctrl.read_but_replace;