From babe6ce9db95d21eda520ec7f0ea636999f58f52 Mon Sep 17 00:00:00 2001 From: Teo Ene Date: Sun, 28 Feb 2021 22:22:04 -0600 Subject: [PATCH] Properly implemented the fix from commit 31c07b2adcdeaac25c8f5bd3f472b2f589ba41c7 --- wally-pipelined/src/uncore/imem.sv | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/wally-pipelined/src/uncore/imem.sv b/wally-pipelined/src/uncore/imem.sv index 86d23556..9aa37e49 100644 --- a/wally-pipelined/src/uncore/imem.sv +++ b/wally-pipelined/src/uncore/imem.sv @@ -53,19 +53,11 @@ module imem ( generate if (`XLEN==32) begin assign InstrF = AdrF[1] ? {rd2[15:0], rd[31:16]} : rd; - if(`TIMBASE==0) begin - assign InstrAccessFaultF = 0; - end else begin - assign InstrAccessFaultF = ~AdrF[31] | (|AdrF[30:16]); // memory mapped to 0x80000000-0x8000FFFF - end + assign InstrAccessFaultF = ~&(({AdrF,0} ~^ `TIMBASE) | `TIMRANGE); end else begin assign InstrF = AdrF[2] ? (AdrF[1] ? {rd2[15:0], rd[63:48]} : rd[63:32]) : (AdrF[1] ? rd[47:16] : rd[31:0]); - if(`TIMBASE==0) begin - assign InstrAccessFaultF = 0; - end else begin - assign InstrAccessFaultF = (|AdrF[`XLEN-1:32]) | ~AdrF[31] | (|AdrF[30:16]); // memory mapped to 0x80000000-0x8000FFFF] - end + assign InstrAccessFaultF = |AdrF[`XLEN-1:32] | ~&({AdrF[31:1],1'b0} ~^ `TIMBASE | `TIMRANGE); end endgenerate endmodule