Timing-Analyse und CDC
Jedes Bit eines 4-Bit-Datenworts wurde mit einem eigenen 2-stufigen Synchronisierer in eine andere Taktdomäne übertragen. Welches Problem kann auftreten, wenn sich die Daten von 0111 auf 1000 ändern?
- ADie Bits werden in unterschiedlichen Zyklen übernommen, sodass Zwischenwerte wie 1111 oder 0000 empfangen werden können
- BDurch die Synchronisierer werden alle Bits im selben Zyklus ausgerichtet, daher tritt kein Problem auf
- CAlle 4 Bits werden metastabil und kehren dauerhaft weder zu 0 noch zu 1 zurück
Antwort und Erläuterung anzeigen
Antwort: A. Die Bits werden in unterschiedlichen Zyklen übernommen, sodass Zwischenwerte wie 1111 oder 0000 empfangen werden können
Bei einem 2-stufigen Synchronisierer ist für jedes Bit einzeln unbestimmt, ob eine Änderung an der aktuellen oder an der nächsten Flanke übernommen wird. Bei der Änderung von 0111 auf 1000 ändern sich alle 4 Bits, sodass für 1 Zyklus Werte wie 1111, 0000 oder 0100 empfangen werden können, bei denen nur ein Teil der Bits den neuen Wert hat. Verwendet die Empfangsseite diesen Wert, kommt es zu Fehlfunktionen. Metastabilität klingt mit der Zeit zu 0 oder 1 ab. Zählerstände werden in Gray-Code umgewandelt, sodass sich nur 1 Bit ändert; für beliebige Daten werden Handshake oder asynchroner FIFO verwendet.