summaryrefslogtreecommitdiff
path: root/rtl/core/decode/decode.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-09-25 20:05:30 -0600
committerAlejandro Soto <alejandro@34project.org>2022-09-25 20:05:30 -0600
commit146586c0fb52dccb9ab483b8b20369ed19ae5116 (patch)
tree144e3ac13ecb95f164ab47cc4e7f936cf52da087 /rtl/core/decode/decode.sv
parentfa370016708149976c748c14eadad1f89cf5a8ea (diff)
Implement flag updates
Diffstat (limited to '')
-rw-r--r--rtl/core/decode/decode.sv8
1 files changed, 6 insertions, 2 deletions
diff --git a/rtl/core/decode/decode.sv b/rtl/core/decode/decode.sv
index 6b9b3b5..fad7edc 100644
--- a/rtl/core/decode/decode.sv
+++ b/rtl/core/decode/decode.sv
@@ -9,6 +9,7 @@ module core_decode
output logic execute,
undefined,
writeback,
+ update_flags,
branch,
output ptr branch_offset,
output reg_num rd,
@@ -36,9 +37,9 @@ module core_decode
//TODO
reg_num rn;
- logic update_flags, restore_spsr, zero_fst, negate_fst, negate_snd, carry_in;
+ logic restore_spsr;
- logic data_writeback;
+ logic data_writeback, data_update_flags;
reg_num data_rd;
alu_op data_group_op;
@@ -47,6 +48,7 @@ module core_decode
.op(data_group_op),
.rd(data_rd),
.writeback(data_writeback),
+ .update_flags(data_update_flags),
.*
);
@@ -55,6 +57,7 @@ module core_decode
branch = 0;
writeback = 0;
+ update_flags = 0;
rd = 4'bxxxx;
data_op = 4'bxxxx;
@@ -72,6 +75,7 @@ module core_decode
rd = data_rd;
writeback = data_writeback;
data_op = data_group_op;
+ update_flags = data_update_flags;
end
`INSN_MUL: ;