diff --git a/rtl/ibex_cs_registers.sv b/rtl/ibex_cs_registers.sv index f20061f6..2f7f516e 100644 --- a/rtl/ibex_cs_registers.sv +++ b/rtl/ibex_cs_registers.sv @@ -94,18 +94,18 @@ module ibex_cs_registers #( // misa localparam logic [1:0] MXL = 2'd1; // M-XLEN: XLEN in M-Mode for RV32 localparam logic [31:0] MISA_VALUE = - (0 << 0) // A - Atomic Instructions extension - | (1 << 2) // C - Compressed extension - | (0 << 3) // D - Double precision floating-point extension - | (RV32E << 4) // E - RV32E base ISA - | (0 << 5) // F - Single precision floating-point extension - | (1 << 8) // I - RV32I/64I/128I base ISA - | (RV32M << 12) // M - Integer Multiply/Divide extension - | (0 << 13) // N - User level interrupts supported - | (0 << 18) // S - Supervisor mode implemented - | (0 << 20) // U - User mode implemented - | (0 << 23) // X - Non-standard extensions present - | (MXL << 30); // M-XLEN + (0 << 0) // A - Atomic Instructions extension + | (1 << 2) // C - Compressed extension + | (0 << 3) // D - Double precision floating-point extension + | (32'(RV32E) << 4) // E - RV32E base ISA + | (0 << 5) // F - Single precision floating-point extension + | (1 << 8) // I - RV32I/64I/128I base ISA + | (32'(RV32M) << 12) // M - Integer Multiply/Divide extension + | (0 << 13) // N - User level interrupts supported + | (0 << 18) // S - Supervisor mode implemented + | (0 << 20) // U - User mode implemented + | (0 << 23) // X - Non-standard extensions present + | (32'(MXL) << 30); // M-XLEN `define MSTATUS_UIE_BITS 0 `define MSTATUS_SIE_BITS 1 diff --git a/rtl/ibex_register_file_ff.sv b/rtl/ibex_register_file_ff.sv index 308decb5..86e7a082 100644 --- a/rtl/ibex_register_file_ff.sv +++ b/rtl/ibex_register_file_ff.sv @@ -62,7 +62,7 @@ module ibex_register_file #( always_comb begin : we_a_decoder for (int i = 1; i < NUM_WORDS; i++) begin - we_a_dec[i] = (waddr_a_i == i) ? we_a_i : 1'b0; + we_a_dec[i] = (waddr_a_i == 5'(i)) ? we_a_i : 1'b0; end end