Timing-Analyse und CDC
Da ein asynchroner FIFO den Zeiger der Gegenseite synchronisiert verwendet, ist der sichtbare Zeigerwert 2–3 Zyklen veraltet. Welche Auswirkung hat diese Verzögerung auf die Erkennung von full/empty?
- ANur die Aufhebung von full bzw. empty verzögert sich; Überlauf oder Lesen aus einem leeren FIFO treten nicht auf
- BDa sich die full-Erkennung verzögert, kann zu viel geschrieben werden, sodass Daten überlaufen
- CDa sich die empty-Erkennung verzögert, kann aus einem leeren FIFO gelesen werden
Antwort und Erläuterung anzeigen
Antwort: A. Nur die Aufhebung von full bzw. empty verzögert sich; Überlauf oder Lesen aus einem leeren FIFO treten nicht auf
Der von der Schreibseite gesehene Lesezeiger ist veraltet; es scheint, als sei das Lesen weniger weit fortgeschritten als tatsächlich, und der FIFO wird als voller beurteilt, als er ist. full wird also stets angezeigt, wenn er wirklich voll ist; nur die Aufhebung nach dem Freiwerden von Platz verzögert sich etwas. Für empty auf der Leseseite gilt dasselbe: Neu geschriebene Daten werden nur verzögert sichtbar. Beides wirkt zur sicheren (pessimistischen) Seite, daher werden keine Daten verfälscht; um die Leistung zu halten, wird für diese Verzögerung jedoch Reserve in der Tiefe vorgesehen.