summaryrefslogtreecommitdiff
path: root/rtl/core/isa.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-09-25 23:21:32 -0600
committerAlejandro Soto <alejandro@34project.org>2022-09-25 23:21:32 -0600
commit43829e0400f0a7aaccbb1ebefb44a38c41749e77 (patch)
tree686740ccd520b06e74aae080ef5d3d3abbfff4b5 /rtl/core/isa.sv
parent8c7b6113c51215de9f57f016681bfcc43513ee37 (diff)
Implement shifter decoding
Diffstat (limited to '')
-rw-r--r--rtl/core/isa.sv24
1 files changed, 18 insertions, 6 deletions
diff --git a/rtl/core/isa.sv b/rtl/core/isa.sv
index 1778d33..35610c2 100644
--- a/rtl/core/isa.sv
+++ b/rtl/core/isa.sv
@@ -52,12 +52,24 @@
`define GROUP_ALU 28'b00_?_????_?_????_????_????????????
-`define FIELD_DATA_IMM [25]
-`define FIELD_DATA_OPCODE [24:21]
-`define FIELD_DATA_S [20]
-`define FIELD_DATA_RN [19:16]
-`define FIELD_DATA_RD [15:12]
-`define FIELD_DATA_SHIFTER [11:0]
+`define FIELD_DATA_IMM [25]
+`define FIELD_DATA_OPCODE [24:21]
+`define FIELD_DATA_S [20]
+`define FIELD_DATA_RN [19:16]
+`define FIELD_DATA_RD [15:12]
+`define FIELD_DATA_ROR8 [11:8]
+`define FIELD_DATA_IMM8 [7:0]
+`define FIELD_DATA_SHIFTIMM [11:7]
+`define FIELD_DATA_RS [11:8]
+`define FIELD_DATA_ZEROIFREG [7]
+`define FIELD_DATA_SHIFT [6:5]
+`define FIELD_DATA_REGSHIFT [4]
+`define FIELD_DATA_RM [3:0]
+
+`define SHIFT_LSL 2'b00
+`define SHIFT_LSR 2'b01
+`define SHIFT_ASR 2'b10
+`define SHIFT_ROR 2'b11
// Instrucciones de multiplicación