mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Update privmode.sv
Program clean up
This commit is contained in:
parent
63a7649179
commit
dba1a77e5f
@ -43,10 +43,10 @@ module privmode import cvw::*; #(parameter cvw_t P) (
|
|||||||
always_comb begin
|
always_comb begin
|
||||||
if (TrapM) begin // Change privilege based on DELEG registers (see 3.1.8)
|
if (TrapM) begin // Change privilege based on DELEG registers (see 3.1.8)
|
||||||
if (P.S_SUPPORTED & DelegateM) NextPrivilegeModeM = P.S_MODE;
|
if (P.S_SUPPORTED & DelegateM) NextPrivilegeModeM = P.S_MODE;
|
||||||
else NextPrivilegeModeM = P.M_MODE;
|
else NextPrivilegeModeM = P.M_MODE;
|
||||||
end else if (mretM) NextPrivilegeModeM = STATUS_MPP;
|
end else if (mretM) NextPrivilegeModeM = STATUS_MPP;
|
||||||
else if (sretM) NextPrivilegeModeM = {1'b0, STATUS_SPP};
|
else if (sretM) NextPrivilegeModeM = {1'b0, STATUS_SPP};
|
||||||
else NextPrivilegeModeM = PrivilegeModeW;
|
else NextPrivilegeModeM = PrivilegeModeW;
|
||||||
end
|
end
|
||||||
|
|
||||||
flopenl #(2) privmodereg(clk, reset, ~StallW, NextPrivilegeModeM, P.M_MODE, PrivilegeModeW);
|
flopenl #(2) privmodereg(clk, reset, ~StallW, NextPrivilegeModeM, P.M_MODE, PrivilegeModeW);
|
||||||
|
Loading…
Reference in New Issue
Block a user