From acc50f3c896ebbfbc74474ea3b2ec1dbfed13787 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Thu, 4 Aug 2022 15:14:07 +0800 Subject: [PATCH] fix bug --- src/CP0/CP0.sv | 1 + src/MU/DCache.sv | 4 ++-- src/MU/ICache.sv | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/CP0/CP0.sv b/src/CP0/CP0.sv index eb9227b..f4e8d98 100644 --- a/src/CP0/CP0.sv +++ b/src/CP0/CP0.sv @@ -1,4 +1,5 @@ `include "defines.svh" +`include "Cache.svh" `include "CP0.svh" module CP0 ( diff --git a/src/MU/DCache.sv b/src/MU/DCache.sv index e66f710..c5b5c38 100644 --- a/src/MU/DCache.sv +++ b/src/MU/DCache.sv @@ -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) diff --git a/src/MU/ICache.sv b/src/MU/ICache.sv index 23ba411..a3c51c5 100644 --- a/src/MU/ICache.sv +++ b/src/MU/ICache.sv @@ -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;