在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 17132|回复: 12

同一代码不同FPGA器件后仿结果不同是怎么回事?

[复制链接]
发表于 2009-11-17 06:33:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
用VHDL编写了一个比较大的程序,用QuartusII综合仿真,器件为stratixII 时正确,可是改为CycloneII时仿真结果不对,时钟周期增大了也不行,
用systemverilog 编写的同样功能的程序,做了同样的改动后,仿真结果只是多了几个毛刺。
用modelsim 用Xilinx的Vertex3后仿也正确。
求达人解释一下?谢!
发表于 2009-11-17 06:59:37 | 显示全部楼层
我用xilinx仿真过,错误的。但是下载到fpga上。正确。。。软件不可全信
发表于 2009-11-17 08:59:40 | 显示全部楼层
有可能是代码中用了异步设计,延迟会因为器件的不同而改变
发表于 2009-11-17 16:07:31 | 显示全部楼层
路过,过来看看
 楼主| 发表于 2009-11-18 03:10:04 | 显示全部楼层
谢谢解答。
我的设计分为几个模块,还有时钟分频,而且用双边沿触发,
发表于 2009-11-18 08:33:23 | 显示全部楼层
1、时钟分频的实现方法如果是采用行波时钟的方式(异步设计),容易造成时钟偏差,很难控制芯片内部的逻辑基本单元中的触发器的建立/保持时间,同时不同芯片的内部参数也有所不同,同一代码的时序分析结果分析得不同也很正常。

2、如果分频后的时钟作为后级设计的工作时钟,那么整个设计不只使用一个主时钟,而是用多个时钟来实现的话(异步设计),存在信号的跨时钟域转换问题,跨时钟域的信号如果设计不当,会采到亚稳态。
发表于 2009-11-18 11:43:47 | 显示全部楼层
学习学习
发表于 2009-11-18 11:47:51 | 显示全部楼层
在设计过程中最好避免双沿触发;
同时跨时钟域一定要做至少两级同步,之后的信号才可以在当前时钟域使用;
否则极易引发亚稳态,导致后仿出错,而且这类错误还与仿真器相关。
 楼主| 发表于 2009-11-19 06:00:20 | 显示全部楼层
谢谢各位的解答。
另有一问:如何使用ALTERA FPGA 里面的锁相环?
发表于 2009-11-19 08:31:57 | 显示全部楼层
10# hudie2002

在quartus的MegaWizard中生成altpll,在你的设计中例化你生成的core
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 15:10 , Processed in 0.034691 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表