微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求ISE warning的解决方案、、

求ISE warning的解决方案、、

时间:10-02 整理:3721RD 点击:

用ISE综合一个代码,出现以下两个以前没见过的warning:

1. More than 100%  of device resources are used.
2. Area constraint could not be met for block **, final ratio is 107

第一个问题上网查了下,综合我的synthesis report来看,问题在于:
Number of bonded IOBs:                 341  out of    124   275% (*)
我的代码是输入是168bits的数据,经过处理后输出168bits,加上一些控制信号,就有341bits了。请问高手:这个应该怎么解决,在不改变选择的FPGA模块的前提下?这个模块不是顶层模块,只是以后会被顶层模块调用的小模块。

关于第二个问题,没查到相关信息。请大侠来指点指点!
先谢谢了!



    1. 既然这个模块不是顶层,那么只是内部模块了。内部模块你综合它是为了要得到什么数据?速度和资源使用情况,对吧,那么忽略掉这个warning,其他的信息你是不是得到了呢?其实都得到了,看报告吧,里面是有资源和综合的timing是否closure的报告的。所以不管这个warning
    2. 这个warning就是告诉你,FPGA的资源不够你的设计用了(请详细参考综合后资源报告)。要么换FPGA,要么优化代码,如果只是一个子模块就超过FPGA资源的话,那么,请优化算法,或者根本就要换FPGA了。当然了,不排除一种情况,这个资源warning是来源于IO不够的warning。那么请忽略吧。

外面加一层shell,里面例化你这个模块,shell的输入输出少一些,但保证能连上你的模块每个端口,不至于空接被优化掉。
对shell做综合。

Number of bonded IOBs:                 341  out of    124   275% (*)
意思是总共才124个i/o口,而你却定义了341个,硬件资源不够了

子层模块IO量太多,因为你实际上不会布线生成bitfile,所以这个没关系。(对于altera可使用增加virtual pins的方法将这些IO定义到虚拟管脚上)
第二个告警可能也是第一个原因产生的。
你可以先做一个顶层,然后再连接子模块,就不会出现这问题。你现在用ISE的目的是为了验证代码有没有编码与综合错误吗?



    非常感谢你的详细回答!



    还没弄过shell,我再去网上查查吧。谢谢建议!



    我知道是引脚太多了导致资源不够用了,是想知道有什么办法在不减少引脚数目的前提下不要产出这个warning……可能是没关系,但是看着烦,哈哈



    谢谢建议! 对的,我用ISE的目的就是为了验证代码有没有编码与综合错误。这个不是顶层文件。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top