微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 同相时钟

同相时钟

时间:10-02 整理:3721RD 点击:
现在在项目中,遇到了同相时钟的问题,比如时钟A是时钟B分频出来的,那我在时钟A频率下直接采样以时钟B运行的数据(或者在时钟B频率下直接采样以时钟A运行的数据),会不会产生亚稳态?听后端人员说应该没问题,我不敢确定.谁用过,谢谢

有可能有问题,尽量使用异步处理。

用异步时钟,可以采用fifo

如果你是用快的去采慢的,那数据可以采到没问题,但要注意会不会造成数据多采,重复地采。
用慢的采快的则要注意数据的宽度,比如快时钟域的一个数据脉冲,你用慢的上升沿去采,那脉冲就不在上升沿上,自然就采不到了,这时要注意把数据拓宽到可以采的宽度上。

因为你的时钟A是由时钟B分频产生的,可以考虑把时钟A作为使能信号使用,整个代码里面只使用时钟B,这样整个设计里面就可以只使用一个时钟了。



    那你的意思是先不管数据宽度)跨A和B两时钟,直接采样这个动作是没问题的?不会产生亚稳态吧?



    因为有特殊的时序要求,所以不能采用异步处理.以前我们的方法也是当成异步来处理,现在这里时序要求太精确,所以不能按老办法了

    这种办法是可以的。
A不作为时钟,只做使能,宽度=1个时钟B的宽度。



   不会产生亚稳态,由另一时钟派生过来的,STA时会当成同一时钟域分析时序的, 最好派生时钟是由PLL或DLL产生的,如果时钟很慢,低于10M的话,可考虑直接用计数器分频

按我的理解是不会产生亚稳态,最近也在研究这个问题,但是慢时钟去采快时钟,你要考虑带宽,如果是数据的话。控制信号,你要看实际情况了!

绝对没问题,直接采即可。注意在SDC中用create_generated_clock定义分频后的时钟,并将其与源时钟归为同一个clock group。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top