微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > FPGA设计系统时钟的影响因素及其分析

FPGA设计系统时钟的影响因素及其分析

时间:06-05 来源:互联网 点击:

多的异步信号(控制或地址)同时进入本时域来控制本时域的电路时,如果这些信号分别都用图12中的同步电路来同步就会出现问题,由于连线延迟或其他延迟使两个或更多的异步信号(控制或地址)之间产生了skew,那么这个skew经过图12的同步器同步进入本时域后,会产生很大的skew或产生竞争,导致本时域电路出错。

出现的问题如下图13所示:

图13 同步多个控制信号时出错

(b)如果是异步数据总线要进入本时域,同样不能用图12的电路,因为数据的变化是很随机的,其0的宽度或1的宽度和本时域时钟脉冲无关,所以图12的电路可能会采不到正确数据。

(3)注意,第二个触发器并不是避免“亚稳态的发生”,确切的说,该电路能够防止亚稳态的传播。也就是说,一旦第一个触发器发生了亚稳态(可能性存在),由于有了第二个

触发器,亚稳态不会传播到第二个触发器以后的电路中去。

(4)第一级触发器发生了亚稳态,需要一个恢复时间来稳定下来,或者叫退出亚稳态。当恢复时间加上第二级触发器的建立时间(更精确的,还要减去clock skew)小于等于时钟周期的时候(这个条件还是很容易满足的,一般要求两级触发器尽量接近,中间没有任何组合逻辑,时钟的skew较小),第二级触发器就可以稳定的采样,得到稳定的确定的数据了,防止了亚稳态的传播。

(5)FF2是采样了FF1的输出,当然是FF1输出什么,FF2就输出什么。仅仅延迟了1个周期。注意,亚稳态之所以叫做亚稳态,是指一旦FF1进入,其输出电平不定,可能正确也可能错误。所以必须说明的是,虽然这种方法可以防止亚稳态的传播,但是并不能保证两级触发器之后的数据是正确的,因此,这种电路都有一定数量的错误电平数据,所以,仅适用于少量对于错误不敏感的地方。对于敏感的电路,可以采用双口RAM或FIFO。

2 输入pulse有可能小于一个时钟周期宽度情况下的同步电路

对2的情况通常采用如下图14的反馈电路。该电路的分析如下:假设输入的数据是高电平,那么由于第一个触发器FF1是高电平清零,所有输出也是高电平,采用正确。如果输入是第电平那么被FF1被强制清零,这个时候输出位零。这样就保证了输出的正确性。

图14输入pulse有可能小于一个时钟周期宽度情况下的同步电路

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

网站地图

Top