当今的数字电路都是围绕FPGA/CPLD来设计的,首选的方案时采用同步时序电路,也称作单时钟系统设计,电路中所有触发器的时钟输入共享同一个时钟,每个触发器的状态变化都是时钟的上升沿(下降沿)完成的,与时钟脉冲信号同步。
但在实际电路中,纯粹单时钟系统信号设计不能完成信号在不同时钟域的传递,跨时钟域的异步时钟设计是不可避免的,异步时序设计中有多个独立的时钟源,不同时钟源存在信号频率和香味的差异,当数据信号通过两个时钟域的交界处时,将分别由两个时钟来控制信号的值。如果两个时钟信号的敏感沿非常接近并超过了允许的额度,则将出现数据信号的不稳定,即电路陷入亚稳态态,也称为同步失败。
1.亚稳态的产生
触发器是数字电路中最常用的基本器件,内部包含两个双稳态元件,除了两个稳态状态“0”和“1”之外,还有一个状态,满足双稳态元件的方程,即当两个反相器处于中间值的第三个半稳态——亚稳态,反相器在非逻辑范围的反馈系数是非常大的。一旦离开这个点,就会很快进入逻辑值范围(稳态)。
因为触发器内部的数据形成需要一定的时间,如果不满足建立和保持时间,触