Timing-Analyse und CDC

Was ist der richtige Grund dafür, dass bei einem asynchronen FIFO mit 16 Wörtern Tiefe Schreib- und Lesezeiger mit 5 Bit, also 1 Bit mehr als die Adresse, ausgeführt werden?

  1. AWeil zur Darstellung der Adressen von 16 Wörtern 5 Bit erforderlich sind
  2. BDamit bei übereinstimmenden Zeigern unterschieden werden kann: im selben Umlauf leer, bei 1 Umlauf Differenz voll
  3. CUm das zusätzliche Bit als Parität zu nutzen und Fehler in den Zeigern zu erkennen
Antwort und Erläuterung anzeigen

Antwort: B. Damit bei übereinstimmenden Zeigern unterschieden werden kann: im selben Umlauf leer, bei 1 Umlauf Differenz voll

Die Adressen von 16 Wörtern lassen sich mit 4 Bit darstellen; mit 4-Bit-Zeigern allein lässt sich bei übereinstimmender Lese- und Schreibadresse jedoch nicht unterscheiden, ob der FIFO leer ist, weil alles gelesen wurde, oder voll, weil um einen Umlauf weitergeschrieben und aufgeholt wurde. Fügt man ein 5. Bit als Umlaufbit hinzu, gilt beim binären Vergleich: Stimmen alle 5 Bit überein, ist er leer; unterscheidet sich nur das höchstwertige Bit, ist er voll. Bei Gray-codierten Zeigern ändert sich der Vergleich für die Voll-Erkennung etwas. Als Parität wird das Bit nicht genutzt.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Timing-Analyse und CDC

  1. Welche Bedingung zur Erkennung von „voll“ (full) auf der Schreibseite ist bei einem asynchronen FIFO mit 16 Wörtern Tiefe und 5-Bit-Gray-Code-Zeigern richtig?
  2. 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?
  3. Bei einem asynchronen FIFO mit 100 MHz auf der Schreibseite und 80 MHz auf der Leseseite schreibt die Schreibseite einen Burst von 100 Wörtern mit 1 Wort pro Zyklus, und die Leseseite liest 1 Wort pro Zyklus. Zwischen den Bursts gibt es ausreichende Pausen. Welche Tiefe ist mindestens erforderlich, um einen Überlauf zu vermeiden (Verzögerung durch Synchronisierung vernachlässigt)?
  4. Die Schreibseite schreibt mit 200 MHz einen Burst von 120 Wörtern mit 1 Wort pro Zyklus. Die Leseseite liest mit einem 150-MHz-Takt in nur 2 von 3 Zyklen je 1 Wort. Welche Tiefe ist mindestens erforderlich, um einen Überlauf zu vermeiden (Verzögerung durch Synchronisierung vernachlässigt)?
  5. Die Schreibseite arbeitet mit 250 MHz, die Leseseite mit 200 MHz, beide übertragen 1 Wort pro Zyklus. Welche Tiefe ist für einen FIFO, der einen Burst von 64 Wörtern aufnimmt, rechnerisch mindestens erforderlich (Verzögerung durch Synchronisierung vernachlässigt, Bruchteile werden aufgerundet)?