Yogesh
Occasional Contributor
6 years agoInstantiation of 9x9 multipliers in cyclone V GT FPGA?
I have instantiated 96 8x8 multipliers as below each input width of 8bits , and output of 16 bits as below:
genvar i;
generate
for(i=0; i<96 ; i=i+1) begin : mult_instan
lp_mult lp_mult_component (
.clock(clk),
.clken(i_conv_clken),
.dataa (i_input_data_A[(8*(i+1))-1:8*(i)]),
.datab (i_input_data_B[(8*(i+1))-1:8*(i)]),
.result (out[i])
);
end
endgenerate after I synthesize my code code , fitter is using 48 DSPs(48 sum of two 18x18 multipliers) to implement these 96 multipliers.
If I understand correctly each DSP in Cyclone V devices have three 9x9 or two 18x18 .I have 96 9x9 multipliers used , So 96/3= 32 DSPs should be used.
Why is the tool using 48 DSPs instead of 32 DSPs ?
Is there some other way of making tool use 32 DSPs? or am I doing something wrong ?
Since each DSP have two 18x18 multipliers, Can I somehow split each 18x18 multipliers into two independent 9x9 multipliers? So
that each DSP provide me four 9x9 multiplier?