Hardwarebeschrijvingstalen en verificatie

Welke uitspraak over het soort reset en de werking in de bovenstaande beschrijving is juist?

always @(posedge clk or negedge rst_n)
    if (!rst_n) q <= 0;
    else        q <= d;
  1. AEen synchrone reset, waarbij q alleen 0 wordt wanneer de klok stijgt terwijl rst_n 0 is
  2. BEen asynchrone reset, waarbij q direct 0 wordt zodra rst_n 0 wordt, zonder op de klok te wachten
  3. Cq wordt 0 wanneer rst_n 1 wordt
Antwoord en toelichting tonen

Antwoord: B. Een asynchrone reset, waarbij q direct 0 wordt zodra rst_n 0 wordt, zonder op de klok te wachten

Omdat 'negedge rst_n' in de sensitivity list staat, wordt het blok ook uitgevoerd op het moment dat rst_n van 1 naar 0 verandert, en wordt q onafhankelijk van de klok 0. Dit is een asynchrone reset. De '_n' in de naam is de conventie voor een signaal met negatieve logica dat bij 0 actief is. Een voordeel is dat ook resetten mogelijk is als de klok stilstaat, maar op het tijdstip waarop de reset wordt losgelaten moet worden gelet.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke uitspraak over het verschil tussen synchrone en asynchrone reset is juist?
  2. Waarom wordt in een schakeling met asynchrone reset het loslaten van de reset (verandering van 0 naar 1) met een flipflop van twee trappen op de klok gesynchroniseerd voordat het over de schakelingen wordt verdeeld?
  3. Welke uitspraak over de basisopbouw van een in HDL geschreven toestandsmachine (state machine) is juist?
  4. Wat is de juiste reden waarom in de bovenstaande beschrijving van een toestandsmachine aan het begin van het tweede always-blok 'next = state;' wordt geschreven?
  5. Welke uitspraak over de kenmerken van een toestandsmachine van het Mealy-type is juist?

Vergelijkingen bij dit onderwerp