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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6137|回复: 25

[求助] 什么样的时钟应该被认为是两个不同的时钟域?

[复制链接]
发表于 2014-8-25 16:30:10 | 显示全部楼层 |阅读模式

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

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

x
若是两个完全不同的时钟输入,肯定属于两个不同的时钟域,但是若在以下的这些情况中,应该被认为是两个不同的时钟域吗?

(1) “clk_in”是FPGA输入,“clk_in”经过DCM,输出一个反相(180度)时钟“clk1”,那么“clk_in”和“clk1”应该要作为两个不同的时钟域进行处理吗?
(2) 把“clk1”和“clk_in”经过一个BUFGMUX进行选择,选择输出叫做“clk2”, 那么"clk_in"和"clk2"应该算作是两个时钟域吗?
发表于 2014-8-25 16:48:06 | 显示全部楼层
若要我说的话 算是了 感觉没必要纠结这个问题吧
 楼主| 发表于 2014-8-25 16:50:23 | 显示全部楼层
回复 2# layueliuhuo


  如果要作为两个不同时钟域,那么这两者间若存在数据交换的化就必须要按照跨时钟域处理了(同步什么的),若不是两个不同的时钟域就可以直接用其数据。
发表于 2014-8-25 16:56:19 | 显示全部楼层
可能本人学的不精 平常应用中不同频率时钟才考虑跨时钟处理 数据加FIFO神马的
相同频率时钟一般取反之类的多是为了读写数据时在数据中间采样,直接用就好了吧
当然特殊情况特殊考虑啦
 楼主| 发表于 2014-8-25 17:26:36 | 显示全部楼层
回复 4# layueliuhuo


  其实我描述中的第一种情况只是举个例子啦,在实际情况中我遇到的是类似情况(2):就是说clk1是clk_in的移相(90度),然后clk2是在clk_in和clk1之间做个选择,不同模式下用不同的时钟,然后我就不确定这个clk2在用从clk_in domain过来的数据时,是否应该按照跨时钟域进行处理。
发表于 2014-8-25 21:18:08 | 显示全部楼层
感觉两者都不是,都可以被cotraint
发表于 2014-8-25 22:30:32 | 显示全部楼层
clk1 clkin 和clk2三个时钟都是异步时钟源。
同步异步的区分方法看时钟驱动就好了,clkin是外部晶振驱动、clk1是DCM驱动、clk2是BUFGMUX驱动
 楼主| 发表于 2014-8-26 10:04:03 | 显示全部楼层
回复 7# haitaox


   谢谢。还有个疑问哈:给"clk_in"添加约束,可以自动生成"clk1"的约束,那么"clk2"是遵照clk_in的约束还是clk1的约束呢?
发表于 2014-8-26 21:13:02 | 显示全部楼层
学习了!
发表于 2014-8-26 21:42:21 | 显示全部楼层
这个问题要回答清楚,需要从两个方面谈:
1.异步时钟. 由不同的PLL产生的是异步时钟,有1个时钟分频得到其他时钟,仍是同步时钟。
2.是同步时钟就具备同步设计/分析的基础,当然时钟数的skew需要关注,特别是hold。对于异步时钟,则必须考虑cross domain,当然同步不同频得时钟之间也可以直接按异步设计。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 17:20 , Processed in 0.028137 second(s), 6 queries , Gzip On, Redis On.

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