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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5406|回复: 8

请教数据总线的跨时钟域问题

[复制链接]
发表于 2004-7-16 10:36:23 | 显示全部楼层 |阅读模式

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

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

x
记得在文章“Ten Commandments of Excellent Design”中告戒大家在数据总线跨时钟域时,尽量用异步FIFO,而不推荐用双同步等方式,以免数据多位跳变和时钟歪斜造成数据锁存错误。
我现在面临的设计是:采用XILINX VertexII 芯片,将50MHz 64位数据要按高低32位次序写入100MHz的DDR中。
我初步的解决方案是:
1)时钟方案:
   (1)采用Vertex-II 的DCM将50MHz时钟倍频,得到同相和反相的100MHz的时钟,供DDR
        时钟CK和CK#;
   (2)用另一个DCM将50MHz时钟倍频,得到同相和反相的100MHz的时钟,供FPGA内部控制
        逻辑发送DDR命令用;
   (3)再用一个DCM将100MHz时钟倍频,得到同相和反相的200MHz的时钟,供FPGA内部控
        制逻辑控制写DDR数据时的数据传输;
2)数据流方案:
   (1)将50MHz 64位数据用100MHz时钟下沿同步;
   (2)再用100MHz时钟上沿将同步后的数据转化为高低次序的32位数据;
   (3)然后通过异步FIFO,写时钟用100MHz时钟上沿,读时钟用200MHz下沿,
        将数据送到DDR的dq端。
问题是:在“2)数据流方案”的(1)(2)中明显违反了设计戒律,虽然数据有5ns的setup/hold时间。
请问做过DDR控制的大虾,应该如何控制数据流才能既满足设计戒律要求,又有比较巧妙的设计思路。
发表于 2004-7-16 10:57:07 | 显示全部楼层

请教数据总线的跨时钟域问题

参考一下
5_1496_1.jpg
 楼主| 发表于 2004-7-16 11:24:40 | 显示全部楼层

请教数据总线的跨时钟域问题

多谢班主,但参考设计中是否也违背了关于数据总线跨时钟域的设计戒律呢?
发表于 2004-7-16 11:50:59 | 显示全部楼层

请教数据总线的跨时钟域问题

好像你的50M和100M时钟通过DCM建立了比较固定的相位关系,我觉得这个不能算完全的异步时钟,只要处理的时候多注意一下应该没什么问题。
发表于 2004-7-16 12:10:08 | 显示全部楼层

请教数据总线的跨时钟域问题

同意
除非你使用4X时钟
发表于 2004-7-16 12:38:50 | 显示全部楼层

请教数据总线的跨时钟域问题



下面引用由bravelu2004/07/16 11:50am 发表的内容:
好像你的50M和100M时钟通过DCM建立了比较固定的相位关系,我觉得这个不能算完全的异步时钟,只要处理的时候多注意一下应该没什么问题。

对,一般相位预知或固定的时钟可以当做同步对待,所谓异步应该是相位差的不确定。
 楼主| 发表于 2004-7-16 13:05:14 | 显示全部楼层

请教数据总线的跨时钟域问题

明白了,多谢各位!
发表于 2007-10-13 17:33:47 | 显示全部楼层
怎么看不到亚
发表于 2011-12-15 11:32:29 | 显示全部楼层
两时钟相位差确定,算是跨时钟域吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-7-6 09:58 , Processed in 0.028140 second(s), 12 queries , Gzip On, MemCached On.

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