summaryrefslogtreecommitdiff
path: root/rtl/core/uarch.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/uarch.sv
parent8c7b6113c51215de9f57f016681bfcc43513ee37 (diff)
Implement shifter decoding
Diffstat (limited to 'rtl/core/uarch.sv')
-rw-r--r--rtl/core/uarch.sv18
1 files changed, 18 insertions, 0 deletions
diff --git a/rtl/core/uarch.sv b/rtl/core/uarch.sv
index 07b479d..c4dd961 100644
--- a/rtl/core/uarch.sv
+++ b/rtl/core/uarch.sv
@@ -56,4 +56,22 @@ typedef logic[4:0] psr_mode;
`define MODE_UND 5'b11011
`define MODE_SYS 5'b11111
+typedef struct packed
+{
+ alu_op op;
+ reg_num rn,
+ rd,
+ r_snd,
+ r_shift;
+ logic snd_shift_by_reg,
+ snd_is_imm,
+ shl,
+ shr,
+ ror,
+ put_carry,
+ sign_extend;
+ logic[7:0] imm;
+ logic[5:0] shift_imm;
+} alu_decode;
+
`endif