我正在进行大型 FPGA 设计,并且非常接近我目前使用的 FPGA 的资源限制,即 CSG225 封装中的 Xilinx LX16。
该设计也几乎完成,但目前它不再适合 FPGA。我可以关闭零件以使其适合,但是我需要减少资源使用以完成设计并使其满足时序和尺寸要求。
我想知道我们的报告中是否有任何工具可以帮助我确定我的设计中哪些部分消耗的资源最多。我的设计没有分区,而是分成了大约十几个或更多 VHDL 模块。
Xilinx 时序报告非常棒,但现在我需要知道在节省空间方面我可以从哪里获得最大的收益。
我也很难说出我用完了哪种类型的资源,或者这些资源会受到什么影响。
另一个烦恼是,随着设计变得越来越大,用于满足时序要求的组件开始出现故障,因为它们的布局不再那么理想。
目前,我使用 Post-Place 和 Route Static 时序报告,并使用 SmartXplorer。我正在使用设计策略来优化时序。
在关闭我的部分设计以使其适合之后,以下是一些结果:
切片寄存器利用率:42% 切片 LUT 利用率:96% 完全使用的 LUT-FF 对的数量:38% 这是否意味着我对寄存器很轻,但对门的使用很重?
是否有工具可以帮助开发人员优化区域,或者至少让他们更深入地了解他们的代码?
更新: 在查看了模块级利用率之后,我发现我到处都有小的胶水异步 fifo,它们占据了总 LUT 的 30% 左右。我将它们用作高速总线的跨时钟域粘合剂。我应该能够消除这些,因为时钟密切相关。(120 MHz 输入,通过 DCM 产生 100 MHz 和 200 MHz)