背景:电路中存在异步电路,就会存在亚稳态,因为在触发器输出稳固之前信号状态可能会属于毛刺、固定的某值中的一种,所以亚稳态不仅能够使接触异步时钟的触发器输出发生错误,而且输出非 0 或 1 的某一电压值同样会导致后续触发器出现亚稳态。事实上,亚稳态发生的可能性不会为 0,但能采用相应的策略使其发生率降低,从而减少对电路设计实现的干扰。一般故障间隔平均时间(MTBF,mean time between failures)用来表明亚稳态对电路的影响程度。
单比特数据跨时域同步的常用方法有:
1)电平同步器
使用两个触发器串联起来的电路结构称为电平同步器。异步电平信号输入第一级触发器,经过第二级触发器,转变为同步电平信号输出。相比单个触发器,两级触发器的 MTBF 大很多,从而使亚稳态发生的概率更小。
2)边沿检测同步器
边沿检测同步器的基本结构,此类设计会自动检测同步器输入信号的上升沿,产生一个与同步时钟周期等宽、高电平有效的脉冲。当需要检测输入信号下降沿时,只需把与门的两个输入互换即可。如果用与非门替换与门,则会成为一个产生低电平有效脉冲的电路。
3)脉冲同步器
脉冲同步器的基本结构如上图所示,它的同步实现是通过从数据所在时钟域取出一个单时钟宽度脉冲,随后在异步时钟域中生成另一个单时钟宽度的脉冲。这种结构同步器存在一个限制条件,即数据输入脉冲最小间隔必须等于两个同步器的时钟周期。如果输入信号不能满足上述限制,则同步器输出将无法提供正确的同步结果。
参考文献:
[1]张波. 基于SOC异步FIFO的设计与形式验证[D].西安电子科技大学,2015.
设计与形式验证[D].西安电子科技大学,2015.