Timing-Analyse und CDC
Warum kann es problematisch sein, den Pfad, über den die Gray-codierten Zeiger eines asynchronen FIFO in die Gegendomäne übertragen werden, nur weil er asynchron ist, ohne Constraint (als False Path) zu belassen?
- AWeil die Flipflops des Synchronisierers bei einem False Path in der Logiksynthese entfernt werden
- BWeil die Annahme, dass sich pro Schritt nur 1 Bit ändert, auf der Empfangsseite nicht mehr gilt, wenn die Verzögerungsunterschiede zwischen den Bits das Aktualisierungsintervall des Zeigers überschreiten
- CWeil die Zeiger bei einem False Path vom Tool in Binärcode zurückgewandelt werden
Antwort und Erläuterung anzeigen
Antwort: B. Weil die Annahme, dass sich pro Schritt nur 1 Bit ändert, auf der Empfangsseite nicht mehr gilt, wenn die Verzögerungsunterschiede zwischen den Bits das Aktualisierungsintervall des Zeigers überschreiten
Gray-codierte Zeiger setzen voraus, dass sich, an welcher Flanke der Empfangsseite auch immer betrachtet, höchstens 1 Bit gerade ändert. Bleibt der Pfad ohne Constraint, können die Verzögerungen der einzelnen Bits bei Platzierung und Verdrahtung stark streuen. Beträgt beispielsweise die Periode der Sendeseite 2 ns, benötigt das beim ersten Schritt wechselnde Bit 3 ns und das beim zweiten Schritt wechselnde Bit 1 ns bis zum Ziel, kommen beide zum Zeitpunkt 3 ns an, und es sieht so aus, als hätten sich 2 Bit gleichzeitig geändert. Deshalb wird ein Constraint für die maximale Verzögerung gesetzt, um den Verzögerungsunterschied auf 1 Periode der Sendeseite zu begrenzen.