aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--picorv32.v7
1 files changed, 3 insertions, 4 deletions
diff --git a/picorv32.v b/picorv32.v
index 5f2fd15..cb7b84f 100644
--- a/picorv32.v
+++ b/picorv32.v
@@ -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);