diff options
-rw-r--r-- | picorv32.v | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -1968,16 +1968,15 @@ module picorv32_pcpi_fast_mul #( rs1_q <= rs1; rs2_q <= rs2; end + if (!MUL_CLKGATE || active[1]) begin + rd <= $signed(EXTRA_MUL_FFS ? rs1_q : rs1) * $signed(EXTRA_MUL_FFS ? rs2_q : rs2); + end if (!MUL_CLKGATE || active[2]) begin rd_q <= rd; end end always @(posedge clk) begin - rd <= $signed(EXTRA_MUL_FFS ? rs1_q : rs1) * $signed(EXTRA_MUL_FFS ? rs2_q : rs2); - end - - always @(posedge clk) begin if (instr_any_mul && !(EXTRA_MUL_FFS ? active[3:0] : active[1:0])) begin if (instr_rs1_signed) rs1 <= $signed(pcpi_rs1); |