Beseitigung von CDC-Rekonvergenzproblemen mit Aldec ALINT-PRO

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:

 

Aldec CDC Rekonvergenz

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.

aldec cdc-check

ALINT-PRO zeigt auch die betroffenen Elemente der synthetisierten Netzliste in einer gefilterten schematischen Form:

Synthesized netlist

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.