From 0ee9c65f3a3c734cc35fe7e703dc4c6a8f16257f Mon Sep 17 00:00:00 2001 From: Peter Rugg Date: Mon, 11 May 2020 17:24:43 +0100 Subject: [PATCH] Forward cap-only instructions to the ALU --- src_Core/RISCY_OOO/procs/RV64G_OOO/RenameStage.bsv | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src_Core/RISCY_OOO/procs/RV64G_OOO/RenameStage.bsv b/src_Core/RISCY_OOO/procs/RV64G_OOO/RenameStage.bsv index 2d593d8..e93e60e 100644 --- a/src_Core/RISCY_OOO/procs/RV64G_OOO/RenameStage.bsv +++ b/src_Core/RISCY_OOO/procs/RV64G_OOO/RenameStage.bsv @@ -486,7 +486,9 @@ module mkRenameStage#(RenameInput inIfc)(RenameStage); // CSR inst will be sent to ALU exe pipeline Bool to_exec = False; - if (dInst.execFunc matches tagged Alu .alu) begin + if ((dInst.execFunc matches tagged Alu .alu ? True : False) || + (dInst.capFunc matches tagged CapModify .cap ? True : False) || + (dInst.capFunc matches tagged CapInspect .cap ? True : False)) begin to_exec = True; doAssert(dInst.iType == Csr || dInst.iType == Scr, "only CSR or SCR inst send to exe"); end