HDL Coder Mult + Add uses DSP48E1 + fabric
이전 댓글 표시
Hi, I tried to use Coder on dsp_subsys1 from: https://www.mathworks.com/help/hdlcoder/ug/modeling-efficient-multiplication-and-division-operations-for-fpga-targeting.html So, I'm expecting that Coder can use just a DSP48E slice, but the Workflow Advisor always generates adder logic in the fabric, in addition to using a DSP slice.
Matlab 2023a, HDL Coder ver4.1, Vivado 2022.2 and VC707 board.
The resets are configured as synchronous. I'm basing my last sentence on this: https://www.mathworks.com/matlabcentral/answers/1727185-multiply-and-add-not-correctly-mapping-to-a-single-dsp-slice?s_tid=srchtitle
Help on this would be much appreciated...
댓글 수: 5
R
2024년 6월 20일
I successfully tested this using MATLAB R2023a and the Vivado 2022.1 release, and everything functioned as anticipated.

Could you please verify if you've made any modifications to the model, such as altering the bit width of the input data, or adjusted any configuration settings? I recommend resetting the model's configuration preferences to their default settings and trying once more.
Jerome Davie
2024년 6월 20일
편집: Jerome Davie
2024년 6월 21일
Jerome Davie
2024년 6월 20일
편집: Jerome Davie
2024년 6월 20일
R
2024년 6월 21일
This appears quite peculiar; something seems to be missing. The 'Generic ASIC/FPGA' workflow is the only correct one. I've also tested this on Vivado 2023.1 with MATLAB R2024a and achieved the same expected results.
Can you try this:
- Right-click the 'DSP_subsys1' block.
- Select HDL Code > HDL Block Properties.
- For DSPStyle, select on.
Save & update the model and run the HDL Workflow Advisor again to see any changes.
If this doesn't work, I suggest reaching out to MathWorks Technical Support at: https://www.mathworks.com/support/contact_us.html
Jerome Davie
2024년 6월 21일
편집: Jerome Davie
2024년 6월 21일
답변 (1개)
카테고리
도움말 센터 및 File Exchange에서 Get Started with HDL Coder에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

