一、 Libero版本11.8,报错如图:
从图中可以看到,位宽与深度的设置并无问题,此报错内容纯属编译器bug。
二、 原因:
那么编译器为什么会报错呢?其实是因为工程有其他的异常,本示例中的异常如下图:
可用的cluster个数为2308,工程需要用到的个数为2320,因此编译器无法布局布线。在这个前提下,再去修改或者新建FIFO,编译器就会报错。就好比有一件事让对象不开心你不哄好,再做其他对的事情也会被找茬。
三、应对:
查找工程中是否有无效的模块并将之删除。或者更换资源更大的芯片。