Timinganalyse en CDC
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)?
- A80 woorden
- B25 woorden
- C20 woorden
Antwoord en toelichting tonen
Antwoord: C. 20 woorden
Het schrijven van 100 woorden duurt 100 × 10 ns = 1000 ns. In die tijd kan de leeskant 1000 ns ÷ 12,5 ns = 80 woorden lezen, dus er blijven maximaal 100 − 80 = 20 woorden in de FIFO. Als formule: burstlengte × (1 − leessnelheid ÷ schrijfsnelheid) = 100 × (1 − 80 ÷ 100) = 20. 80 woorden is de hoeveelheid die in die tijd kan worden gelezen, 25 woorden de waarde waarbij het snelheidsverschil van 20 MHz door de 80 MHz van de leeskant is gedeeld. In een echt ontwerp wordt marge voor de synchronisatievertraging toegevoegd.