一、问题描述

最近在用Xilinx FPGA做一个东西,在此过程中,发现如果写的代码消耗的bram资源超过一定数目,vivado implementation就会失败,且Messages没有错误信息,如下图:
在这里插入图片描述

在这里插入图片描述
lmplementation Run Properties 中显示:

Finished Running Vector-less Activity Propagation
INFO: [Pwropt 34-322] Received HACOOException
WARNING: [Pwropt 34-321] HACOOException: Too many TFIs and TFOs in design, exiting pwropt. You can change this limit with the param pwropt.maxFaninFanoutToNetRatio
INFO: [Pwropt 34-232] Skipping BRAM gating because all BRAMs are in high frequency (i.e. period < 3.12 ns) clock domains.
INFO: [Pwropt 34-162] WRITE_MODE attribute of 0 BRAM(s) out of a total of 80 has been updated to save power. Run report_power_opt to get a complete listing of the BRAMs updated.
Abnormal program termination (EXCEPTION_ACCESS_VIOLATION)
Please check 'E:/CODE/FPGA/wujian100/test1/wujian100_open-master/fpga/vivado/wujian100_test1/wujian100_test1.runs/impl_1/hs_err_pid14172.log' for details

在这里插入图片描述
hs_err_pid14172.log文件里显示:

#
# An unexpected error has occurred (EXCEPTION_ACCESS_VIOLATION)
#
Stack:
no stack trace available, please use hs_err_<pid>.dmp instead.

二、解决方法
在Tcl Console中输入如下命令,再重新lMPLEMENTATION就不会出错了。

set_param pwropt.maxFaninFanoutToNetRatio 2000

原因是:
在这里插入图片描述

参考资料

https://support.xilinx.com/s/question/0D52E00006hpmJ7SAI/pwropt-34321-hacooexception-too-many-faninfanouts-in-design-exiting-pwropt-you-can-change-this-limit-with-the-param-pwroptmaxfaninfanouttonetratio?language=en_US

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐