summaryrefslogtreecommitdiff
path: root/rtl/core/decode/isa.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-10-31 15:25:38 -0600
committerAlejandro Soto <alejandro@34project.org>2022-11-01 23:04:24 -0600
commitb5a065227bd176b85765461ac2a791fb0cff1c72 (patch)
treeb67393abc0b43882647037dc2294df85ea38e93e /rtl/core/decode/isa.sv
parentf4a3bb7f9656f45b7c0d9b3ed8e8b09e9bd14d37 (diff)
Implement multiplication decode
Diffstat (limited to 'rtl/core/decode/isa.sv')
-rw-r--r--rtl/core/decode/isa.sv21
1 files changed, 10 insertions, 11 deletions
diff --git a/rtl/core/decode/isa.sv b/rtl/core/decode/isa.sv
index 98d338e..3d978a9 100644
--- a/rtl/core/decode/isa.sv
+++ b/rtl/core/decode/isa.sv
@@ -86,17 +86,16 @@
`define INSN_SMULL 28'b0000110_?_????_????_????_1001_????
`define INSN_SMLAL 28'b0000111_?_????_????_????_1001_????
-// No incluye INSN_MUL por el SBZ del medio
-`define GROUP_BIGMUL 28'b0000???_?_????_????_????_1001_????
-
-`define FIELD_MUL_LONG [23]
-`define FIELD_MUL_SIGNED [22]
-`define FIELD_MUL_ACC [21]
-`define FIELD_MUL_SET_FLAGS [20]
-`define FIELD_MUL_RD [19:16]
-`define FIELD_MUL_RN [15:12]
-`define FIELD_MUL_RS [11:8]
-`define FIELD_MUL_RM [3:0]
+`define GROUP_MUL `INSN_MUL, `INSN_MLA, `INSN_UMULL, `INSN_UMLAL, `INSN_SMULL, `INSN_SMLAL
+
+`define FIELD_MUL_LONG [23]
+`define FIELD_MUL_SIGNED [22]
+`define FIELD_MUL_ACC [21]
+`define FIELD_MUL_S [20]
+`define FIELD_MUL_RD [19:16]
+`define FIELD_MUL_RN [15:12]
+`define FIELD_MUL_RS [11:8]
+`define FIELD_MUL_RM [3:0]
// Instrucciones de load/store