Merge pull request #69 from ross144/main

Fixed spilled instruction fetch ITLB miss interlock with load miss.
This commit is contained in:
David Harris 2023-02-06 15:37:02 -08:00 committed by GitHub
commit 00a8644b23

View File

@ -245,7 +245,7 @@ module hptw (
flopenl #(.TYPE(statetype)) WalkerStateReg(clk, reset | FlushW, 1'b1, NextWalkerState, IDLE, WalkerState);
always_comb
case (WalkerState)
IDLE: if (TLBMiss) NextWalkerState = InitialWalkerState;
IDLE: if (TLBMiss & ~DCacheStallM) NextWalkerState = InitialWalkerState;
else NextWalkerState = IDLE;
L3_ADR: NextWalkerState = L3_RD; // first access in SV48
L3_RD: if (DCacheStallM) NextWalkerState = L3_RD;