aboutsummaryrefslogtreecommitdiff
path: root/rv64cpu/rtl/core/mmu
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-04-07 21:21:03 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-04-07 21:21:03 +0800
commit328d4ef7537a98bab8f6891a0280cda9e03b0cee (patch)
treea201ad9d62d2d566feb3da23d578e4df39f9a94a /rv64cpu/rtl/core/mmu
parent9c34902e4a763109d7d6251781bcb92f6bc68c56 (diff)
downloadrcc-project-328d4ef7537a98bab8f6891a0280cda9e03b0cee.tar.gz
rcc-project-328d4ef7537a98bab8f6891a0280cda9e03b0cee.tar.xz
feat(tlb): enhance TLB functionality with ASID-targeted flush and additional test cases
Diffstat (limited to 'rv64cpu/rtl/core/mmu')
-rw-r--r--rv64cpu/rtl/core/mmu/tlb.sv2
1 files changed, 1 insertions, 1 deletions
diff --git a/rv64cpu/rtl/core/mmu/tlb.sv b/rv64cpu/rtl/core/mmu/tlb.sv
index 521b08a..f466cb3 100644
--- a/rv64cpu/rtl/core/mmu/tlb.sv
+++ b/rv64cpu/rtl/core/mmu/tlb.sv
@@ -341,7 +341,7 @@ module tlb
logic mode_match;
logic [44:0] mask;
- asid_match = !flush_asid_valid || entries[i].g || (entries[i].asid == flush_asid);
+ asid_match = !flush_asid_valid || (!entries[i].g && (entries[i].asid == flush_asid));
mode_match = !flush_vpn_valid || (entries[i].mode == flush_mode);
if (flush_vpn_valid) begin
mask = make_vpn_mask(entries[i].mode, entries[i].level);