mmu write data_ok test

This commit is contained in:
cxy004 2021-08-01 18:13:59 +08:00
parent cad94e7667
commit f6270c5a65

View File

@ -266,14 +266,17 @@ module MMU (
case (drState) case (drState)
DR_IDLE: begin DR_IDLE: begin
if (~dValid1) dEn = 1; if (~dValid1) dEn = 1;
else if (dwr1 & (~dCached1 | dc.hit)) drNextState = DR_REFILL; else begin
else if (dCached1 & dc.hit) begin if (dwr1) data.data_ok = 1;
dEn = 1; if (dwr1 & (~dCached1 | dc.hit)) drNextState = DR_REFILL;
data.data_ok = 1; else if (dCached1 & dc.hit) begin
end else begin dEn = 1;
rdata_axi.req = 1; data.data_ok = 1;
if (~rdata_axi.addr_ok) drNextState = DR_WA; end else begin
else drNextState = DR_WD1; rdata_axi.req = 1;
if (~rdata_axi.addr_ok) drNextState = DR_WA;
else drNextState = DR_WD1;
end
end end
end end
DR_WA: begin DR_WA: begin
@ -312,7 +315,6 @@ module MMU (
DR_REFILL: begin DR_REFILL: begin
if (wdata_ok) begin // TODO if (wdata_ok) begin // TODO
dEn = 1; dEn = 1;
if (dwr1) data.data_ok = 1;
drNextState = DR_IDLE; drNextState = DR_IDLE;
end end
end end