打印

同一程序在上片子后工作结果会不同

[复制链接]
1666|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幻影男孩|  楼主 | 2010-6-28 13:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近编了一个程序,功能仿真和时序仿真都没有问题,但是连上设备以后却发现出不了正确的结果。有时候一把程序拷到片子上,能有正确结果但是工作一段时间后,结果就出错了。或是同一程序前一段时间上片子工作的时候还是正常的,但是过一段时间后在工作就又有问题了。想问下有没达人能帮忙下。是不是时序约束没加的问题,或是怎样。谢谢了

相关帖子

沙发
zhaoshifen| | 2010-6-28 14:05 | 只看该作者
故障现象说的不太详细,无法具体判断,可以试一试这么几个解决方法:
1、检查电路板是不是有虚焊,特别是FPGA管脚;
2、检查电源供电是不是稳定;
3、驱动时钟是否稳定,有时候时钟温漂比较大,会导致FPGA与外围通信时出现不同步;
4、检查程序,仿真是不是覆盖的比较充分,会不会有一些竞争冒险没检查出来。

使用特权

评论回复
板凳
幻影男孩|  楼主 | 2010-6-28 14:15 | 只看该作者
2# zhaoshifen
谢谢了
我现在是在开发板上做测试的,应该没有虚焊的问题
我不明白仿真的覆盖是否充分是什么意思
对于一般的冒险与竞争该怎么检查,是不是就是对程序依时序进行一些改进
希望能说的更明白一些,谢谢了

使用特权

评论回复
地板
ma9453| | 2010-6-28 17:27 | 只看该作者
是不是仿真时间不够?

使用特权

评论回复
5
ma9453| | 2010-6-28 17:27 | 只看该作者
是不是仿真时间不够?

使用特权

评论回复
6
幻影男孩|  楼主 | 2010-6-29 08:39 | 只看该作者
5# ma9453
仿真时间不够这是什么概念,我把时钟频率调的比较低了

使用特权

评论回复
7
zhaoshifen| | 2010-6-29 09:16 | 只看该作者
建议最好把故障现象详细说出来,大家可以帮你分析。
仿真覆盖是否充分是我个人的说法,不见得正确,意思就是你的仿真最好把所有的逻辑都覆盖到,就是把所有的if else switch 等的逻辑都执行一遍。当然你也可以把所有的寄存器等等器件爱你都仿一遍,但是不太现实。说不定问题出在一些逻辑上,你在仿真的时候没有对这一部分仿真。我感觉你的问题好像出在逻辑上,可能不是竞争冒险的问题。如果你使用的开发板,板子上应该有LED,或者不用的IO,你可以在一些重要的逻辑部分加一些语句,让LED闪,或者几个IO编码,输出一些当前状态,用示波器或万用表监控一下,说不定能找到问题。也可以使用开发工具提供的软逻辑分析仪,不过效果不好,有时候正确的逻辑加入逻辑分析仪后,反而不对了,反而对查找问题不利。
2# zhaoshifen  

谢谢了
我现在是在开发板上做测试的,应该没有虚焊的问题
我不明白仿真的覆盖是否充分是什么意思
对于一般的冒险与竞争该怎么检查,是不是就是对程序依时序进行一些改进
希望能说的更明白一些,谢 ...
幻影男孩 发表于 2010-6-28 14:15

使用特权

评论回复
8
幻影男孩|  楼主 | 2010-6-29 17:38 | 只看该作者
7# zhaoshifen
我做的程序,主要是实现一组波形的寻峰,并最后实现高斯拟合算法。我用了signal tap和逻辑分析仪分别采了数据来观察。它的故障情况是,当刚把程序拷到FPGA片子上,启动设备开始工作时,能够出来正确的结果。在工作不长的一段时间后,输出结果开始自己发生变化,最后基本上就是无规律地输出乱码。我的程序比较大,不可能贴到论坛上,而且是原理图和VHDL混合编写的。你说到的逻辑问题,我都是用的全编译,仿真应该全都覆盖到了。而且程序中每个功能模块我都是上了开发板做过验证,都没有问题。难道是不是要用增量编译的方法,配合LOGICLOCK。

使用特权

评论回复
9
zhaoshifen| | 2010-6-30 09:11 | 只看该作者
你还没有确定问题出在什么地方,一步一步lock也挺费时间和精力。使用signal tap 确实会影响逻辑,能不能去掉signal tap 看看逻辑对不对?个人感觉还是程序逻辑上和时序上有问题,仅供参考。

使用特权

评论回复
10
幻影男孩|  楼主 | 2010-6-30 13:28 | 只看该作者
9# zhaoshifen
谢谢了,这么多天还在关注我这问题。单位里也没办法讨论,也就只有上论坛上来问问了,还好论坛里的朋友都比较热心
逻辑上验证只要用时序仿真或功能仿真就应该可以了吧,我下一步就把signal tap去掉,直接把信号输出管脚用逻辑分析仪看一下信号情况。不过我估计逻辑上应该不会出现错误,有问题的还是时序上,可能需要加时序约束和logiclock进行分析吧。也就只有一个一个模块看信号了,确实比较费劲

使用特权

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

本版积分规则

0

主题

5

帖子

1

粉丝