keyboardcowboy
Member level 3
I have this filter code which is not meeting the timing constraints, in order to fix it I have to pipeline it.
The delay is being caused by the multiplication and addition operation in case 1. How can i pipeline this part??
Code:
case(cmd0)
0: begin
acc_d = q0*h0;
end
1: begin
acc_d = q0*h0+acc;
end
2: begin
{acc_d,roundit} = {acc,1'b0} >>> h0[6:0];
acc_d = acc_d + ((roundit)?64'b1:64'b0);
end
3: begin
dout_d = acc[31:0];
acc_d = 0;
_pushout_d=1;
end
endcase
The delay is being caused by the multiplication and addition operation in case 1. How can i pipeline this part??
Code:
1: begin
acc_d = q0*h0+acc;