Timinganalyse en CDC

Wat is de juiste reden waarom in een asynchrone FIFO met een diepte van 16 woorden de schrijf- en leespointer 5 bits zijn, 1 bit meer dan het adres?

  1. AOmdat 5 bits nodig zijn om de adressen van 16 woorden weer te geven
  2. BOm bij gelijke pointers te kunnen onderscheiden: in dezelfde ronde is de FIFO leeg, bij één ronde verschil vol
  3. COm de extra bit als pariteit te gebruiken en fouten in de pointer te detecteren
Antwoord en toelichting tonen

Antwoord: B. Om bij gelijke pointers te kunnen onderscheiden: in dezelfde ronde is de FIFO leeg, bij één ronde verschil vol

16 woordadressen zijn met 4 bits weer te geven, maar met alleen 4-bit pointers is bij gelijke lees- en schrijfadressen niet te onderscheiden of de FIFO leeg is omdat alles is gelezen, of vol omdat er een hele ronde is geschreven en de schrijfpointer de leespointer heeft ingehaald. Wordt een vijfde bit toegevoegd die de ronde aangeeft, dan geldt bij binaire vergelijking: alle 5 bits gelijk betekent leeg, alleen de meest significante bit verschillend betekent vol. Bij Gray-codepointers verandert de vergelijking voor de vol-detectie iets. De bit wordt niet als pariteit gebruikt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Timinganalyse en CDC

  1. Welke voorwaarde om aan de schrijfkant vol (full) te detecteren is juist bij een asynchrone FIFO met een diepte van 16 woorden en 5-bit Gray-codepointers?
  2. In een asynchrone FIFO wordt de pointer van de andere kant gesynchroniseerd gebruikt, dus de zichtbare pointerwaarde is 2–3 cycli oud. Welk effect heeft deze vertraging juist op de full/empty-detectie?
  3. In een asynchrone FIFO met 100 MHz aan de schrijfkant en 80 MHz aan de leeskant schrijft de schrijfkant bursts van 100 woorden, elke cyclus 1 woord, en leest de leeskant elke cyclus 1 woord. Tussen de bursts is er voldoende rust. Wat is de minimale diepte om overlopen te voorkomen (vertraging door synchronisatie wordt genegeerd)?
  4. De schrijfkant schrijft op 200 MHz elke cyclus 1 woord, in bursts van 120 woorden. De leeskant leest met een klok van 150 MHz in 2 van elke 3 cycli 1 woord. Wat is de minimale diepte om overlopen te voorkomen (vertraging door synchronisatie wordt genegeerd)?
  5. Met 250 MHz aan de schrijfkant en 200 MHz aan de leeskant wordt aan beide kanten elke cyclus 1 woord overgedragen. Wat is de berekende minimale diepte van een FIFO die bursts van 64 woorden ontvangt (vertraging door synchronisatie wordt genegeerd, naar boven afronden)?