ISE综合,综合报告上的资源利用问题
时间:10-02
整理:3721RD
点击:
我写了一个模块,用xc5vlx330-1ff1760综合,用到BROM IP核。当不实例化ROM时(把需要存储的36*96的数据去掉),综合结果显示,各项资源用的比较少。
实例化ROM后,增加一项number of block RAM,用了1个,但是register 增加了600多,LUT增加了1000多,register和LUT等的使用数量几本翻了一倍,这个合理吗?
看datasheet好像是说,用BRAM的时候也是要消耗一些其他资源的,但是消耗这么多我就困惑了。请小伙伴们帮我解答。
另外,我要存人一个width*depth 为36*96的table,怎样能少用一些资源呢?
不胜感激!
实例化ROM后,增加一项number of block RAM,用了1个,但是register 增加了600多,LUT增加了1000多,register和LUT等的使用数量几本翻了一倍,这个合理吗?
看datasheet好像是说,用BRAM的时候也是要消耗一些其他资源的,但是消耗这么多我就困惑了。请小伙伴们帮我解答。
另外,我要存人一个width*depth 为36*96的table,怎样能少用一些资源呢?
不胜感激!
原来的 table 是用case语句实现的,我想会用register存储吧。现在把table用BRAM存储,register的资源应该减少,可是实际没有减少,这是怎么回事?
我大概知道了,不实例化ROM,但是ROM原来的 地址 和 输出 要引出来,作为输出和输入,否则这两个信号以及相关信号 可能会被优化掉,所以就造成了把 实例化ROM那一段注释掉后,整体资源减少约一半的现象
这个是属于综合器的优化功能,当你吧ROM这个IP核去掉的话,综合器就会把你控制ROM的verilog模块给优化掉,这样资源就会很少!但是你把ROM加上的话综合其就会把你控制ROM的verilog模块综合,这样就会加上许多资源。当你写一个module模块没有输出管脚的话你用综合器综合下会发现资源是零,这就是综合器智能优化后的效果!
受教了,谢谢!
