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

200M时钟的信号同步到100M

时间:10-02 整理:3721RD 点击:
一个pLL产生的200M和100M时钟。现在有一个信号是200M时钟域的单周期脉冲,如果将这个信号在200M时钟域里打一拍,然后用100M时钟去查看前后两拍的电平,若其中一拍为高电平,则100M时钟产生一个单周期脉冲。这样同步快时钟域信号的方法可行吗?setup_time和hold_time怎么保证?非常感谢



    可以。设置一个flag信号,用200时钟检测到单脉冲时,把flag置高,然后用两个寄存器对flag进行打拍。



   非常感谢你的回答。 你的意思是用100M时钟再去采打两拍的flag。但是我有一点担心就是这个flag信号对100M时钟的建立时间和保持时间能保证吗?对于同步信号,Quartus能给出时序分析,对于这种异步信号,也能进行时序分析吗?

很简单,用结绳电路把脉冲信号直接同步过去就可以

把200M的信号长度(正常最短为5ns)拉长到15ns送给100M的时钟域然后同步一下(寄存2次)就可以了。
因为送数据的是你自己,接数据的也是你自己。你完全可以把送出来的数据做成你喜欢的类型就好了。



    用两级寄存器就是为了降低亚稳态的传播。因为flag信号只是从0变成了1(你说的是单脉冲),在100的时钟域使用了两级的同步电路,即使flag变成1的时候建立时间没有满足要求,但是由于两级寄存器的存在,这个亚稳态并没有往下传播,这样在下一次的时候100M时钟就可以做到正确采样了。(这儿就是楼上说的结绳电路的处理了,先对二级寄存器信号取反与第一级寄存器输出作“与”运算)

比较赞同5楼的说法。
慢时钟采快时钟,快时钟肯定要把信号拉长。

我認同6樓的作法

利用跨时钟域脉冲检测电路就可以了

5#做法比较典型~

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

网站地图

Top