Die Verwendung von 2DFF- oder, allgemeiner, NDFF-Synchronisierungsschaltungen ist eine allgemein anerkannte Technik zur Übertragung eines Ein-Bit-Signals, in der Regel eines Steuerimpulses, zwischen zwei asynchronen Taktdomänen. Es handelt sich um eine relativ einfache und anerkannte Vorbeugungsmaßnahme gegen Metastabilitätsprobleme bei Taktdomänenübergängen (CDCs). Sie sollte jedoch mit besonderer Sorgfalt angewendet werden, wenn die Interaktion mehrere Signale umfasst. Eine der typischen Gefahren ist eine erneute Konvergenz mehrerer unabhängig voneinander synchronisierter Signale in der Zieldomäne, die direkt nach den Synchronisierern oder tiefer in der Schaltung auftreten kann:
Im obigen Beispiel besteht das Problem in einer möglichen Inkohärenz zwischen den beiden abgetasteten Steuersignalen im Zielbereich. Je nach dem Zeitfenster, das metastabilen Signalen zur Verfügung steht, um sich auf einen bekannten Wert einzupendeln, besteht die Möglichkeit, dass die interagierenden Zweige Werte erfassen, die unterschiedliche Taktzyklen in der Quelldomäne darstellen, wodurch der Steuerzustand inkohärent wird, was zu nachfolgenden Funktionsfehlern führt.
Das Problem der Re-Konvergenz kann auf RTL-Ebene erkannt werden, bevor es Schaden anrichtet, indem erweiterte strukturelle CDC-Prüfungen mit einem modernen Design Rule Checking-Softwaretool wie Aldec ALINT-PRO durchgeführt werden. Das Tool bietet Cross-Probing für alle verwandten Teile im HDL-Code.
ALINT-PRO zeigt auch die betroffenen Elemente der synthetisierten Netzliste in einer gefilterten schematischen Form:
Der zugrundeliegende Rekonvergenz-Regel-Checker kann so konfiguriert werden, dass er Schaltungen mit unterschiedlichen Pessimismusgraden hinsichtlich der Anzahl der nachfolgenden sequenziellen Ebenen, die analysiert werden, zwischen den Synchronisierern und dem tatsächlichen Interaktionspunkt behandelt. Die Standardeinstellungen bieten für die meisten typischen Designs ein zufriedenstellendes Schutzniveau. Es ist möglich, die Anzahl der analysierten Ebenen zu erhöhen. Sie müssen zum Beispiel hohe Sicherheitsanforderungen erfüllen. Eine signifikante Erhöhung der Anzahl der Ebenen könnte sich spürbar auf die Analyseleistung auswirken.
Eine einfache Möglichkeit, das Problem der Re-Konvergenz zu vermeiden, besteht darin, die Interaktions-Logik zurück in den Sende-Taktbereich zu verlagern und ein einziges kombiniertes Steuersignal zu übertragen, so dass die Möglichkeit einer Dateninkohärenz ausgeschlossen ist.
Eine akzeptable Ausnahme von der Regel zur Vermeidung von Rekonvergenz besteht, wenn die Quellsignale grau kodiert sind, da sich nur ein Bit pro Taktzyklus ändern kann.