Hardwarebeschreibungssprachen und Verifikation
Welche Aussage zur Constrained-Random-Verifikation in SystemVerilog ist korrekt?
- AEingabewerte werden zufällig innerhalb der von der Spezifikation erlaubten Bereiche und Kombinationsbedingungen (Constraints) erzeugt und breit erprobt, auch in Fällen, die sich ein Mensch nicht ausdenkt
- BEingabewerte werden völlig willkürlich erzeugt, und es werden viele Werte außerhalb der Spezifikation zugeführt
- CAlle Eingabewerte werden von Hand geschrieben
Antwort und Erläuterung anzeigen
Antwort: A. Eingabewerte werden zufällig innerhalb der von der Spezifikation erlaubten Bereiche und Kombinationsbedingungen (Constraints) erzeugt und breit erprobt, auch in Fällen, die sich ein Mensch nicht ausdenkt
Mit nur von Menschen ausgedachten Tests (gerichtete Tests) werden Fehler in Kombinationen, die der Entwerfer nicht vorhergesehen hat, leicht übersehen. Bei der Constrained-Random-Verifikation werden Constraints wie „Adresse ist ein Vielfaches von 4“ oder „Länge 1 bis 256“ geschrieben und innerhalb dieser zufällig Eingaben erzeugt, sodass sich mit ausschließlich sinnvollen Eingaben viele Fälle erproben lassen. Welche Fälle erprobt wurden, wird über Coverage gemessen, und Lücken werden durch geänderte Constraints oder gerichtete Tests geschlossen.