Ich verstehe, was Metastabilität ist, verstehe aber nicht, wie das Verknüpfen von Flip-Flops dies reduziert?
Wenn der Ausgang des ersten Flipflops metastabil ist, wird dieser als Eingang für den zweiten verwendet. Ich sehe aber nicht, wie das 2. Flip-Flop mit diesem Eingang etwas anfangen und ihn stabilisieren kann.
Danke im Voraus!
digital-logic
flipflop
metastability
Wouter A
quelle
quelle
Antworten:
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.
quelle
Es verringert die Wahrscheinlichkeit einer Metastabilität, die die Schaltung beeinträchtigt, indem mehr Zeit eingeräumt wird, bis das Signal tatsächlich verwendet wird. Mit zwei Flip-Flops wird ein ganzer zusätzlicher Taktzyklus für das Einschwingen des Signals ermöglicht. Bei drei Takten sind zwei zusätzliche Taktzyklen möglich.
quelle
Sie verhindern nicht, dass sich die Metastabilität auf die Ausgabe auswirkt, können jedoch die mittlere Zeit zwischen Vorfällen erheblich verlängern, da die Metastabilität relativ lang sein müsste.
Das Kaskadieren von drei (oder mehr) gut gestalteten Flip-Flops kann die Zeit zwischen Ereignissen auf ein Alter wie das der Erde verlängern.
quelle
Weil das erste Flip-Flop, selbst wenn es metastabil ist, die gesamte Periode der Uhr hat, um sich zu stabilisieren. Zu dem Zeitpunkt, zu dem das zweite Flip-Flop das erste Flip-Flop abtastet, könnte sein Ausgang bereits stabil sein.
quelle
Wenn Sie die Aufregung der Metastabilität wünschen, implementieren Sie ZWEI SEHR LANGSAME WECHSELRICHTER, schließen Sie sie aneinander an und spannen Sie sie (in einer Simulation) bei VDD / 2 vor. Entfernen Sie dann die Vorspannung und achten Sie auf die Geschwindigkeit des Auflösens auf die Pegel logisch1 und logisch0. Möglicherweise müssen Sie eine andere anfängliche Vorspannung als VDD / 2 auswählen.
Wenn Ihre 2 oder 3 Flipflops im Vergleich zur Taktperiode LANGSAM sind, kann das Leben mit Problemen gefüllt sein.
quelle
Metastabilität bedeutet einfach, dass sich die Ausgabe für einen bestimmten Zeitraum nach der Taktflanke schlecht verhält, wenn Sie eine Datenübertragung innerhalb eines bestimmten Zeitfensters haben, das auf die Uhr bezogen ist. Das Fenster ist jedoch kein festes Intervall. Vielmehr nimmt die Wahrscheinlichkeit eines schlechten Wertes (Schwingungs- oder Zwischenspannungspegel) mit der Zeit exponentiell ab. Wenn Sie also das Signal mit einer Clock abtasten und dann ein wenig warten, bevor Sie die Clock auf das zweite Flip-Flop anwenden, können Sie die Wahrscheinlichkeit eines schlechten Bits auf eine beliebige (aber nicht null) Wahrscheinlichkeit reduzieren. Wenn die erforderliche Zeit zu lang ist, können Sie 3 oder mehr Flip-Flops in Reihe verwenden.
quelle