summaryrefslogtreecommitdiff
path: root/rtl/core/decode/decode.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-11-08 00:19:49 -0600
committerAlejandro Soto <alejandro@34project.org>2022-11-08 00:19:49 -0600
commitac0d6f4e068ff0ff08f05e04053ebd53ba20bcb8 (patch)
tree8c2019cb296f94b2fd39894a245a4aac899d2371 /rtl/core/decode/decode.sv
parent942461c315db3269fcbe9a9ca18beee9afa78d9c (diff)
Refactor decode signals into unified insn_decode struct
Diffstat (limited to 'rtl/core/decode/decode.sv')
-rw-r--r--rtl/core/decode/decode.sv33
1 files changed, 22 insertions, 11 deletions
diff --git a/rtl/core/decode/decode.sv b/rtl/core/decode/decode.sv
index 3096c7a..1e27878 100644
--- a/rtl/core/decode/decode.sv
+++ b/rtl/core/decode/decode.sv
@@ -3,19 +3,30 @@
module core_decode
(
- input word insn,
- input psr_flags flags,
-
- output datapath_decode ctrl,
- output psr_decode psr_ctrl,
- output branch_decode branch_ctrl,
- output snd_decode snd_ctrl,
- output data_decode data_ctrl,
- output ldst_decode ldst_ctrl,
- output mul_decode mul_ctrl,
- output coproc_decode coproc_ctrl
+ input word insn,
+ input psr_flags flags,
+
+ output insn_decode dec
);
+ mul_decode mul_ctrl;
+ psr_decode psr_ctrl;
+ snd_decode snd_ctrl;
+ data_decode data_ctrl;
+ ldst_decode ldst_ctrl;
+ branch_decode branch_ctrl;
+ coproc_decode coproc_ctrl;
+ datapath_decode ctrl;
+
+ assign dec.mul = mul_ctrl;
+ assign dec.psr = psr_ctrl;
+ assign dec.snd = snd_ctrl;
+ assign dec.ctrl = ctrl;
+ assign dec.data = data_ctrl;
+ assign dec.ldst = ldst_ctrl;
+ assign dec.branch = branch_ctrl;
+ assign dec.coproc = coproc_ctrl;
+
assign ctrl.execute = execute;
assign ctrl.undefined = undefined;
assign ctrl.conditional = conditional;