FPGA Debug:Vivado程序综合卡在了Run Synthesis

问题现象

程序综合一直卡在了Run Synth Design.........等了好久好久,还是没有结果

问题分析:

出现这种情况,一般考虑是资源超了的原因,回顾程序,可能出问题的地方在于,程序中有一个很大的数组,在做大规模存储,如下。

那是FF超了?BRAM超了?还是什么其它的原因呢?根据资源评估的计算来说,RAM资源应该是足够的,鉴于此,我们开始问题定位。

问题定位:

第一步,将PKG_LEN修改为256,综合大于1.5min,LUT资源23%,FF占用7%

第二步,将PKG_LEN修改为512,综合大约4min,LUT资源占用45%,FF占用14%

第三步,将PKG_LEN修改为700,综合大约7min,LUT资源占用62%,FF占用18%

第四步,将PKG_LEN修改为1024,我们发现综合卡在了第2分25秒的时候,无法再进行下去了。

鉴于上述的规律,我考虑是LUT资源超了,而最可能的原因是reg数组实现大规模存储,vivado可能将其默认成触发器堆栈,严重浪费了LUT/FF资源,按照这个思路我们开始优化:

强制指示综合器用Block RAM,写法如下,使用PKG_LEN为512进行编译,发现跟之前一样,说明没有生效,

查看没有生效的原因大约如下:

考虑到程序内部设置有复杂的寻址逻辑,所以可能是不符合块RAM的推断规则的 ,既如此,可以尝试这个数组直接改成一个RAM(例化双口RAM,修改实现逻辑),这样就可以综合为一个Block RAM了。

但是因为我这边资源差的太大了,所以跟领导对接,不在FPGA中做组包的工作了,所以这个问题就到此结束了。

相关推荐
liguojun20252 天前
软硬一体智慧场馆系统推荐——助力场馆数字化高效升级
java·大数据·人工智能·物联网·1024程序员节
开开心心就好14 天前
吾爱大佬原创的文件时间修改工具
安全·智能手机·pdf·电脑·智能音箱·智能手表·1024程序员节
开开心心就好19 天前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI21 天前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
计算机毕业论文辅导23 天前
物联网实战:基于MQTT协议的智能家居数据传输系统设计与实现
1024程序员节
开开心心就好24 天前
支持批量处理的视频分割工具推荐
安全·智能手机·rust·pdf·电脑·1024程序员节·lavarel
liuyao_xianhui1 个月前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
学传打活1 个月前
【边打字.边学昆仑正义文化】_21_爱的结晶(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
数据皮皮侠AI1 个月前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
Fab1an1 个月前
Busqueda——Hack The Box 靶机
linux·服务器·学习·1024程序员节