亚稳态
锁存器出现亚稳态
(1)在其中一个输入端输入的脉冲太短。
(2)两个端口输入同时有效,或两输入有效相差足够短。
(3)在使能输入的边缘处,输入信号不稳定。
触发器出现亚稳态
(1)建立/保持时间内输入信号不稳定。
(2)时钟脉冲太窄。
(3)异步信号对时钟有效沿是随机的,易产生亚稳态。异步信号包括:不被时钟控制的信号;或被不同时钟域的时钟同步的信号。
触发器进入亚稳态的时间可以用参数MTBF(Mean Time Between Failures)来描述,MTBF即触发器采样失败的时间间隔,表示为:
其中fclock表示系统时钟频率,fdata代表异步输入信号的频率,tmet代表不会引起故障的最长亚稳态时间,C1和C2分别为与器件特性相关的常数。如果MTBF很大,就认为这个设计在实际工作中是能够正常运行的,不会因为亚稳态导致整个系统的失效。
亚稳态的处理方法
(1)亚稳态不能避免。
(2)尽可能降低亚稳态的影响。
(3)高速数字电路依赖于同步器产生的从亚稳态事件中恢复的缓冲时间。
常见的同步电路解决方案
(1)两级DFF(传单信号)
(2)FIFO(传有一定位宽的信号bus)
(3)握手信号(对于FIFO的深度要求比较大,需要引入握手信号)
总结一下
1、有关系的时钟之间传单bit数据,理论上只需要源数据保持足够长的时间(clk2的两个周期)即可;
2、无关系的时钟之间传单bit数据,必须要使用同步器;
3、不管有无关系的时钟进行单bit传输,脉冲同步器都可以解决这个问题;
4、多bit传输只能使用握手机制或者异步fifo;
5、低频采高频