最近项目中遇到的dcfifo的问题,和大家分享一下!

[复制链接]
3811|1
 楼主| psd0208 发表于 2010-2-22 09:50 | 显示全部楼层 |阅读模式
工程中用到一个dcfifo,由Altera的Megafunction生成。

wrclk=33MHz,是外部输入的pci时钟;rdclk=120MHz,是由50MHz的晶振经PLL生成。

实际测试的时候发现运行一段时间就会出现数据错乱的情况。

未修改其他逻辑,只是弃用了板上的50MHz晶振,用33MHz的pci时钟经PLL生成99MHz和132MHz的时钟。fifo的rdclk改为99MHz。另外工程中用到120MHz时钟的模块改为99MHz或132MHz。

再测试就没有问题了。

我们定位问题:33MHz时钟和120MHz时钟无任何相位和频率关系,导致fifo运行不稳定。

但是Altera的文档上根本没有这一限制啊,理论上是不应该出问题的。

这是不是Altera dcfifo的一个......呢???


欢迎有经验的大侠们加入讨论,分享自己的经验啊。
liuchao114 发表于 2010-4-21 10:30 | 显示全部楼层
可能是由于33M和50M不同源造成的,建议检查代码里跨时钟域处理部分有无问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

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