跨时钟域设计,急!
小弟在设计时,碰到了两个时钟,CLK1和CLK2。其中CLK1为外部时钟,CLK2为内部时钟。现在比如我们不知道两个时钟之间的关系(就是两个时钟的频率比的值都有可能,没有确定的关系,可能CLK1是CLK2的10倍,或者CLK2是CLK1的10倍等等关系)。现在我要把CLK1信号引进内部模块(就是CLK2的模块)来,我怎么设计,才能保证CLK2的所在的模块一定能采集到CLK1?谢谢个给大侠了,小弟在线等答案!
你将CLK1引入CLK2模块的目的是什么?单单为采样CLK1么?
没辙
如果你不修改前提条件
外时钟经锁相后和内时钟匹配行吗?
是用CLK2时钟去采CLK1时钟域里的数据还是去采集CLK1时钟本身?
引入时钟的用处是什么呢
不明白lz这种时钟引入只是为了采样,还是说要把clk1时钟域的信号传递到clk2
只是采样的话,觉得没有什么用啊,时钟域毕竟最终还是要作用在信号上,那么为什么不clk1内部产生最终需要的信号,然后再通过FIFO或者结绳法传入clk2的域呢?
如果clk1是作为clk2中的控制信号的话,那就完全当作一个异步信号来用好了,不知道能不能这样做。
至少要知道谁快谁慢,才能做
还得看具体应用!
你连CLK1和CLK2的关系都不清楚的话!是不能往下设计的!
clk1和clk2的相对关系需要明确
条件似乎太过模糊了
是啊!做设计一定要先清楚你的设计要求
你可以试一下握手信号
不过如果是完全异步的话,时序问题是没办法保证的
同步电路估计没辙。异步的考虑一下吧!
除非是burst数据,用个双口fifo就行了,否则吞吐率根本不等,不可能
先看一下两个时钟域之间的交流信号,如果A到B传输的是单路控制信号,使用双触发器打一下,如果A到B传输的是多路数据信号,采用FIFO
跨时钟域有经典的异步对接电路,
可以找找相关的文献
用FIFO
没看懂
小编想要干什么呢
锁相环调整相位。
FIFO+握手信号?
不同频率的时钟相互采样?一般方法是不行的。还是不同时钟域的数据采样?
eetop 应该不能做到吧
clk2慢的话,应该不能保证全部采到clk1的吧~
看到前面许多热心人的回帖,我来总结一下:
因为先前有提到两个时钟,我觉得因该是数据信号:
1) 首先要做到Average吞吐量的匹配
2)用异步FIFO(FIFO大小与Burst量有关)
锁相环怎么用的啊 我都没用过呢,赶明我也去研究一下
问题不明确
用高频时钟采样低频时钟域的信号没有问题吧,低频到高频的信号应该经过寄存器锁存,个人认为~
可以设计一个控制器
当快采慢的时候,用2-D同步器
当慢采快的时候,用结绳法电路
注意的是满采快肯定是不能满负荷运行的
帖子很好啊
学到不少东西
