我正在做一个大型FPGA设计,并且我非常接近当前使用的FPGA的资源限制,即CSG225封装中的Xilinx LX16。
该设计几乎也已经完成,但是目前它已不再适合FPGA。我可以关闭零件使其适合,但是我需要减少资源使用量才能完成设计并使其符合时序和尺寸要求。
我想知道我们的报告中是否有任何工具可以帮助我确定设计中哪些部分消耗的资源最多。我的设计未分区,而是划分为大约十二个或更多的VHDL模块。
Xilinx时序报告非常棒,但是现在我需要知道在节省空间方面我能得到最好的回报。
我也很难告诉我我将要用尽哪种类型的资源,或对那些资源有什么影响。
另一个烦人的是,随着设计的扩大,用于满足时序要求的组件开始出现故障,因为它们的放置不再理想。
当前,我使用“放置后和路线静态”时序报告,并使用SmartXplorer。我正在使用设计策略来优化时序。
在关闭我的设计的一部分以使其适合之后,下面是一些结果:
切片寄存器利用率:42%切片LUT利用率:96%完全使用的LUT-FF对的数量:38%这是否意味着我对寄存器比较轻,但对门的使用却很繁重?
是否有工具可帮助开发人员针对区域进行优化,或者至少使他们对自己的代码有更深入的了解?
更新: 查看了模块级别的利用率后,我发现我在整个地方都有小的胶水异步fifo,大约占所有LUT的30%。我将它们用作高速总线的跨时钟域胶水。我应该能够消除这些问题,因为时钟紧密相关。(120 MHz输入,通过DCM产生100 MHz和200 MHz)