removed mmustall and finished port annotations on ptw and lsuArb.

This commit is contained in:
Ross Thompson 2021-07-03 16:06:09 -05:00
parent 043f1e10c5
commit 9f16d08d0d
3 changed files with 12 additions and 38 deletions

View File

@ -53,13 +53,6 @@ module ahblite (
input logic [1:0] MemSizeM, input logic [1:0] MemSizeM,
//output logic DataStall, //output logic DataStall,
// Signals from MMU // Signals from MMU
/* -----\/----- EXCLUDED -----\/-----
input logic MMUStall,
input logic [`XLEN-1:0] MMUPAdr,
input logic MMUTranslate,
output logic [`XLEN-1:0] MMUReadPTE,
output logic MMUReady,
-----/\----- EXCLUDED -----/\----- */
// Signals from PMA checker // Signals from PMA checker
input logic DSquashBusAccessM, ISquashBusAccessF, input logic DSquashBusAccessM, ISquashBusAccessF,
// Signals to PMA checker (metadata of proposed access) // Signals to PMA checker (metadata of proposed access)
@ -158,8 +151,6 @@ module ahblite (
-----/\----- EXCLUDED -----/\----- */ -----/\----- EXCLUDED -----/\----- */
//assign #1 InstrStall = ((NextBusState == INSTRREAD) || (NextBusState == INSTRREADC) ||
// MMUStall);
// bus outputs // bus outputs
assign #1 GrantData = (ProposedNextBusState == MEMREAD) || (ProposedNextBusState == MEMWRITE) || assign #1 GrantData = (ProposedNextBusState == MEMREAD) || (ProposedNextBusState == MEMWRITE) ||

View File

@ -64,11 +64,6 @@ module pagetablewalker
output logic HPTWRead, output logic HPTWRead,
// Stall signal
output logic MMUStall,
// Faults // Faults
output logic WalkerInstrPageFaultF, output logic WalkerInstrPageFaultF,
output logic WalkerLoadPageFaultM, output logic WalkerLoadPageFaultM,
@ -190,7 +185,6 @@ module pagetablewalker
PRegEn = 1'b0; PRegEn = 1'b0;
TranslationPAdr = '0; TranslationPAdr = '0;
HPTWRead = 1'b0; HPTWRead = 1'b0;
MMUStall = 1'b1;
PageTableEntry = '0; PageTableEntry = '0;
PageType = '0; PageType = '0;
DTLBWriteM = '0; DTLBWriteM = '0;
@ -209,7 +203,6 @@ module pagetablewalker
end else begin end else begin
NextWalkerState = IDLE; NextWalkerState = IDLE;
TranslationPAdr = '0; TranslationPAdr = '0;
MMUStall = 1'b0;
end end
end end
@ -271,14 +264,12 @@ module pagetablewalker
LEAF: begin LEAF: begin
NextWalkerState = IDLE; NextWalkerState = IDLE;
MMUStall = 1'b0;
end end
FAULT: begin FAULT: begin
NextWalkerState = IDLE; NextWalkerState = IDLE;
WalkerInstrPageFaultF = ~DTLBMissMQ; WalkerInstrPageFaultF = ~DTLBMissMQ;
WalkerLoadPageFaultM = DTLBMissMQ && ~MemStore; WalkerLoadPageFaultM = DTLBMissMQ && ~MemStore;
WalkerStorePageFaultM = DTLBMissMQ && MemStore; WalkerStorePageFaultM = DTLBMissMQ && MemStore;
MMUStall = 1'b0;
end end
// Default case should never happen, but is included for linter. // Default case should never happen, but is included for linter.
@ -293,8 +284,6 @@ module pagetablewalker
assign VPN1 = TranslationVAdrQ[31:22]; assign VPN1 = TranslationVAdrQ[31:22];
assign VPN0 = TranslationVAdrQ[21:12]; assign VPN0 = TranslationVAdrQ[21:12];
//assign HPTWRead = (WalkerState == IDLE && MMUTranslate) ||
// WalkerState == LEVEL2 || WalkerState == LEVEL1;
// Capture page table entry from data cache // Capture page table entry from data cache
@ -335,7 +324,6 @@ module pagetablewalker
PRegEn = 1'b0; PRegEn = 1'b0;
TranslationPAdr = '0; TranslationPAdr = '0;
HPTWRead = 1'b0; HPTWRead = 1'b0;
MMUStall = 1'b1;
PageTableEntry = '0; PageTableEntry = '0;
PageType = '0; PageType = '0;
DTLBWriteM = '0; DTLBWriteM = '0;
@ -358,7 +346,6 @@ module pagetablewalker
end else begin end else begin
NextWalkerState = IDLE; NextWalkerState = IDLE;
TranslationPAdr = '0; TranslationPAdr = '0;
MMUStall = 1'b0;
end end
end end
@ -499,7 +486,6 @@ module pagetablewalker
LEAF: begin LEAF: begin
NextWalkerState = IDLE; NextWalkerState = IDLE;
MMUStall = 1'b0;
end end
FAULT: begin FAULT: begin
@ -507,7 +493,6 @@ module pagetablewalker
WalkerInstrPageFaultF = ~DTLBMissMQ; WalkerInstrPageFaultF = ~DTLBMissMQ;
WalkerLoadPageFaultM = DTLBMissMQ && ~MemStore; WalkerLoadPageFaultM = DTLBMissMQ && ~MemStore;
WalkerStorePageFaultM = DTLBMissMQ && MemStore; WalkerStorePageFaultM = DTLBMissMQ && MemStore;
MMUStall = 1'b0;
end end
// Default case should never happen // Default case should never happen

View File

@ -129,7 +129,6 @@ module wallypipelinedhart
logic ICacheStallF; logic ICacheStallF;
logic DCacheStall; logic DCacheStall;
logic [`XLEN-1:0] MMUPAdr, MMUReadPTE; logic [`XLEN-1:0] MMUPAdr, MMUReadPTE;
logic MMUStall;
logic MMUTranslate, MMUReady; logic MMUTranslate, MMUReady;
logic HPTWRead; logic HPTWRead;
logic HPTWReadyfromLSU; logic HPTWReadyfromLSU;
@ -199,19 +198,18 @@ module wallypipelinedhart
.PageTableEntryF(PageTableEntryF), // add to lsu port .PageTableEntryF(PageTableEntryF), // add to lsu port
.PageTableEntryM(PageTableEntryM), // already on lsu port convert to internal .PageTableEntryM(PageTableEntryM), // already on lsu port convert to internal
.PageTypeF(PageTypeF), // add to lsu port connects to ifu .PageTypeF(PageTypeF), // add to lsu port connects to ifu
.PageTypeM(PageTypeM), .PageTypeM(PageTypeM), // already on lsu port convert to internal
.ITLBWriteF(ITLBWriteF), .ITLBWriteF(ITLBWriteF), // add to lsu port connects to ifu
.DTLBWriteM(DTLBWriteM), .DTLBWriteM(DTLBWriteM), // already on lsu port convert to internal
.MMUReadPTE(MMUReadPTE), .MMUReadPTE(MMUReadPTE), // from lsu arb convert to internal
.MMUReady(MMUReady), .MMUReady(MMUReady), // to lsu arb, convert to internal
.HPTWStall(HPTWStall), .HPTWStall(HPTWStall), // from lsu arb convert to internal
.MMUPAdr(MMUPAdr), .MMUPAdr(MMUPAdr), // to lsu arb, convert to internal
.MMUTranslate(MMUTranslate), .MMUTranslate(MMUTranslate), // to lsu arb, convert to internal
.HPTWRead(HPTWRead), .HPTWRead(HPTWRead), // to lsu arb, convert to internal
.MMUStall(MMUStall), .WalkerInstrPageFaultF(WalkerInstrPageFaultF), // add to lsu port
.WalkerInstrPageFaultF(WalkerInstrPageFaultF), .WalkerLoadPageFaultM(WalkerLoadPageFaultM), // add to lsu port (to privilege)
.WalkerLoadPageFaultM(WalkerLoadPageFaultM), .WalkerStorePageFaultM(WalkerStorePageFaultM)); // add to lsu port (to privilege)
.WalkerStorePageFaultM(WalkerStorePageFaultM));