跨越鸿沟:同步世界中的异步信号 只有最初级的逻辑电路才使用单一的时钟
大多数与数据传输相关的应用都有与生俱来的挑战,即跨越多个时钟域的数据移动,例如磁盘控制器、CDROM/DVD 控制器、调制解调器、网卡以及网络处理器等
当信号从一个时钟域传送到另一个时钟域时,出现在新时钟域的信号是异步信号
在现代 IC、 ASIC 以及 FPGA 设计中,许多软件程序可以帮助工程师建立几百万门的电路,但这些程序都无法解决信号同步问题
设计者需要了解可靠的设计技巧,以减少电路在跨时钟域通信时的故障风险
基础 从事多时钟设计的第一步是要理解信号稳定性问题
当一个信号跨越某个时钟域时,对新时钟域的电路来说它就是一个异步信号
接收该信号的电路需要对其进行同步
同步可以防止第一级存储单元(触发器)的亚稳态在新的时钟域里传播蔓延
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态
当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上
在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去
对任何一种触发器,在时钟触发沿前后的一个小时间窗口内,输入信号必须稳定
这一时间窗口是多种因素的函数,包括触发器设计、实现技术、运行环境以及无缓冲输出上的负载等
输入信号陡峭的边沿可以将此窗口减至最小
随着时钟频率的升高,会出现更多有问题的时间窗口,而随着数据频率的提升,这种窗口的命中概率则会增加
FPGA 制造商和 IC 晶片厂用“MTBF”来标识合格的触发器,并且确定它们的特性
“MTBF”(平均无故障时间)用统计方法描述了一个触发器的亚稳态特性,即确定某个触发器出现故障的概率
在计算 MTBF 时,制造商部分基于输入信号改变导致触发器不稳定期间的时间窗口长度
另外,MTBF