Forum Discussion
I need a scheme to max out the DSP blocks on a Stratix 10
- 3 years ago
SOLVED!!!!
I was assigning the output registers of each DSP block incorrectly.
What I had:
assign result1_a_r[i] = result1_a[i];
assign result1_b_r[i] = result1_b[i];What it should be:
always @(posedge clk_i) beginresult1_a_r[i] <= result1_a[i];result1_b_r[i] <= result1_b[i];endI replaced this code in each of the chained DSP blocks and now I have it running up to 3000 DSP blocks.ThanksJacob
Hello,
You could leave the DSP's at top level and use virtual pin assignment to fix the I/O problem.
https://www.intel.com/content/www/us/en/docs/programmable/683641/21-3/virtual-pins.html
Regards,
Nurina
Hello Nurina,
The output issue is solved by this trick, but i got bottlenecked at 468 DSP blocks.
I also tried chaining a lot of DSP blocks together (output from block1 as input of block2). This also works until I reach 468 DSP blocks. Then the place and route process fails with the message:
Error(184036): Cannot place the following 57 DSP cells -- a legal placement which satisfies all the DSP requirements could not be found
Info(184037): Node "GEN_DSP_2[0].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[132].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[133].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[134].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[135].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[136].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[137].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[138].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[139].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(184037): Node "GEN_DSP_2[140].U_DSP|s10_native_fixed_point_dsp_0|fourteennm_mac_component"
Info(18798): And 47 more similar nodes (full list omitted for brevity)
Here is the important parts of the updated code:
generate