keyboardcowboy
Member level 3
- Joined
- Mar 4, 2010
- Messages
- 55
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
- 1,715
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;