页面加载中,请稍候
来源:IC小迷弟发布时间:2022-04-232351浏览
询问 AI啰嗦几句,在结果导向的职场中,忙碌的领导们更多的是关心结果,而不是你实现的过程。换句话说,假设你天天加班,却没有结果输出,这样是没有好果子吃的。相反,那些效率极高的童鞋反而会成为机会的宠儿。所以,遇到问题不要慌,也不要钻牛角尖,要多思考一下自己做事的方法是否有问题。
今天我们要讲的FPGA调不通这个事儿,几乎是每个负责FPGA原型验证的同学都会遇到的一个问题。面对这个问题,不同的人可能有不同的解决思路,新人可能找不着北,一直傻不拉几抓信号,跑bit,半个月没啥进展(特别事工程大的时候);而老司机有了一定的经验,两天就能定位出问题了。
下面给出我认为比较高效的debug思路:
1. 确保FPGA代码仿真跟ASIC 仿真一致,且能够pass。
这一步真的很重要,它能保证FPGA代码的功能是没有问题的。否则,遇到问题,真的会摸不着北。
2. 检查输入。
RTL版本跟仿真版本是否一致?
RTL顶层输入有没有悬空?
RTL时钟复位有没有问题?
管脚约束是否正确(要反复检查)?
XDC约束是否准确,特别是IO delay?
3. 确保log和rpt没有问题。
Log和rpt是所有EDA流程debug的最强有力的资料,FPGA也不例外。所以,要好好check一下,清掉所有error,确认所有warning。尽量清掉所有timing violation。
4. 检查硬件。
如果是迭代产品,可以用旧的bit来检验。
板子电压是否正确,FPGA IO电平设置跟板子是否对应的上?
拨码开关(例如20bit/40bit的选择)?
5. 检查实际中输入输出时序是否有问题。
特别强调的是,很多问题都是出在源同步接口的时序上。所以我们需要通过monitor,用LA使用高频时钟进行采样观察。看输入采样是否正确,输出是否对齐。如果发现源同步接口有问题,不要慌,可以先跟designer确认一下,是否可以调采样点,或者调时钟的相位。如果设计上没有办法,可以在约束上将采样寄存器固定在IOB上。
6. 找老司机帮忙。
nice的老司机能够一下子帮你打通任督二脉,所以不管啥时候,当你没有思路的时候,可以请老司机帮个忙,喊他两声“哥!”也许事情就变得简单多了。。
7. 以上步骤检查完,基本上可以解决问题了。如果问题还存在,方可考虑抓内部信号出来看。
注意:在抓信号之前,最好先通过仿真,把硬件工作原理理解到位。
欢迎大家在留言中,对本文做补充!
新闻来源:IC小迷弟,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-07-08
2026-06-15

2026-06-25