Answers:
亚稳态不能被“治愈”,但是如果您等待足够长的时间,它发生的可能性可以任意减小。一旦您将其降到宇宙时代一次,就很可能不会给您带来麻烦。
这就像平衡铅笔的笔尖。它可能会跌倒,并且您等待的时间越长,保持站立的可能性就越小。
等待很长时间有两个问题,其中一个是根本问题。
根本的问题是,如果在接收异步外部系统输出的时钟系统中,只有一个存储元件(锁存器或触发器,它们都遭受亚稳态),那么您实际上无法定义等待时间的下限,有时外部信号将在锁存控制边沿附近转换。您必须将信号流水线传送到另一个触发器,以使其在那里等待。这样可以保证一个时钟周期的最小等待时间。
第二个问题是,您通常试图尽可能快地运行系统,并且不能降低系统时钟速率以在第二个触发器中提供足够的时间。在不降低吞吐量的情况下,将信号等待时间增加到必需的唯一方法是将等待流水线传送到更多阶段。
有些人无法想象触发器之间的情况。有两种方法可以诱发亚稳态,并且都涉及违反触发器规则。一种方法是违反输入建立和保持时间,以在触发器期望输入稳定时进行转换。另一种是违反输入逻辑电平,以使触发器数据输入处于中间电压电平。处于亚稳态的触发器可以在其输出中产生任何一种违规,从而级联到下一个触发器。
通过留出更多时间直到信号被实际使用,它降低了亚稳影响电路的可能性。使用两个触发器,它允许整个额外的时钟周期使信号稳定下来。有了三个,它允许两个额外的时钟周期。
它们不会阻止亚稳性影响输出,但是由于亚稳性必须持续较长的时间,因此它们可以大大增加事件之间的平均时间。
级联三个(或更多)设计良好的触发器可能会使事件之间的间隔时间增加到地球时代。
因为第一个触发器即使是亚稳态的,也将使所有时钟周期稳定下来。到第二个触发器对第一个触发器采样时,其输出可能已经稳定。