Hardwarebeschrijvingstalen en verificatie

Welke schrijfwijze wordt veel gebruikt om onbedoelde latches in een always-blok van een combinatorische schakeling te voorkomen?

  1. AZoveel mogelijk voorwaardelijke takken schrijven en else weglaten
  2. BAan het begin van het blok aan alle uitgangssignalen een standaardwaarde toekennen en daarna de voorwaardelijke takken schrijven
  3. CAlle uitgangssignalen als wire declareren en in always toekennen
Antwoord en toelichting tonen

Antwoord: B. Aan het begin van het blok aan alle uitgangssignalen een standaardwaarde toekennen en daarna de voorwaardelijke takken schrijven

Als aan het begin van het blok aan uitgangen standaardwaarden worden gegeven, zoals 'y = 0; valid = 0;', is bij elk pad door de latere voorwaardelijke takken in elk geval de standaardwaarde toegekend, zodat geen waarde behouden hoeft te worden en geen latch ontstaat. Het is vooral nuttig bij de beschrijving van uitgangen van toestandsmachines met veel voorwaarden. Met always_comb van SystemVerilog waarschuwt de tool als er een latch ontstaat.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke van de volgende Verilog-beschrijvingen wordt door logische synthese niet tot een schakeling gemaakt maar genegeerd (een beschrijving voor simulatie)?
  2. Wat voor schakeling ontstaat als de bovenstaande beschrijving, die het aantal enen in de 8-bits d telt, logisch wordt gesynthetiseerd?
  3. Welke uitspraak over het soort reset en de werking in de bovenstaande beschrijving is juist?
  4. Welke uitspraak over het verschil tussen synchrone en asynchrone reset is juist?
  5. 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?

Vergelijkingen bij dit onderwerp