Hardwarebeschrijvingstalen en verificatie

Als sel in de bovenstaande beschrijving X (onbepaald) is, wordt in Verilog-simulatie b voor y gekozen. Welke reden waarom deze eigenschap bij verificatie een probleem is, is juist?

always @(*)
    if (sel) y = a;
    else     y = b;
  1. AOmdat y altijd X wordt en de simulatie stopt
  2. BOmdat bij sel gelijk aan X ook in de echte chip altijd b wordt gekozen
  3. COmdat X als 'onwaar' wordt behandeld en de bepaalde waarde b het resultaat is, zodat de fout dat sel onbepaald is in de simulatie niet zichtbaar wordt
Antwoord en toelichting tonen

Antwoord: C. Omdat X als 'onwaar' wordt behandeld en de bepaalde waarde b het resultaat is, zodat de fout dat sel onbepaald is in de simulatie niet zichtbaar wordt

De if-instructie van Verilog behandelt X als voorwaarde als onwaar en voert de else-tak uit. Daardoor krijgt y de bepaalde waarde b en blijft de fout dat sel onbepaald is in simulatie verborgen. In de echte schakeling is sel 0 of 1, en soms wordt a gekozen. Dit heet X-optimisme, en men pakt het aan door te schrijven op een manier die X doorgeeft en door assertions op te nemen die X detecteren.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Hardwarebeschrijvingstalen en verificatie

  1. Welke uitspraak over de beschrijving van tri-state, dat Z (hoge impedantie) uitvoert, in HDL is juist?
  2. Welke uitspraak over de testbench die bij HDL-verificatie wordt gebruikt is juist?
  3. Hoe groot is de periode van de klok die door de bovenstaande beschrijving in de testbench wordt gemaakt (tijdseenheid 1 ns)?
  4. 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?
  5. Welke uitspraak over de kenmerken van een zelfcontrolerende testbench is juist?

Vergelijkingen bij dit onderwerp