首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vivado hls和vivado中显示了不同的资源利用情况

在vivado hls和vivado中显示了不同的资源利用情况
EN

Stack Overflow用户
提问于 2022-03-08 10:55:46
回答 1查看 159关注 0票数 0

我在vivado HLS中实现了这个循环计算。

代码语言:javascript
复制
For (i = 0; i < 59; i++){
#pragma HLS unroll
    tmp = C[i];
    For (j = 0; j < 3; j++){
#pragma HLS unroll
         tmp = tmp + A[j][i] * B[j];
     }
     C[i] = tmp;
}

DSP48E利用率为189。

我导出这个模块并在vivado中运行合成。

DSP48利用率为39。

我想知道为什么结果有很大的不同?

EN

回答 1

Stack Overflow用户

发布于 2022-03-08 11:52:00

请记住,Vivado HLS (高级合成)将始终提供估计.它永远不会提供准确的资源利用率,因为Vivado HLS中的编译器不执行地点和路线。而Vivado综合为您提供了实际的资源利用率。

但是,尽管如此,您已经提到的DSP48差异的数量,这是一个相当大的差异,不应该发生。以下是我对此的回答:

  • 首先要考虑的是确保您使用的是最新版本。好的,如果不是最新的,至少请确保Vivado HLS和Vivado版本是相同的。有时,如果您使用不同的版本,则HLS估计值与Vivado综合结果之间可能会有差异。
  • 确保您已经选择了相同的底层FPGA硬件。
  • 您应该在启用Vivado综合之后运行Vivado HLS流的导出步骤。这将合成Vivado合成中的Vivado HLS IP (不是HLS综合),然后返回实际使用的资源。请参阅本指南第108页。你可以专门阅读不同的综合选项。
  • Vivado合成工具确实做了一些物理优化。例如,请检查您的Vivado中的opt_design优化。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71393849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档