From cf3fa9d250dcbc3d0aa0c688a62902f96e195053 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Mon, 17 Oct 2022 01:14:14 -0600 Subject: Fix unsafe decode signals --- rtl/core/decode/decode.sv | 2 +- rtl/core/decode/ldst/misc.sv | 1 + rtl/core/decode/ldst/multiple.sv | 2 ++ rtl/core/decode/ldst/single.sv | 1 + rtl/core/decode/snd.sv | 3 +-- rtl/core/uarch.sv | 4 +--- 6 files changed, 7 insertions(+), 6 deletions(-) (limited to 'rtl') diff --git a/rtl/core/decode/decode.sv b/rtl/core/decode/decode.sv index 5e72afe..321e972 100644 --- a/rtl/core/decode/decode.sv +++ b/rtl/core/decode/decode.sv @@ -119,7 +119,6 @@ module core_decode data_ctrl = {($bits(data_ctrl)){1'bx}}; snd_ctrl = {$bits(snd_ctrl){1'bx}}; - snd_ctrl.shl = 1; snd_ctrl.shr = 0; snd_ctrl.ror = 0; snd_ctrl.is_imm = 1; @@ -130,6 +129,7 @@ module core_decode snd_ror_if_imm = 1'bx; snd_shift_by_reg_if_reg = 1'bx; + ldst_addr = {($bits(ldst_addr)){1'bx}}; ldst_ctrl = {($bits(ldst_ctrl)){1'bx}}; ldst_ctrl.enable = 0; diff --git a/rtl/core/decode/ldst/misc.sv b/rtl/core/decode/ldst/misc.sv index d8ac898..df7b823 100644 --- a/rtl/core/decode/ldst/misc.sv +++ b/rtl/core/decode/ldst/misc.sv @@ -13,6 +13,7 @@ module core_decode_ldst_misc logic p, w; + assign decode.enable = 1'bx; assign decode.rn = insn `FIELD_LDST_MISC_RN; assign decode.rd = insn `FIELD_LDST_MISC_RD; assign decode.size = insn `FIELD_LDST_MISC_H ? LDST_HALF : LDST_BYTE; diff --git a/rtl/core/decode/ldst/multiple.sv b/rtl/core/decode/ldst/multiple.sv index 201f333..8a09fc0 100644 --- a/rtl/core/decode/ldst/multiple.sv +++ b/rtl/core/decode/ldst/multiple.sv @@ -12,7 +12,9 @@ module core_decode_ldst_multiple logic s, l; reg_list regs; + assign decode.enable = 1'bx; assign decode.rn = insn `FIELD_LDST_MULT_RN; + assign decode.rd = 4'bxxxx; assign decode.size = LDST_WORD; assign decode.load = l; assign decode.increment = insn `FIELD_LDST_MULT_U; diff --git a/rtl/core/decode/ldst/single.sv b/rtl/core/decode/ldst/single.sv index 402c17b..b99c1c0 100644 --- a/rtl/core/decode/ldst/single.sv +++ b/rtl/core/decode/ldst/single.sv @@ -11,6 +11,7 @@ module core_decode_ldst_single logic p, w; + assign decode.enable = 1'bx; assign decode.rn = insn `FIELD_LDST_SINGLE_RN; assign decode.rd = insn `FIELD_LDST_SINGLE_RD; assign decode.size = insn `FIELD_LDST_SINGLE_B ? LDST_BYTE : LDST_WORD; diff --git a/rtl/core/decode/snd.sv b/rtl/core/decode/snd.sv index 4e8de96..78c5424 100644 --- a/rtl/core/decode/snd.sv +++ b/rtl/core/decode/snd.sv @@ -13,7 +13,7 @@ module core_decode_snd ); reg_num r, r_shift; - logic shift_by_reg, shl, shr, ror, put_carry, sign_extend; + logic shift_by_reg, shr, ror, put_carry, sign_extend; logic[11:0] imm; logic[5:0] shift_imm; @@ -21,7 +21,6 @@ module core_decode_snd assign decode.r_shift = r_shift; assign decode.shift_by_reg = shift_by_reg; assign decode.is_imm = is_imm; - assign decode.shl = shl; assign decode.shr = shr; assign decode.ror = ror; assign decode.put_carry = put_carry; diff --git a/rtl/core/uarch.sv b/rtl/core/uarch.sv index bd9ed03..5b4183c 100644 --- a/rtl/core/uarch.sv +++ b/rtl/core/uarch.sv @@ -70,7 +70,6 @@ typedef struct packed r_shift; logic shift_by_reg, is_imm, - shl, shr, ror, put_carry, @@ -110,8 +109,7 @@ typedef struct packed typedef struct packed { - logic shl, - shr, + logic shr, ror, put_carry, sign_extend; -- cgit v1.2.3