专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
FPGA
FPGA工作不稳定,但是加入了SignalTap之后就稳定了
2020-02-03 11:26
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
FPGA
9045
8
8
最近遇到如题这个问题,一周了还没解决。
正常编译,下载下去,FPGA有时候工作稳定,有时候不稳定,总体趋势是工作时间越长,出错的概率越低。
于是加入SignalTap来排查问题出在哪里,结果加入SignalTap之后,FPGA却一直工作稳定,没有发现任何数据错乱的现象。
于是就搞不明白了为什么了,感谢有类似经验的老大支个招~
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
ou513
1楼-- · 2020-02-03 14:16
你试一下SignalTap添加不同的信号呢,这有可能是时序约束问题。
加载中...
charrijon
2楼-- · 2020-02-03 17:34
FPGA是存在这方面的问题,你去时间约束一下,等到没有报警信号后就可以了。
加载中...
charrijon
3楼-- · 2020-02-03 22:34
资源用多了,开始出问题了,还有一个方法是瘦身,去掉多余的功能。
加载中...
waiter
4楼-- · 2020-02-04 01:19
“总体趋势是工作时间越长,出错的概率越低。” 这句话其实反应了你的问题所在。
你这个应该是保持时间违例,或者说保持时间裕量不够。
你可以验证一下: 一开始就用一个风枪把温度提高,也应该出错概率就低了。
你加SignalTap也好了,也进一步佐证这个猜想:因为加了SignalTap,设计用了更多逻辑,布线应该就比之前要复杂,更多信号布线就更长(绕得更远才能布通),所以信号延迟就长些,保持时间裕量就大了。
所以前面各楼说得对,要检查时序。并且你该查保持时间时序约束。
加载中...
ar_dong
5楼-- · 2020-02-04 05:58
精彩回答 2 元偷偷看……
加载中...
xhudiao
6楼-- · 2020-02-04 11:15
非常感谢楼上几位的回答,按照楼上几位的思路经过修改调试,达到稳定了,再次感谢~
主要修改调试方法和思路:
1、之前没有做约束,认为跑的频率不高没关系。自己对约束概念理解也不透彻,这几天下来恶补学习时序约束和时序分析的知识,算是弄明白了,加上了约束。(但是这不是解决我遇到问题的根本。)
2、减少了时钟域数量,从6个减少为3个。这个改善效果比较明显,但是没有根除数据错乱的现象。
3、第三条我认为解决问题的根本所在。用异步fifo进行跨时钟域数据传输时,rdclk时钟给错了,没有用rdreq同频时钟,rdreq脉宽比rdclk周期多了3ns。写代码时疏忽了造成的bug
至于为什么加上了SignalTap就没问题了,还是没搞懂。
不过找到毛病解决问题了就好。
再次感谢楼上几位!
加载中...
1
2
下一页
一周热门
更多
>
相关问题
如何用FPGA驱动LCD屏?
5 个回答
请教一下各位专家如何用FPGA做eDP接口?
6 个回答
FPGA CH7301c DVI(显示器数字接口)没有数字输出
7 个回答
100颗FPGA的板子,开开眼界
6 个回答
求教自制最小系统版
10 个回答
基于FPGA的X射线安检设备控制器
2 个回答
CycolneIVGX核心板,可扩展PCIE,光纤接口,大家来鉴赏一下
6 个回答
关于VHDL或Verllog程序稳定性的问题
11 个回答
相关文章
嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台
0个评论
Xilinx的FPGA开发工具——ISE开发流程
0个评论
基于FPGA的详细设计流程
0个评论
干货分享,FPGA硬件系统的设计技巧
0个评论
一种通过FPGA对AD9558时钟管理芯片进行配置的方法
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
FPGA
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
你这个应该是保持时间违例,或者说保持时间裕量不够。
你可以验证一下: 一开始就用一个风枪把温度提高,也应该出错概率就低了。
你加SignalTap也好了,也进一步佐证这个猜想:因为加了SignalTap,设计用了更多逻辑,布线应该就比之前要复杂,更多信号布线就更长(绕得更远才能布通),所以信号延迟就长些,保持时间裕量就大了。
所以前面各楼说得对,要检查时序。并且你该查保持时间时序约束。
主要修改调试方法和思路:
1、之前没有做约束,认为跑的频率不高没关系。自己对约束概念理解也不透彻,这几天下来恶补学习时序约束和时序分析的知识,算是弄明白了,加上了约束。(但是这不是解决我遇到问题的根本。)
2、减少了时钟域数量,从6个减少为3个。这个改善效果比较明显,但是没有根除数据错乱的现象。
3、第三条我认为解决问题的根本所在。用异步fifo进行跨时钟域数据传输时,rdclk时钟给错了,没有用rdreq同频时钟,rdreq脉宽比rdclk周期多了3ns。写代码时疏忽了造成的bug
至于为什么加上了SignalTap就没问题了,还是没搞懂。
不过找到毛病解决问题了就好。
再次感谢楼上几位!
一周热门 更多>