Hardwarebeschrijvingstalen en verificatie

Welke uitspraak over de schakeling die door logische synthese uit de bovenstaande Verilog-beschrijving ontstaat, is juist?

always @(posedge clk)
    q <= d;
  1. AEen AND-schakeling van d en clk
  2. BEen D-flipflop die d overneemt bij de stijgende flank van de klok
  3. CEen latch die d doorlaat zolang de klok 1 is
Antwoord en toelichting tonen

Antwoord: B. Een D-flipflop die d overneemt bij de stijgende flank van de klok

'always @(posedge clk)' betekent dat de toekenning erin alleen op het moment van de stijgende klokflank wordt uitgevoerd, en logische synthese maakt hiervan een flipflop die op de flank werkt. q houdt de waarde van d op het moment van de stijgende klokflank vast tot de volgende stijgende flank. In synchrone schakelingen wordt vrijwel al het geheugen zo geschreven. Het moet worden onderscheiden van een latch, die niet op de klokflank maar op het niveau werkt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke uitspraak over de werking van de niet-blokkerende toekenning (<=) in Verilog is juist?
  2. In de bovenstaande beschrijving waren vlak vóór de stijgende klokflank a=0 en b=1. Wat zijn de waarden van a en b na de stijgende flank?
  3. Bedoeld als een tweetraps schuifregister is het zoals hierboven geschreven met blokkerende toekenning (=). Welk probleem treedt op?
  4. Welke algemene richtlijn voor het onderscheiden van soorten toekenning in Verilog is juist?
  5. Welke uitspraak over de betekenis van 'always @(*)' in Verilog is juist?

Vergelijkingen bij dit onderwerp