打印
[FPGA]

FPGA工作不稳定,但是加入了SignalTap之后就稳定了

[复制链接]
3841|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xhudiao|  楼主 | 2016-7-19 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近遇到如题这个问题,一周了还没解决。
正常编译,下载下去,FPGA有时候工作稳定,有时候不稳定,总体趋势是工作时间越长,出错的概率越低。
于是加入SignalTap来排查问题出在哪里,结果加入SignalTap之后,FPGA却一直工作稳定,没有发现任何数据错乱的现象。
于是就搞不明白了为什么了,感谢有类似经验的老大支个招~

相关帖子

沙发
ou513| | 2016-7-19 14:49 | 只看该作者
你试一下SignalTap添加不同的信号呢,这有可能是时序约束问题。

使用特权

评论回复
板凳
charrijon| | 2016-7-19 17:06 | 只看该作者
FPGA是存在这方面的问题,你去时间约束一下,等到没有报警信号后就可以了。

使用特权

评论回复
地板
charrijon| | 2016-7-19 17:06 | 只看该作者
资源用多了,开始出问题了,还有一个方法是瘦身,去掉多余的功能。

使用特权

评论回复
5
waiter| | 2016-7-22 17:28 | 只看该作者
“总体趋势是工作时间越长,出错的概率越低。” 这句话其实反应了你的问题所在。
你这个应该是保持时间违例,或者说保持时间裕量不够。  
你可以验证一下: 一开始就用一个风枪把温度提高,也应该出错概率就低了。
你加SignalTap也好了,也进一步佐证这个猜想:因为加了SignalTap,设计用了更多逻辑,布线应该就比之前要复杂,更多信号布线就更长(绕得更远才能布通),所以信号延迟就长些,保持时间裕量就大了。
所以前面各楼说得对,要检查时序。并且你该查保持时间时序约束。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
xhudiao + 1 赞一个!
6
ar_dong| | 2016-7-27 13:18 | 只看该作者
这个你的时钟可能没有走全局时钟线
你加个SignalTap,SignalTap也用这个时钟,用这个时钟的资源多了,系统就综合到全局时钟上了

使用特权

评论回复
7
xhudiao|  楼主 | 2016-8-1 09:54 | 只看该作者
非常感谢楼上几位的回答,按照楼上几位的思路经过修改调试,达到稳定了,再次感谢~

主要修改调试方法和思路:
1、之前没有做约束,认为跑的频率不高没关系。自己对约束概念理解也不透彻,这几天下来恶补学习时序约束和时序分析的知识,算是弄明白了,加上了约束。(但是这不是解决我遇到问题的根本。)
2、减少了时钟域数量,从6个减少为3个。这个改善效果比较明显,但是没有根除数据错乱的现象。
3、第三条我认为解决问题的根本所在。用异步fifo进行跨时钟域数据传输时,rdclk时钟给错了,没有用rdreq同频时钟,rdreq脉宽比rdclk周期多了3ns。写代码时疏忽了造成的bug

至于为什么加上了SignalTap就没问题了,还是没搞懂。
不过找到毛病解决问题了就好。
再次感谢楼上几位!

使用特权

评论回复
8
xhudiao|  楼主 | 2016-8-1 10:20 | 只看该作者
点了结贴,但是没看到哪里点满意答案结贴,非常抱歉。楼上几位都说的很好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝