mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-03 10:15:19 +00:00
Clean up of cachefsm.
This commit is contained in:
parent
3bfe23bc75
commit
e0740034f0
9
pipelined/src/cache/cache.sv
vendored
9
pipelined/src/cache/cache.sv
vendored
@ -243,15 +243,8 @@ module cache #(parameter integer LINELEN,
|
||||
assign FlushAdrFlag = FlushAdr == FlushAdrThreshold[INDEXLEN-1:0];
|
||||
assign FlushWayFlag = FlushWay[NUMWAYS-1];
|
||||
|
||||
// controller
|
||||
// *** fixme
|
||||
logic CacheableM;
|
||||
|
||||
assign CacheableM = 1;
|
||||
|
||||
|
||||
cachefsm cachefsm(.clk, .reset, .CacheFetchLine, .CacheWriteLine, .CacheBusAck,
|
||||
.RW, .Atomic, .CPUBusy, .CacheableM, .IgnoreRequest,
|
||||
.RW, .Atomic, .CPUBusy, .IgnoreRequest,
|
||||
.CacheHit, .VictimDirty, .CacheStall, .CacheCommitted,
|
||||
.CacheMiss, .CacheAccess, .SelAdr, .SetValid,
|
||||
.ClearValid, .SetDirty, .ClearDirty, .SRAMWordWriteEnable,
|
||||
|
13
pipelined/src/cache/cachefsm.sv
vendored
13
pipelined/src/cache/cachefsm.sv
vendored
@ -34,7 +34,6 @@ module cachefsm
|
||||
input logic FlushCache,
|
||||
// hazard inputs
|
||||
input logic CPUBusy,
|
||||
input logic CacheableM,
|
||||
// interlock fsm
|
||||
input logic IgnoreRequest,
|
||||
// Bus inputs
|
||||
@ -100,8 +99,8 @@ module cachefsm
|
||||
assign AnyCPUReqM = |RW | (|Atomic);
|
||||
|
||||
// outputs for the performance counters.
|
||||
assign CacheAccess = AnyCPUReqM & CacheableM & CurrState == STATE_READY;
|
||||
assign CacheMiss = CacheAccess & CacheableM & ~CacheHit;
|
||||
assign CacheAccess = AnyCPUReqM & CurrState == STATE_READY;
|
||||
assign CacheMiss = CacheAccess & ~CacheHit;
|
||||
|
||||
always_ff @(posedge clk)
|
||||
if (reset) CurrState <= #1 STATE_READY;
|
||||
@ -159,7 +158,7 @@ module cachefsm
|
||||
end
|
||||
|
||||
// amo hit
|
||||
else if(Atomic[1] & (&RW) & CacheableM & CacheHit) begin
|
||||
else if(Atomic[1] & (&RW) & CacheHit) begin
|
||||
SelAdr = 2'b01;
|
||||
CacheStall = 1'b0;
|
||||
|
||||
@ -175,7 +174,7 @@ module cachefsm
|
||||
end
|
||||
end
|
||||
// read hit valid cached
|
||||
else if(RW[1] & CacheableM & CacheHit) begin
|
||||
else if(RW[1] & CacheHit) begin
|
||||
CacheStall = 1'b0;
|
||||
LRUWriteEn = 1'b1;
|
||||
|
||||
@ -188,7 +187,7 @@ module cachefsm
|
||||
end
|
||||
end
|
||||
// write hit valid cached
|
||||
else if (RW[0] & CacheableM & CacheHit) begin
|
||||
else if (RW[0] & CacheHit) begin
|
||||
SelAdr = 2'b01;
|
||||
CacheStall = 1'b0;
|
||||
SRAMWordWriteEnable = 1'b1;
|
||||
@ -204,7 +203,7 @@ module cachefsm
|
||||
end
|
||||
end
|
||||
// read or write miss valid cached
|
||||
else if((|RW) & CacheableM & ~CacheHit) begin
|
||||
else if((|RW) & ~CacheHit) begin
|
||||
NextState = STATE_MISS_FETCH_WDV;
|
||||
CacheStall = 1'b1;
|
||||
CacheFetchLine = 1'b1;
|
||||
|
Loading…
Reference in New Issue
Block a user