mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-03 02:05:21 +00:00
Does not work. But there is a bug hiding the IgnoreRequest confusion.
This commit is contained in:
parent
6a905aa2f2
commit
fe5f342d2f
@ -342,7 +342,7 @@ module lsu import cvw::*; #(parameter cvw_t P) (
|
|||||||
.FetchBuffer, .CacheBusRW(CacheBusRWTemp),
|
.FetchBuffer, .CacheBusRW(CacheBusRWTemp),
|
||||||
.CacheBusAck(DCacheBusAck), .InvalidateCache(1'b0), .CMOpM(CacheCMOpM));
|
.CacheBusAck(DCacheBusAck), .InvalidateCache(1'b0), .CMOpM(CacheCMOpM));
|
||||||
|
|
||||||
assign DCacheStallM = CacheStall & ~IgnoreRequestTLB;
|
assign DCacheStallM = CacheStall;
|
||||||
assign CacheBusRW = CacheBusRWTemp;
|
assign CacheBusRW = CacheBusRWTemp;
|
||||||
|
|
||||||
ahbcacheinterface #(.P(P), .BEATSPERLINE(BEATSPERLINE), .AHBWLOGBWPL(AHBWLOGBWPL), .LINELEN(LINELEN), .LLENPOVERAHBW(LLENPOVERAHBW), .READ_ONLY_CACHE(0)) ahbcacheinterface(
|
ahbcacheinterface #(.P(P), .BEATSPERLINE(BEATSPERLINE), .AHBWLOGBWPL(AHBWLOGBWPL), .LINELEN(LINELEN), .LLENPOVERAHBW(LLENPOVERAHBW), .READ_ONLY_CACHE(0)) ahbcacheinterface(
|
||||||
@ -386,7 +386,7 @@ module lsu import cvw::*; #(parameter cvw_t P) (
|
|||||||
assign {DCacheStallM, DCacheCommittedM} = '0;
|
assign {DCacheStallM, DCacheCommittedM} = '0;
|
||||||
end
|
end
|
||||||
|
|
||||||
assign LSUBusStallM = BusStall & ~IgnoreRequestTLB;
|
assign LSUBusStallM = BusStall;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Atomic operations
|
// Atomic operations
|
||||||
|
@ -300,7 +300,7 @@ module hptw import cvw::*; #(parameter cvw_t P) (
|
|||||||
default: NextWalkerState = IDLE; // Should never be reached
|
default: NextWalkerState = IDLE; // Should never be reached
|
||||||
endcase // case (WalkerState)
|
endcase // case (WalkerState)
|
||||||
|
|
||||||
assign IgnoreRequestTLB = (WalkerState == IDLE & TLBMissOrUpdateDA) | (HPTWFaultM); // If hptw request has pmp/a fault suppress bus access.
|
assign IgnoreRequestTLB = (WalkerState == IDLE & TLBMissOrUpdateDA) | (WalkerState != IDLE & HPTWFaultM); // If hptw request has pmp/a fault suppress bus access.
|
||||||
assign SelHPTW = WalkerState != IDLE;
|
assign SelHPTW = WalkerState != IDLE;
|
||||||
assign HPTWStall = (WalkerState != IDLE & WalkerState != FAULT) | (WalkerState == IDLE & TLBMissOrUpdateDA);
|
assign HPTWStall = (WalkerState != IDLE & WalkerState != FAULT) | (WalkerState == IDLE & TLBMissOrUpdateDA);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user