[FPGA] FPGA换了一个芯片逻辑跑偏了,为什么?

[复制链接]
2195|14
 楼主| lighto 发表于 2014-12-27 16:46 | 显示全部楼层 |阅读模式
菜鸟求教,为什么我同样的程序在一块芯片里跑是对的,然后下载到另外一块芯片跑逻辑就不按原来的来了。有时候同样的程序稍微改一下代码风格,逻辑不变,重新编译一次跑出来结果也不对了。
yizi0000 发表于 2014-12-28 18:53 | 显示全部楼层
是不是没有做时序约束?
 楼主| lighto 发表于 2014-12-29 23:07 | 显示全部楼层
yizi0000 发表于 2014-12-28 18:53
是不是没有做时序约束?

只是用了IBUFG,BUFG对输入时钟进行了约束,其他只是管脚约束,请问还要进行什么类型的时序约束?
之前编的程序都是比较简单的逻辑程序,这次的时钟频率通过DCM输出300MHz,然后老是出现一些问题。。。
drentsi 发表于 2014-12-30 08:27 | 显示全部楼层
芯片型号?
软件还不大会用,就去挑战DCM的300M,:lol
chenzhi658 发表于 2014-12-30 10:55 | 显示全部楼层
drentsi 发表于 2014-12-30 08:27
芯片型号?
软件还不大会用,就去挑战DCM的300M,

我用SPART6,领导让我跑250mhz,我都是对领导说,这个芯片跑步起来。现实中,确实这样,对32位数据运算,老是报警,说保持时间太短。而跑150mhz,都没事。
 楼主| lighto 发表于 2014-12-30 11:00 | 显示全部楼层
chenzhi658 发表于 2014-12-30 10:55
我用SPART6,领导让我跑250mhz,我都是对领导说,这个芯片跑步起来。现实中,确实这样,对32位数据运算, ...

我是检测两个输入波形的相位差,必须300MHz。在Spartan3e-250上瞎折腾了一番还能跑起来,后来芯片买了Spartan3e-100的就不行了:'(,时序约束还在学习中,实验室就我一个人搞fpga,泪流满面
chenzhi658 发表于 2014-12-30 11:00 | 显示全部楼层
drentsi 发表于 2014-12-30 08:27
芯片型号?
软件还不大会用,就去挑战DCM的300M,

我现在有个时序控制的问题。就是250MHZ的时钟下的某个32位数据,想引导到50MHZ的时钟下,老报警说保持时间太短。我也观察了静态时序,确实有问题。我在250MHZ下的数据,已经保持5个时钟,为何在50MHZ下,还是报警。
chenzhi658 发表于 2014-12-30 11:05 | 显示全部楼层
lighto 发表于 2014-12-30 11:00
我是检测两个输入波形的相位差,必须300MHz。在Spartan3e-250上瞎折腾了一番还能跑起来,后来芯片买了Spa ...

芯片资料,说是可以支持450MHZ,我想可能是差分时钟吧,那样速度可以高一倍。你的监测相位差,应该时序还简单的

评分

参与人数 1威望 +1 收起 理由
lighto + 1 赞一个!

查看全部评分

 楼主| lighto 发表于 2014-12-30 11:19 | 显示全部楼层
chenzhi658 发表于 2014-12-30 11:05
芯片资料,说是可以支持450MHZ,我想可能是差分时钟吧,那样速度可以高一倍。你的监测相位差,应该时序还 ...

相位检测那部分是没什么问题,就是后续的一些逻辑就有问题了
drentsi 发表于 2014-12-30 12:10 | 显示全部楼层
找到工程目录下一个 .tmr 后缀的文件,用记事本打开,复制粘贴过来看看
 楼主| lighto 发表于 2014-12-30 16:22 | 显示全部楼层
本帖最后由 lighto 于 2015-1-5 20:37 编辑
drentsi 发表于 2014-12-30 12:10
找到工程目录下一个 .tmr 后缀的文件,用记事本打开,复制粘贴过来看看


INFO:Timing:2698 - No timing constraints found, doing default enumeration.
INFO:Timing:3412 - To improve timing, see the Timing Closure User Guide (UG612).
INFO:Timing:2752 - To get complete path coverage, use the unconstrained paths
   option. All paths that are not constrained will be reported in the
   unconstrained paths section(s) of the report.
INFO:Timing:3339 - The clock-to-out numbers in this timing report are based on
   a 50 Ohm transmission line loading model.  For the details of this model,
   and for more information on accounting for different loading conditions,
   please see the device datasheet.
INFO:Timing:3390 - This architecture does not support a default System Jitter
   value, please add SYSTEM_JITTER constraint to the UCF to modify the Clock
   Uncertainty calculation.
INFO:Timing:3389 - This architecture does not support 'Discrete Jitter' and
   'Phase Error' calculations, these terms will be zero in the Clock
   Uncertainty calculation.  Please make appropriate modification to
   SYSTEM_JITTER to account for the unsupported Discrete Jitter and Phase
   Error.
drentsi 发表于 2014-12-30 16:29 | 显示全部楼层
INFO:Timing:2698 - No timing constraints found, doing default enumeration.

你没设置时钟速度,默认按1M还是10M编译的,你跑300M肯定不行
 楼主| lighto 发表于 2014-12-30 17:08 | 显示全部楼层
drentsi 发表于 2014-12-30 16:29
INFO:Timing:2698 - No timing constraints found, doing default enumeration.

你没设置时钟速度,默认按 ...

约束了外部时钟50MHz,对内部dcm产生的300MHz应该怎么约束呢
 楼主| lighto 发表于 2015-1-3 23:22 | 显示全部楼层
对单个模块进行测试,发现用250MHz时钟程序可以跑准确,到300MHz还是不行。。。
 楼主| lighto 发表于 2015-1-4 11:17 | 显示全部楼层
用了两个不同频率的DCM,可以了。。时序部分还有点问题,有空再好好看看时序约束,有待学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0