diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-10-09 19:25:27 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-10-09 19:25:27 -0600 |
| commit | 7d95ff01bcd8c42efe118fd1bddaabfca0e937eb (patch) | |
| tree | 1d61430989192de9f34fb327772ceff7cac5c71a /rtl/core/decode/ldst/multiple.sv | |
| parent | 1f1f61bbab1396278a861e46fd65a50d1914585e (diff) | |
Implement most memory transactions
Diffstat (limited to 'rtl/core/decode/ldst/multiple.sv')
| -rw-r--r-- | rtl/core/decode/ldst/multiple.sv | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/rtl/core/decode/ldst/multiple.sv b/rtl/core/decode/ldst/multiple.sv index 24e8e5b..d286a67 100644 --- a/rtl/core/decode/ldst/multiple.sv +++ b/rtl/core/decode/ldst/multiple.sv @@ -10,7 +10,7 @@ module core_decode_ldst_multiple ); logic s, l; - logic[15:0] reg_list; + reg_list regs; assign decode.rn = insn `FIELD_LDST_MULT_RN; assign decode.size = LDST_WORD; @@ -20,13 +20,13 @@ module core_decode_ldst_multiple assign decode.sign_extend = 0; assign decode.pre_indexed = insn `FIELD_LDST_MULT_P; assign decode.unprivileged = 0; - assign decode.user_regs = s && (!l || !reg_list[`R15]); - assign decode.reg_list = reg_list; + assign decode.user_regs = s && !(l && regs[`R15]); + assign decode.regs = regs; assign s = insn `FIELD_LDST_MULT_S; assign l = insn `FIELD_LDST_LD; - assign reg_list = insn `FIELD_LDST_MULT_LIST; - assign restore_spsr = s && l && reg_list[`R15]; + assign regs = insn `FIELD_LDST_MULT_LIST; + assign restore_spsr = s && l && regs[`R15]; endmodule |
