Wat is SystemVerilog?

Taal die Verilog uitbreidt. Heeft ontwerpmogelijkheden zoals het type logic en always_ff en always_comb, en verificatiemogelijkheden zoals klassen, constrained random en assertions.

Japanse benaming: SystemVerilog

“SystemVerilog” komt voor in 10 oefenvragen uit 2 onderwerpen, bijv. Hardwarebeschrijvingstalen en verificatie, LSI-ontwerpflow en EDA.

Vakgebied: Hardwarebeschrijvingstalen en verificatie

Nu oefenen: vragen over SystemVerilog

Welke standaardmethodiek wordt bij verificatie met SystemVerilog gebruikt om een goed herbruikbare testomgeving (testbench) op te bouwen?

  1. AOPC
  2. BCMP
  3. CUVM (Universal Verification Methodology)
Antwoord en toelichting tonen

Antwoord: C. UVM (Universal Verification Methodology)

UVM is een standaardmethodiek met een klassenbibliotheek waarmee in SystemVerilog een testbench wordt opgebouwd uit onderdelen, zoals een driver die ingangen aanstuurt, een monitor die uitgangen bewaakt en een scoreboard dat met verwachte waarden vergelijkt. De onderdelen kunnen ook voor de verificatie van andere ontwerpen worden hergebruikt, en het genereren van invoer met beperkte willekeur en het verzamelen van coverage zijn gemakkelijk in te bouwen. Het is gestandaardiseerd als IEEE 1800.2. OPC en CMP zijn productietechnieken.

Welke uitspraak over beperkte willekeurige verificatie (constrained-random) in SystemVerilog is juist?

  1. AIngangswaarden worden willekeurig gemaakt binnen het bereik en de combinatievoorwaarden (beperkingen) die de specificatie toestaat, zodat breed wordt getest, ook geval die een mens niet bedenkt
  2. BIngangswaarden worden volledig willekeurig gemaakt en er worden ook veel waarden gegeven die niet in de specificatie staan
  3. CAlle ingangswaarden worden met de hand door een mens geschreven
Antwoord en toelichting tonen

Antwoord: A. Ingangswaarden worden willekeurig gemaakt binnen het bereik en de combinatievoorwaarden (beperkingen) die de specificatie toestaat, zodat breed wordt getest, ook geval die een mens niet bedenkt

Met alleen door mensen bedachte tests (gerichte tests) worden gemakkelijk defecten in combinaties gemist die de ontwerper niet had voorzien. Bij constrained-random-verificatie worden beperkingen geschreven zoals 'het adres is een veelvoud van 4' of 'de lengte is 1 tot 256', en worden daarbinnen willekeurig ingangen gemaakt, zodat met alleen zinvolle ingangen veel gevallen worden uitgeprobeerd. Welke gevallen zijn getest wordt met coverage gemeten, en wat ontbreekt wordt aangevuld door beperkingen te wijzigen of met gerichte tests.

“SystemVerilog” in de toelichting

Vragen met “SystemVerilog” (10)

  1. Welke standaardmethodiek wordt bij verificatie met SystemVerilog gebruikt om een goed herbruikbare testomgeving (testbench) op te bouwen?
  2. Welke uitspraak over beperkte willekeurige verificatie (constrained-random) in SystemVerilog is juist?
  3. Welk voordeel van het logic-type van SystemVerilog is juist?
  4. Welk voordeel van het gebruik van always_ff en always_comb van SystemVerilog in plaats van always van Verilog is juist?
  5. Welke hardwarebeschrijvingstaal wordt vooral gebruikt bij RTL-ontwerp?
  6. Welke methode beschrijft eigenschappen waaraan het ontwerp moet voldoen (bijvoorbeeld "als een verzoek komt, binnen 3 cycli antwoorden") en laat die tijdens simulatie of formele verificatie automatisch controleren?
  7. Welke uitspraak over het verschil tussen het wire-type en het reg-type in Verilog is juist?
  8. Welke uitspraak over de betekenis van 'always @(*)' in Verilog is juist?
  9. Welke schrijfwijze wordt veel gebruikt om onbedoelde latches in een always-blok van een combinatorische schakeling te voorkomen?
  10. Als in een testbench de ingangen van de schakeling met blokkerende toekenning op hetzelfde tijdstip als de stijgende klokflank worden gewijzigd, kan een probleem ontstaan. Welke combinatie van de belangrijkste reden en de tegenmaatregel is juist?

Vergelijkingen met deze term

Verwante termen

Verilog Combinatorische schakeling Testbench Flipflop OPC (optical proximity correction) CMP Constrained-random-verificatie Hardwarebeschrijvingstaal (HDL) RTL (register transfer level) Dicing

Naar de woordenlijst