From 051080e060ecf3feb84adf46e7e3759c281ebb93 Mon Sep 17 00:00:00 2001 From: Dolu1990 Date: Thu, 13 Apr 2023 16:51:44 +0200 Subject: [PATCH] CsrPlugin now implement dummy HPM --- src/main/scala/vexriscv/plugin/CsrPlugin.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/scala/vexriscv/plugin/CsrPlugin.scala b/src/main/scala/vexriscv/plugin/CsrPlugin.scala index 479b982..24d94af 100644 --- a/src/main/scala/vexriscv/plugin/CsrPlugin.scala +++ b/src/main/scala/vexriscv/plugin/CsrPlugin.scala @@ -1697,6 +1697,13 @@ class CsrPlugin(val config: CsrPluginConfig) extends Plugin[VexRiscv] with Excep csrMapping.allowCsrSignal := True } } + //When no HPM + if(!csrMapping.mapping.contains(0xB03)){ + val masked = U(csrAddress & 0xF60) + when(arbitration.isValid && input(IS_CSR) && U(csrAddress(4 downto 0)) >= 3 && (masked === 0xB00 || masked === 0xC00 && !writeInstruction && privilege === 3 || U(csrAddress & 0xFE0) === 0x320)){ + csrMapping.allowCsrSignal := True + } + } illegalAccess clearWhen(csrMapping.allowCsrSignal)