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?
- AOmdat 5 bits nodig zijn om de adressen van 16 woorden weer te geven
- BOm bij gelijke pointers te kunnen onderscheiden: in dezelfde ronde is de FIFO leeg, bij één ronde verschil vol
- 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.