Dieses „Getting Started“-Webinar konzentriert sich auf die ersten, wesentlichen Schritte, die Sie unternehmen müssen, wenn Sie Ihren VHDL-Testbench-Ansatz verbessern wollen. In diesem Webinar befassen wir uns mit transaktionsbasierten Tests, selbstüberprüfenden Tests, Messaging, Berichten und Open Source VHDL Verification Methodology (OSVVM) Hilfsprogrammen.

Die „Transaktion“ im transaktionsbasierten Testen ist nur ein schickes Wort für eine Abstraktion, die eine einzelne Aktion auf einer Schnittstelle darstellt – z. B. ein Send oder Get auf einer Streaming-Schnittstelle. Wir werden uns Alternativen für die Implementierung von Transaktionen ansehen – einschließlich der Verwendung der Model Independent Transaction Library von OSVVM. Die Verwendung von Transaktionen ist wichtig, weil sie die Entwicklung von Testfällen beschleunigen, die Wiederverwendung erhöhen und die Wartungskosten senken.

Die Selbstkontrolle ist in Testfällen unerlässlich, da die manuelle Überprüfung der Wellenformausgabe zeitaufwändig, fehleranfällig und stinklangweilig ist. Bei der Selbstkontrolle werden Fehler gezählt und nach Abschluss des Tests wird anhand der Zählung ein Pass/Fail-Bericht erstellt. Wenn wir Signale verwenden (und es kann eine Sammlung von Signalen geben, von denen sich einige in einer anderen Entität befinden können), müssen wir sie zusammenzählen und einen Fehlerbericht erstellen. Es ist jedoch leicht, einen solchen zu vergessen und eine falsche Bestehensbedingung anzugeben. OSVVM vereinfacht die Fehlerzählung und macht sie zuverlässig, indem es eine Datenstruktur in einem Paket erstellt und diese verwendet, um die Vielzahl der Fehlerquellen zu verfolgen. Der Pass/Fail-Bericht wird erstellt, indem die gesamte Datenstruktur auf Fehler untersucht wird – es wird also nichts übersehen. Wir können sogar einzelne Fehlerquellen verfolgen und melden, z. B. verschiedene Schnittstellen.

Beim Messaging (auch bekannt als Verbosity Control) geht es um die Erstellung detaillierter Informationsmeldungen bei der Fehlersuche und nur um Pass/Fail-Meldungen bei Regressionen. Da die Meldungen von verschiedenen Entitäten erzeugt werden können, benötigen wir Steuerelemente, die einen breiten Anwendungsbereich haben. Außerdem möchten wir vielleicht verschiedene Quellen von Meldungen unabhängig voneinander kontrollieren. OSVVM vereinfacht die Steuerung von Protokollmeldungen (Aktivieren/Deaktivieren), indem es dieselbe Datenstruktur verwendet, die wir auch für die Fehlerverfolgung einsetzen.

Bei Testberichten geht es darum, schnell herauszufinden, welche Tests in einer Testsuite fehlgeschlagen sind und warum. OSVVM erstellt zwei Ebenen von Testberichten. Der OSVVM-Erstellungsbericht gibt einen Überblick über den Status „bestanden/nicht bestanden“ für jeden einzelnen ausgeführten Testfall, und der OSVVM-Testfallbericht enthält Details zur Selbstüberprüfung, zur funktionalen Abdeckung und zur Scoreboard/FIFO-Nutzung für jeden Testfall. Bei der Ausführung von Testgruppen (z. B. bei Regressionstests) helfen uns diese Berichte, schnell herauszufinden, welche Testfälle fehlgeschlagen sind und warum.

Die OSVVM-Hilfsprogramme zielen auf die Vereinfachung der Testbench-Entwicklung mit Funktionen wie Takterzeugung, Reset-Generierung und Testfallentwicklung mit Synchronisationsprogrammen wie WaitForClock und WaitForBarrier.

Über OSVVM

OSVVM ist eine Suite von Bibliotheken, die es jedem VHDL-Ingenieur ermöglicht, VHDL-Testbenches und Testfälle sowohl für einfache Tests auf Unit/RTL-Ebene als auch für komplexe, randomisierte Tests auf Chip- oder Systemebene zu schreiben. OSVVM wurde von VHDL-Experten entwickelt, die aktiv an der Entwicklung von VHDL-Standards mitwirken, um VHDL mit Verifikationsfunktionen auszustatten, die mit SystemVerilog + UVM konkurrieren können.

Wenn Sie Ihr gesamtes Team dazu bringen, OSVVM zu verwenden, wird der Einsatz von VHDL-Ingenieuren in Projekten vereinfacht. Warum VHDL für die Verifikation? Laut der Studie der Wilson Research Group zur funktionalen Verifikation aus dem Jahr 2022 verwenden 66 % des FPGA-Marktes VHDL für das Design, 58 % VHDL für die Verifikation und 28 % OSVVM. Somit ist VHDL die Nummer 1 für die FPGA-Entwicklung und OSVVM die Nummer 1 für die VHDL-Verifikation.

Optimierung der FPGA-Entwurfsarchitektur

Die FPGA-Entwurfsarchitektur ist der wichtigste und primäre Faktor, wenn es darum geht, Entwicklungseffizienz, Qualität und Zuverlässigkeit zu erreichen. Der Unterschied zwischen einer guten und einer schlechten Design-Architektur kann etwa 50 % des Arbeitsaufwands ausmachen.

mehr lesen