16 lines
339 B
Scala
16 lines
339 B
Scala
import chisel3._
|
|
|
|
class PrivilegeControl(p: CoreParams = CoreParams()) extends Module {
|
|
val io = IO(new Bundle {
|
|
val nextPriv = Input(UInt(2.W))
|
|
val setPriv = Input(Bool())
|
|
val priv = Output(UInt(2.W))
|
|
})
|
|
|
|
val privReg = RegInit(Privileged.PRV_M)
|
|
when(io.setPriv) {
|
|
privReg := io.nextPriv
|
|
}
|
|
io.priv := privReg
|
|
}
|