forked from Github_Repos/cvw
hptw: Removed NonBusTrapM from LSU
This commit is contained in:
parent
2f81e4c70d
commit
e182cac9bc
@ -56,7 +56,7 @@ module trap (
|
||||
logic [11:0] PendingIntsM;
|
||||
//logic InterruptM;
|
||||
logic [`XLEN-1:0] PrivilegedTrapVector, PrivilegedVectoredTrapVector;
|
||||
logic NonBusTrapM, BusTrapM;
|
||||
logic ExceptionNonIntM;
|
||||
|
||||
// Determine pending enabled interrupts
|
||||
assign MIntGlobalEnM = (PrivilegeModeW != `M_MODE) || STATUS_MIE; // if M ints enabled or lower priv 3.1.9
|
||||
@ -64,7 +64,8 @@ module trap (
|
||||
assign PendingIntsM = ((MIP_REGW & MIE_REGW) & ({12{MIntGlobalEnM}} & 12'h888)) | ((SIP_REGW & SIE_REGW) & ({12{SIntGlobalEnM}} & 12'h222));
|
||||
assign PendingInterruptM = (|PendingIntsM) & InstrValidM;
|
||||
assign InterruptM = PendingInterruptM & ~CommittedM;
|
||||
assign ExceptionM = BusTrapM | NonBusTrapM;
|
||||
//assign ExceptionM = BusTrapM | NonBusTrapM;
|
||||
assign ExceptionM = TrapM;
|
||||
|
||||
// interrupt if any sources are pending
|
||||
// & with a M stage valid bit to avoid interrupts from interrupt a nonexistent flushed instruction (in the M stage)
|
||||
@ -73,13 +74,13 @@ module trap (
|
||||
// Trigger Traps and RET
|
||||
// Created groups of trap signals so that bus could take in all traps it doesn't already produce (i.e. using just TrapM to squash access created circular paths)
|
||||
// *** Ben July 06, 2021 probably remove bus and nonbus trapm after dcache implemenation.
|
||||
assign BusTrapM = LoadAccessFaultM | StoreAccessFaultM;
|
||||
assign NonBusTrapM = InstrMisalignedFaultM | InstrAccessFaultM | IllegalInstrFaultM |
|
||||
//assign BusTrapM = LoadAccessFaultM | StoreAccessFaultM;
|
||||
assign ExceptionNonIntM = InstrMisalignedFaultM | InstrAccessFaultM | IllegalInstrFaultM |
|
||||
LoadMisalignedFaultM | StoreMisalignedFaultM |
|
||||
InstrPageFaultM | LoadPageFaultM | StorePageFaultM |
|
||||
BreakpointFaultM | EcallFaultM |
|
||||
InterruptM;
|
||||
assign TrapM = BusTrapM | NonBusTrapM;
|
||||
LoadAccessFaultM | StoreAccessFaultM;
|
||||
assign TrapM = ExceptionNonIntM | InterruptM;
|
||||
assign MTrapM = TrapM & (NextPrivilegeModeM == `M_MODE);
|
||||
assign STrapM = TrapM & (NextPrivilegeModeM == `S_MODE) & `S_SUPPORTED;
|
||||
assign UTrapM = TrapM & (NextPrivilegeModeM == `U_MODE) & `N_SUPPORTED;
|
||||
|
Loading…
Reference in New Issue
Block a user