为什么级联的D型触发器会阻止亚稳态?


15

我了解什么是亚稳态,但不了解如何将触发器链接在一起可以减少这种情况?

如果第一个触发器的输出是亚稳态的,它将用作第二个触发器的输入。但是我看不到第二个触发器将如何使用此输入执行任何操作并使它稳定。

提前致谢!


2
:一直在寻找一个机会,何况布里丹之驴en.wikipedia.org/wiki/...
copper.hat

Answers:


11

亚稳态不能被“治愈”,但是如果您等待足够长的时间,它发生的可能性可以任意减小。一旦您将其降到宇宙时代一次,就很可能不会给您带来麻烦。

这就像平衡铅笔的笔尖。它可能会跌倒,并且您等待的时间越长,保持站立的可能性就越小。

等待很长时间有两个问题,其中一个是根本问题。

根本的问题是,如果在接收异步外部系统输出的时钟系统中,只有一个存储元件(锁存器或触发器,它们都遭受亚稳态),那么您实际上无法定义等待时间的下限,有时外部信号将在锁存控制边沿附近转换。您必须将信号流水线传送到另一个触发器,以使其在那里等待。这样可以保证一个时钟周期的最小等待时间。

第二个问题是,您通常试图尽可能快地运行系统,并且不能降低系统时钟速率以在第二个触发器中提供足够的时间。在不降低吞吐量的情况下,将信号等待时间增加到必需的唯一方法是将等待流水线传送到更多阶段。

有些人无法想象触发器之间的情况。有两种方法可以诱发亚稳态,并且都涉及违反触发器规则。一种方法是违反输入建立和保持时间,以在触发器期望输入稳定时进行转换。另一种是违反输入逻辑电平,以使触发器数据输入处于中间电压电平。处于亚稳态的触发器可以在其输出中产生任何一种违规,从而级联到下一个触发器。


6
举例来说,当我进行芯片设计时,我“拥有”亚稳定性,所有时钟交叉点,我们都进行了数学计算,弄清楚了每个触发器,一组触发器等发生同步器故障的可能性等,看结果如何...显示屏上的大部分像素可能会破裂,最终整个芯片的像素下降到大约每两年一次-这是Win95的图形卡,当时无法承受超过大约一天,我们决定没有人会注意到同步器的2年平均无故障时间。
Taniwha

7
另外,没人提到的是绝对最差情况的亚稳故障会发生的事情...同步器故障有时会导致触发器在内部以很高的频率振荡,可能在正常数字高点和低点之间-如果它逃脱了您的高点,获得抗亚稳态同步器触发器是嘈杂的嗡嗡声的灾难可以感染所有下游触发器(如东西迷了),造成巨大的电流平甚至可能过热和芯片死亡-所以千万要注意这是一个问题
Taniwha

@Neil_UK您使用我认为令人困惑的“闩锁”一词。在我的圈子中,闩锁是一个异步元素。为了清楚起见,我将它们称为触发器。
jalalipop

1
@jalalipop我使用锁存器来表示触发器,尽管自从我开始使用它的几十年以来,其含义已经发生了变化。虽然我同意“锁存器”通常是指异步透明类型,但是如果数据在启用输入的“锁存”边缘发生变化,它们也会遭受亚稳定性的困扰。主从触发器通常是由一对由时钟反相驱动的锁存器内部构建的。感谢您提及它,我将修改答案以明确说明。
Neil_UK

@ Tamiwha您能否提供图表,时间常数和数学的答案,以明确闩锁试图解决时的内部行为。您需要证明(如您所知)环路增益和再生时间常数以及本底噪声(热和VDD)如何影响分辨能力。
Analogsystemsrf

9

通过留出更多时间直到信号被实际使用,它降低了亚稳影响电路的可能性。使用两个触发器,它允许整个额外的时钟周期使信号稳定下来。有了三个,它允许两个额外的时钟周期。


2
好答案。重要的一点是不会阻止亚稳性,我们只是将概率降低到可接受的水平。
Elliot Alderson

1
因此,级联触发器为信号提供了在0到1之间稳定的时间,但是它不能解决错误的值吗?因为亚稳态信号可以双向下降?
Wouter A

2
@WouterA如果它是亚稳态的,那么两个值都是正确的。
user253751

4
我认为这不是一个好答案,在这种情况下,只有第一个触发器对输入信号进行采样。如上所述,正在发生的任何特定触发器都有可能发生亚稳态(取决于触发器内部反馈环路的增益,时钟速度以及被采样的事物在输入阈值之间通过的速率)。小数<1 = p-两个翻牌给我们MS传递2翻牌,3 p ^ 3等的p ^ 2几率
Taniwha

4

它们不会阻止亚稳性影响输出,但是由于亚稳性必须持续较长的时间,因此它们可以大大增加事件之间的平均时间。

级联三个(或更多)设计良好的触发器可能会使事件之间的间隔时间增加到地球时代。


取决于您的时钟频率和处理技术。只要保持较高的松弛度,一个触发器就足以使MTBF达到最小。
jalalipop

@jalalipop好的。在原始的IEEE论文中有一些实际的测试信息(现在已经过时)。DOI:10.1109 / TC.1983.1676187
Spehro Pefhany

@jalalipop:通常这是一个问题,与您不能保证空闲时间(又称异步设计)(例如,当各个时钟未锁相时在CPU内核与SOC之间进行通信的FIFO)有关时,这更相关。否则,您只需设置硬设置时间,并保证不会出现亚稳性。
jbord39

是的,亚稳态是异步接口上的一个问题。我所指的松弛是触发器之后同步逻辑的松弛。如果您的懈怠程度很高,则在影响设计的其余部分之前,Metastability事件将消失。
jalalipop

2

因为第一个触发器即使是亚稳态的,也将使所有时钟周期稳定下来。到第二个触发器对第一个触发器采样时,其输出可能已经稳定。


1

如果您希望获得亚稳态的激动,请实施两个非常慢的逆变器,将它们背对背连接,并在VDD / 2上偏置它们(在仿真中)。然后消除偏置,并观察解析到逻辑1和逻辑0的速度。您可能需要选择VDD / 2以外的初始偏置电压。

如果您的2个或3个触发器比时钟周期慢,则生活可能会充满问题。


1

亚稳性只是意味着,如果您在特定时间窗口内以时钟为参考进行数据转换,则输出将在时钟沿后的特定时间段内表现不佳。但是,窗口不是固定的时间间隔。相反,不良值(振荡或中间电压水平)的可能性会随着时间呈指数下降。因此,如果您使用时钟对信号进行采样,然后在将时钟应用于第二个触发器之前稍等片刻,则可以将不良位的机会降低到任何期望的(但非零)概率。如果所需时间太长,则可以串联使用3个或更多的触发器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.