完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我很难理解如何正确设计一个时钟使能信号,以促进两个同步时钟之间的时钟域交叉,其中一个是慢速,一个是快速。 我所拥有的情况与下图所示的情况非常相似(取自UG903图5-18)。 如何确保CLK2产生的时钟使能与CLK1的上升沿正确对齐?我可以看到如果使用由CLK2提供时钟的计数器产生时钟使能和CLK1,该怎么可能。 然而,在我的设计中,CLK1是由一个由CLK2驱动的MMCM生成的(并将频率除以3)。 谢谢, 大卫 以上来自于谷歌翻译 以下为原文 Hello, I'm struggling to understand how to properly design a clock enable signal to faciliate clock domain crossing between two synchronous clocks where one is slow and one is fast. The situation I have is very similar to what's show in the figure below (taken from UG903 Fig. 5-18). How does one ensure that the clock enable generated by CLK2 is correctly aligned to the rising edge of CLK1? I can see how it's possible if both the clock enable and CLK1 are generated using a counter that is clocked by CLK2. However in my design CLK1 is generated from a MMCM which is driven by CLK2 (and divides the frequency by 3). Thanks, David |
|
相关推荐
3个回答
|
|
在这种情况下,我所做的是从较慢的时钟上的触发器开始,在每个上升沿切换。
如果两个时钟对齐,则可以通过更快的时钟可靠地对该触发器的输出进行采样。 然后,您只需要进行边沿检测,即可在每个慢速时钟周期内获得单个脉冲。 使用具有适当延迟数的脉冲来启用时钟。 注意,生成时钟使能所涉及的路径不是多周期路径。 只有源自使用时钟使能的触发器Q的路径才能成为多周期路径。 - Gabor 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 In this situation, what I do is to start with a flip-flop on the slower clock that toggles on each rising edge. If the two clocks are aligned, the output of this flop can be reliably sampled by the faster clock. Then you simply need to do edge detection to get a single pulse per slow clock cycle. Use that pulse with the appropriate number of delays to make your clock enable. Note that the paths involved in generating the clock enable will not be multi cycle paths. Only paths originating from the Q of flops using the clock enable as an enable wll be multi cycle paths. -- GaborView solution in original post |
|
|
|
在这种情况下,我所做的是从较慢的时钟上的触发器开始,在每个上升沿切换。
如果两个时钟对齐,则可以通过更快的时钟可靠地对该触发器的输出进行采样。 然后,您只需要进行边沿检测,即可在每个慢速时钟周期内获得单个脉冲。 使用具有适当延迟数的脉冲来启用时钟。 注意,生成时钟使能所涉及的路径不是多周期路径。 只有源自使用时钟使能的触发器Q的路径才能成为多周期路径。 - Gabor 以上来自于谷歌翻译 以下为原文 In this situation, what I do is to start with a flip-flop on the slower clock that toggles on each rising edge. If the two clocks are aligned, the output of this flop can be reliably sampled by the faster clock. Then you simply need to do edge detection to get a single pulse per slow clock cycle. Use that pulse with the appropriate number of delays to make your clock enable. Note that the paths involved in generating the clock enable will not be multi cycle paths. Only paths originating from the Q of flops using the clock enable as an enable wll be multi cycle paths. -- Gabor |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2385 浏览 7 评论
2800 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2264 浏览 9 评论
3336 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2433 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
763浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
548浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
377浏览 1评论
1971浏览 0评论
688浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 19:56 , Processed in 1.470804 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号