Timinganalyse en CDC

Wat is bij een 4-fasen-handshake met req en ack de juiste volgorde van de signalen bij het doorgeven van één data-item?

  1. Areq op 1 zetten en tegelijk de data beginnen te veranderen → ontvanger zet ack op 1 → req en ack tegelijk op 0 zetten
  2. BOntvanger zet eerst ack op 1 → verzender legt de data vast en zet req op 1 → ontvanger neemt de data over → req en ack tegelijk op 0 zetten
  3. CData vastleggen en req op 1 zetten → ontvanger neemt de data over en zet ack op 1 → req op 0 zetten → ack op 0 zetten
Antwoord en toelichting tonen

Antwoord: C. Data vastleggen en req op 1 zetten → ontvanger neemt de data over en zet ack op 1 → req op 0 zetten → ack op 0 zetten

Bij een 4-fasen-handshake gaan req en ack elk één keer omhoog en omlaag; met in totaal 4 veranderingen is één overdracht voltooid. De verzender legt de data vast en zet dan req hoog; de ontvanger ziet de gesynchroniseerde req, neemt de data over en zet ack hoog. De verzender ziet de gesynchroniseerde ack en zet req laag, en de ontvanger ziet dat req laag is geworden en zet ack laag. req en ack zijn 1 bit, dus ze kunnen veilig met een synchronisator met 2 trappen worden doorgegeven. Wordt req hoog gezet terwijl de data verandert, dan kan de ontvanger een waarde overnemen die nog aan het veranderen is.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Timinganalyse en CDC

  1. Wat is juist een nadeel van dataoverdracht tussen klokdomeinen met een handshake?
  2. Wat is de juiste reden waarom in een asynchrone FIFO de schrijf- en leespointer naar Gray-code worden omgezet voordat ze naar het andere domein worden gesynchroniseerd?
  3. Welke waarde is de omzetting van de 4-bit binaire waarde 0110 (decimaal 6) naar Gray-code?
  4. 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?
  5. 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?