Metastabilität kann nicht geheilt werden, aber wenn Sie lange genug warten , kann die Wahrscheinlichkeit, dass sie auftritt, beliebig gering gehalten werden. Wenn Sie es einmal im Zeitalter des Universums geschafft haben, ist es wahrscheinlich unwahrscheinlich, dass Sie Probleme bekommen.
Es ist, als würde man einen Bleistift auf die Spitze balancieren. Es ist wahrscheinlich, dass es umfällt und je länger Sie warten, desto unwahrscheinlicher ist es, dass es stehen bleibt.
Es gibt zwei Probleme, lange zu warten, und eines davon ist von grundlegender Bedeutung.
Das grundlegende Problem besteht darin, dass Sie physisch keine Untergrenze für die Wartezeit definieren können, wenn Sie in einem getakteten System, das die Ausgabe eines asynchronen externen Systems empfängt, über ein einzelnes Speicherelement (Latch oder Flip-Flop, die beide unter Metastabilität leiden) verfügen kann es vorkommen, dass das externe Signal in der Nähe der Verriegelungskontrollflanke übergeht. Sie müssen das Signal zu einem anderen Flip-Flop leiten, damit es dort wartet. Dies gibt Ihnen eine garantierte Mindestwartezeit von einem Taktzyklus.
Das zweite Problem ist, dass Sie häufig versuchen, ein System so schnell wie möglich zu betreiben, und die Systemtaktrate nicht verlangsamt werden kann, um im zweiten Flip-Flop genügend Zeit zu lassen. Die einzige Möglichkeit, die Signallatenz auf das Notwendige zu erhöhen, ohne den Durchsatz zu verringern, besteht darin, das Warten auf weitere Stufen zu leiten.
Einige Leute haben Probleme, sich vorzustellen, was zwischen den Flip-Flops passiert. Es gibt zwei Möglichkeiten, die Metastabilität zu induzieren, und beide beinhalten die Verletzung der Flip-Flop-Regeln. Eine Möglichkeit besteht darin, die Eingangs-Setup- und Haltezeiten zu verletzen und einen Übergang vorzunehmen, wenn das Flip-Flop erwartet, dass der Eingang stabil ist. Das andere ist, die Eingangslogikpegel zu verletzen, um den Flip-Flop-Dateneingang auf einem Zwischenspannungspegel zu halten. Ein Flip-Flop, das metastabil ist, kann jede Art von Verletzung an seinem Ausgang hervorrufen, um zum nächsten Flip-Flop weiterzuschalten.