aboutsummaryrefslogtreecommitdiffstats
path: root/picorv32.v
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-09-06 01:02:12 +0200
committerClifford Wolf <clifford@clifford.at>2016-09-06 01:02:12 +0200
commit7f946d0f843f03fc1a0384465245b6164f27f18c (patch)
tree6e9982ad8c12a1fc90326f9415cd721ff1c66e4f /picorv32.v
parent5fdee952c92c62409ca58e8d18d951dfafed3c92 (diff)
downloadpicorv32-7f946d0f843f03fc1a0384465245b6164f27f18c.tar.gz
picorv32-7f946d0f843f03fc1a0384465245b6164f27f18c.zip
Added misisng MUL_CLKGATE stage
Diffstat (limited to 'picorv32.v')
-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);