搜索
bottom↓
回复: 25

FPGA代码运行不稳定的问题请教!

[复制链接]

出0入0汤圆

发表于 2012-9-25 15:31:45 | 显示全部楼层 |阅读模式
我写了一段Fpga代码在飓风3的片子上跑,运行有点不稳定,但每次我用Signle tap 去抓问题数据的时候,又怎么都不会出问题。我基本断定是布局布线对时序有影响,但不知怎么去解决,是代码写的不好,还是别的什么没设置好?从quartusii的时序分析报告来看,系统可以运行的最大频率有200多M,我实际用的时钟是60M的,为什么还会有问题啊?苦恼中。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-9-25 17:18:18 | 显示全部楼层
这样的问题我也遇到过,我发现如果状态机跳转时如果采样异步信号容易出现这种问题,将异步信号同步后就没问题了

出0入0汤圆

发表于 2012-9-25 17:44:35 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-9-25 21:23:23 | 显示全部楼层
sky5566 发表于 2012-9-25 17:44

回楼上的兄弟,是设置的speed,运行的的还是不稳定,

出0入0汤圆

发表于 2012-9-25 23:42:04 | 显示全部楼层
个人认为可能代码问题,再好好想想有没有什么可以优化的地方,可能你没想到导致运行不稳定

出0入0汤圆

发表于 2012-9-26 10:14:39 | 显示全部楼层
看看时序分析报告,建立时间和保持时间是否都满足了。

出0入0汤圆

发表于 2012-9-26 11:27:45 | 显示全部楼层
先做个功能仿真试试,确认程序逻辑是正确的  modelsim  不能靠猜啊

出0入0汤圆

 楼主| 发表于 2012-9-26 14:03:10 | 显示全部楼层
skycomm 发表于 2012-9-26 11:27
先做个功能仿真试试,确认程序逻辑是正确的  modelsim  不能靠猜啊

功能仿真时做过的,而且如果逻辑有问题,也不会有时候运行正常,有时候运行不正常啊。

出0入0汤圆

发表于 2012-9-26 15:39:43 | 显示全部楼层
Junker 发表于 2012-9-26 14:03
功能仿真时做过的,而且如果逻辑有问题,也不会有时候运行正常,有时候运行不正常啊。 ...

我使用 Verilog 有發生過,改 VHDL 問題比較少.
還有我之前有個程序使用 VHDL 沒問題,但是換主程序是 Verilog 載入 VHDL 就出問題了,雖然調整 speed 可以改善,但是問題實在想不出來?


出0入0汤圆

发表于 2012-9-26 15:54:33 | 显示全部楼层
这种状况估计别人无法帮助了

出0入0汤圆

发表于 2012-9-26 17:05:31 | 显示全部楼层
還有就是版本問題 quartusii 9.1 有問題,不要使用!!!!
我使用相同程序, quartusii 9.1 運行有問題,換 10.1 後重新編都沒問題....

出0入0汤圆

 楼主| 发表于 2012-9-26 20:16:12 | 显示全部楼层
sky5566 发表于 2012-9-26 17:05
還有就是版本問題 quartusii 9.1 有問題,不要使用!!!!
我使用相同程序, quartusii 9.1 運行有問題,換 10.1  ...

不是吧,这么坑哥,我用的正好是9.1的版本哦,请问楼上的兄弟的10.1版本的是在哪里下的,可以给个链接不

出0入0汤圆

发表于 2012-9-27 09:17:17 | 显示全部楼层
我觉得还是你程序的问题  60m的状态机速度不算高啊  SDRAM控制器都是100m以上的  ,可以试试规范下代码,多用同步

出0入0汤圆

 楼主| 发表于 2012-9-27 10:53:48 | 显示全部楼层
skycomm 发表于 2012-9-27 09:17
我觉得还是你程序的问题  60m的状态机速度不算高啊  SDRAM控制器都是100m以上的  ,可以试试规范下代码,多 ...

其实我也是个菜鸟,楼上的兄弟可以对“同步”的概念和方法给一个简单的例子和说明不,万分感激

出0入0汤圆

发表于 2012-9-27 11:23:02 来自手机 | 显示全部楼层
代码问题吧。好好看看逻辑

出0入0汤圆

发表于 2012-9-27 12:33:56 | 显示全部楼层
我之前敗在這個架構,導致問題一堆
always @(posedge A)
        begin
            B <=1'b1;
        end

always @(posedge B)
        begin
            C <=1'b1;
        end

always @(posedge C)
        begin
            D <=1'b1;
        end

出0入0汤圆

发表于 2012-10-2 22:41:18 | 显示全部楼层
sky5566 发表于 2012-9-26 17:05
還有就是版本問題 quartusii 9.1 有問題,不要使用!!!!
我使用相同程序, quartusii 9.1 運行有問題,換 10.1  ...

我觉得还是代码不够严谨,造成不同版本综合器综合出不同的结果,甚至有时候重新综合一次的结果都有可能跟前一次不一样。

最近在维护的一个代码就出现这种情况:
刚开始接手时,将代码编译后下载到设备不能用。交接的同事告诉我多编译几次,试了几次果然好了。
用同事的话来说就是:FPGA是一个神奇的东西!

我等菜鸟,只能尴尬一笑....

出0入0汤圆

 楼主| 发表于 2012-10-11 09:26:40 | 显示全部楼层
Coodool 发表于 2012-10-2 22:41
我觉得还是代码不够严谨,造成不同版本综合器综合出不同的结果,甚至有时候重新综合一次的结果都有可能跟 ...

我表示笑而不语

出0入0汤圆

发表于 2012-10-11 10:02:27 | 显示全部楼层
本帖最后由 sky5566 于 2012-10-11 11:58 编辑

....代码不够严谨....
真的吗?我觉得代码好不好要看编程器软件的优劣,
比如说 Quartus II 10年还搞不定中文字乱码问题,据了解还需 100 年...

软件既然有优化的功能,那么就将代码优化掉就好了,这年头还有人工优化代码,那么BC的软体丢掉算了.

国外测试 xilinx 将 Virtex-6 程序放入 Spartan-3 会造成异常,因为Spartan-3 低成本,性能比Virtex-6差。
所以 Spartan-3 程序放入 Virtex-6 保证没问题

但是如果将 xilinx Spartan-3 程序放入ALTERA Cyclone xx 会造成异常
代表 Cyclone xx 低成本,性能比 Spartan-3 差很多.....

一分钱一分货,这就是 Cyclone 比 Spartan-3 便宜很多

出0入0汤圆

发表于 2012-10-29 14:34:22 | 显示全部楼层
我出现过这种情况可供大家参考:每个部分用verilog,顶层用bsd文件连在以前,发现采样时状态机有时会停在某个地方,且用signalTap检测时错误消失。经过查证,是有个模块更改状态机后,没有及时更新顶层文件导致。

出0入0汤圆

 楼主| 发表于 2012-11-16 09:57:27 | 显示全部楼层
wildone 发表于 2012-10-29 14:34
我出现过这种情况可供大家参考:每个部分用verilog,顶层用bsd文件连在以前,发现采样时状态机有时会停在某 ...

想知道楼上的兄弟这个问题最后是怎么解决的,万分感激!

出0入0汤圆

发表于 2012-11-16 12:01:14 | 显示全部楼层
Junker 发表于 2012-11-16 09:57
想知道楼上的兄弟这个问题最后是怎么解决的,万分感激!

重新生成模块,在bsf里删掉原来的再导入最新的。

出0入0汤圆

发表于 2012-11-16 12:04:18 | 显示全部楼层
sky5566 发表于 2012-10-11 10:02
....代码不够严谨....
真的吗?我觉得代码好不好要看编程器软件的优劣,
比如说 Quartus II 10年还搞不定中文 ...

cyclone也有很多系列,感觉普遍比赛灵思都贵呀

出0入0汤圆

发表于 2012-11-16 12:33:09 | 显示全部楼层
你有约束input delay和output delay吗?!

出0入0汤圆

发表于 2012-11-16 12:38:57 | 显示全部楼层
ISE的话是约束input offset和output offset

出0入0汤圆

发表于 2012-11-16 12:50:41 | 显示全部楼层
应该是时序设计问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表