Timinganalyse en CDC
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?
- ADe bovenste 2 bits van de schrijfpointer en de gesynchroniseerde leespointer zijn elk tegengesteld en de onderste 3 bits zijn gelijk
- BAlle 5 bits van de schrijfpointer en de gesynchroniseerde leespointer zijn gelijk
- CAlleen de meest significante bit van de schrijfpointer en de gesynchroniseerde leespointer is tegengesteld en de onderste 4 bits zijn allemaal gelijk
Antwoord en toelichting tonen
Antwoord: A. De bovenste 2 bits van de schrijfpointer en de gesynchroniseerde leespointer zijn elk tegengesteld en de onderste 3 bits zijn gelijk
Binair is de FIFO vol als de schrijfpointer precies 16 voor de leespointer ligt; dan verschilt alleen de meest significante bit. Omgezet naar Gray-code wordt de meest significante bit gewoon omgekeerd, keert de tweede bit, die met een XOR met de meest significante bit wordt gevormd, mee om, en blijven de onderste 3 bits gelijk. Is de leespointer bijvoorbeeld 00000, dan is de schrijfpointer bij vol 11000. Alleen de meest significante bit tegengesteld is de voorwaarde voor het binaire geval, en alle 5 bits gelijk is de voorwaarde voor leeg (empty).