我正在尝试将设计实现到Virtex II Pro FPGA(来自Xilinx)。问题是设计被重叠,占用了太多资源。为了解决这个问题,我需要知道哪些代码块是最苛刻的(需要更多资源--LUT,FF,切片等)。我的意思是:这个if-else(或者switch-case,等等)需要多少资源?
Xilinx没有用于此目的的工具。有解决方法吗?或者,更好的是,是否有第三方工具能够做到这一点?
由于我的FPGA很老,我使用的是ISE和PlanAhead 10.1。
答案 0 :(得分:1)
经过长时间的中断后,我不得不使用ISE 10.1。我不记得什么是更好的解决方案,但这对我有用:
您应该看到能够导航您的层次结构并查看子模块的资源使用情况。
答案 1 :(得分:1)
如果我们有一个要合成的模块,我认为无法确定哪些硬件与特定的if
或case
语句相关,因为综合工具将所有代码合成在一起。(例如,您的vhdl代码中有时会将2或3个进程合成到特定硬件)。实际上根据综合选项和约束,它猜测可以生成什么硬件。
但是,如果您想查看每个模块的资源使用情况(不是每个if
语句),您可以在“ISE - >项目 - >设计摘要中看到综合报告 ”。如果您合成了代码而没有任何错误综合报告告诉您使用了多少资源(LUT,FF,IO,Buffer,..)。
答案 2 :(得分:1)
您还可以使用Xilinx工具 PlanAhead ,但该工具并非真正用于此目的,而是提供了一个很好的分层细分,其中包含有关任何层次结构级别上任何块的资源使用情况的信息。我现在只能提供一个模糊的截图,但它应该让你知道会发生什么。
可以通过Tools>从Xilinx内部打开PlanAhead。 PlanAhead> "平面图区域/..."。