2025-11-16T06:52:11.231184

VerilogReader: LLM-Aided Hardware Test Generation

Ma, Yang, Liu et al.
Test generation has been a critical and labor-intensive process in hardware design verification. Recently, the emergence of Large Language Model (LLM) with their advanced understanding and inference capabilities, has introduced a novel approach. In this work, we investigate the integration of LLM into the Coverage Directed Test Generation (CDG) process, where the LLM functions as a Verilog Reader. It accurately grasps the code logic, thereby generating stimuli that can reach unexplored code branches. We compare our framework with random testing, using our self-designed Verilog benchmark suite. Experiments demonstrate that our framework outperforms random testing on designs within the LLM's comprehension scope. Our work also proposes prompt engineering optimizations to augment LLM's understanding scope and accuracy.
academic

VerilogReader: LLM-gestützte Hardwaretestgenerierung

Grundinformationen

Zusammenfassung

Die Testgenerierung ist seit jeher ein kritischer und arbeitsintensiver Prozess in der Hardwareverifikation. In den letzten Jahren haben große Sprachmodelle (LLM) mit ihren fortgeschrittenen Verständnis- und Reasoning-Fähigkeiten neue Ansätze in diesem Bereich eingeführt. Diese Forschung untersucht die Integration von LLM in den Coverage-Driven Generation (CDG)-Prozess, wobei das LLM als Verilog-Code-Leser fungiert, um die Code-Logik genau zu verstehen und Stimuli zu generieren, die unerforschte Code-Branches erreichen können. Die Autoren vergleichen das Framework mit zufälligen Tests unter Verwendung einer selbst entworfenen Verilog-Benchmark-Suite. Die Experimente zeigen, dass das Framework bei Designs im Verständnisbereich des LLM zufällige Tests übertrifft, und es werden Prompt-Engineering-Optimierungen vorgeschlagen, um den Verständnisbereich und die Genauigkeit des LLM zu verbessern.

Forschungshintergrund und Motivation

Problemhintergrund

  1. Bedeutung der Hardwareverifikation: Mit der zunehmenden Komplexität von Hardware wird die Hardwareverifikation im Entwicklungsprozess immer wichtiger. Nicht erkannte Hardwarefehler können zu schwerwiegenden Folgen und enormen wirtschaftlichen Verlusten führen.
  2. Bestehende Verifikationsmethoden: Ingenieure verwenden hauptsächlich zwei Verifikationsmethoden:
    • Formale Verifikation: Verwendung mathematischer Techniken zum Nachweis der Systemkorrektheit
    • Dynamische Verifikation: Generierung vielfältiger Testfälle zur Simulation des zu testenden Designs (DUT)
  3. Herausforderungen bei der Testgenerierung: Die Erreichung von Abdeckungszielen erfordert hochwertige Testeingaben, was Verifikationsingenieuren eine enorme Arbeitsbelastung auferlegt.

Forschungsmotivation

  1. Automatisierungsbedarf: Um menschliche Eingriffe zu reduzieren, ist Coverage-Driven Generation (CDG) zu einer Schlüsseltechnologie für die automatisierte Hardwaretestgenerierung geworden.
  2. LLM-Chancen: Die starken Fähigkeiten von LLM im Verständnis und Reasoning bieten neue Möglichkeiten für die Hardwaretestgenerierung.
  3. Differenzierte Positionierung: Im Gegensatz zu früheren Arbeiten, die sich auf funktionale Abdeckungspunkte konzentrierten, konzentriert sich dieses Papier auf Code-Coverage als grundlegenderes Testziel und positioniert das LLM als "VerilogReader".

Kernbeiträge

  1. Open-Source-Framework: Erstmals ein Framework veröffentlicht, das LLM in den CDG-Prozess integriert, wobei das LLM als VerilogReader zur Verständnis von Verilog-Code und Coverage verwendet wird, mit dem Ziel, Tests mit geschlossener Code-Coverage zu generieren.
  2. Prompt-Optimierungsmodul: Vorschlag der Module Coverage Explainer und DUT Explainer zur Anreicherung von Prompts, um das LLM-Verständnis von Design und Testabsicht zu verbessern und die Skalierbarkeit des Frameworks zu erhöhen.
  3. Benchmark-Suite: Erstellung einer Benchmark-Suite mit 24 Verilog-Designs auf einfacher, mittlerer und komplexer Ebene. Experimente zeigen, dass das Framework bei einfachen und mittleren DUTs zufällige Tests übertrifft.
  4. Erkundung von Fähigkeitsgrenzen: Klare Definition der maximalen Fähigkeitsgrenzen aktueller LLM beim Verilog-Lesen.

Methodische Details

Aufgabendefinition

Die Aufgabe dieses Papiers besteht darin, das LLM zur Verständnis der Verilog-Code-Logik und des aktuellen Abdeckungsstatus zu nutzen, um Multi-Zyklus-Eingabereize zu generieren, die nicht abgedeckte Code-Branches auslösen können, um die Code-Coverage zu verbessern.

Modellarchitektur

Grundlegendes Framework

Das gesamte Framework verwendet einen iterativen CDG-Prozess mit den folgenden Kernkomponenten:

  1. LLM-Kern: Generiert in jeder Iteration JSON-formatierte Multi-Zyklus-Eingaben
  2. Eingabe-Decoder: Dekodiert JSON-formatierte Eingaben in Hardware-Reize
  3. Coverage-Monitor: Stellt aktuelle Code-Coverage-Informationen bereit
  4. Erklärer-Module: Einschließlich Coverage Explainer und DUT Explainer

Prompt Generator

Verwendet einen Zwei-Runden-Frage-Antwort-Mechanismus:

  • Erste Runde: Informiert das LLM über Testziele, stellt DUT-Informationen und Coverage-Daten bereit, LLM antwortet in natürlicher Sprache
  • Zweite Runde: Leitet das LLM an, die Antwort in standardisiertes JSON-Format umzuwandeln

Coverage Explainer

Konvertiert komplexe Coverage-Berichte in ein für LLM verständliches Format:

  1. Originalformat: Verilator-Coverage-Bericht mit eindeutigen Identifikatoren und Hit-Zählern
  2. Annotiertes Format: Mit dem verilator_coverage-Tool erstellter kommentierter Bericht
  3. LLM-lesbares Format: Speziell entworfenes Format, das nicht abgedeckte Zeilen mit dem Flag 'TO BE COVERED' markiert

DUT Explainer

Bietet zwei Funktionen zur Verbesserung des LLM-Verständnisses des DUT:

  1. Design-Beschreibung: Bietet natürlichsprachliche Erklärungen der DUT-Funktionalität und internen Logik
  2. Test-Anleitung: Bietet ergänzende Informationen und grundlegende Test-Logik-Regeln zur Erstellung spezifischer DUT-Tests

Technische Innovationen

  1. Code-Coverage-Fokus: Erstmalige Anwendung von LLM auf Hardware-Code-Coverage statt funktionaler Abdeckungspunkte
  2. Stufenweise Verarbeitung: Zerlegung der Testgenerierungsaufgabe in zwei Phasen: DUT-Verständnis und Eingabe-Logik-Reasoning
  3. Natürlichsprachliche Markierung: Verwendung natürlichsprachlicher Markierungen für nicht abgedeckte Zeilen, um das LLM-Reasoning zu vereinfachen
  4. Zwei-Runden-Interaktion: Förderung des schrittweisen Denkprozesses des LLM durch Zwei-Runden-Frage-Antwort

Experimentelle Einrichtung

Datensatz

Selbst erstellte Benchmark-Suite mit 24 Verilog-Designs in drei Schwierigkeitsstufen:

  1. Einfache Ebene (s01-s10): 10 grundlegende kombinatorische Logikschaltungen (Multiplexer, ALU usw.)
  2. Mittlere Ebene (m01-m08): 8 sequenzielle Logikschaltungen (FSM, Zähler, Arbiters usw.)
  3. Komplexe Ebene (c01-c06): 6 großflächige FSM-Schaltungen (16-128 Zustände)

Bewertungsmetriken

  • Hauptmetrik: Gesamtlänge der Eingabereize, die zur Erreichung vollständiger Coverage erforderlich sind (in Taktzyklen gemessen)
  • Coverage: Prozentsatz der Zeilenabdeckung
  • Zeiteffizienz: Anzahl der Iterationen zur Erreichung der Zielabdeckung

Vergleichsmethoden

  • Zufälliger Test: Als Basis-Vergleichsmethode
  • Verschiedene Coverage-Berichtsformate: Originalformat, annotiertes Format, LLM-lesbares Format

Implementierungsdetails

  • Sprachmodelle: OpenAI GPT-4 und GPT-4-Turbo-0125
  • Simulator: Verilator
  • Code-Analyse: Pyverilog
  • Experimentwiederholungen: Jedes Experiment wird 5-mal wiederholt, um die Zufälligkeit des LLM zu berücksichtigen

Experimentelle Ergebnisse

Hauptergebnisse

Vergleich der Coverage-Erklärungsmethoden

Experimentelle Ergebnisse mit GPT-4 auf mittleren DUTs zeigen:

  • LLM-lesbare Coverage-Berichte sind deutlich besser als Original- und annotierte Formate
  • Ursprüngliche unleserliche Coverage-Berichte stellen die größte Herausforderung für das LLM dar
  • Das natürlichsprachliche Flag 'TO BE COVERED' verbessert das Verständnis effektiv

Vergleich mit zufälligen Tests

Experimentelle Ergebnisse auf einfachen und mittleren DUTs zeigen:

  • Das LLM-Framework erreicht 100% Coverage mit deutlich weniger Eingaben
  • Zufällige Tests können bei sequenziellen Designs mit schwer erreichbaren Branches oft nicht innerhalb einer Minute vollständige Coverage erreichen
  • GPT-4 und GPT-4-Turbo zeigen ähnliche Leistung bei Hardwaretestgenerierungsaufgaben

Optimierungseffekte der DUT-Erklärung

  • Design-Beschreibung: Von LLM generierte Design-Beschreibungen verbessern das Design-Verständnis während der Testgenerierung
  • Test-Anleitung: Inkonsistente Effekte, in einigen Designs (m05, m06) wird sogar die Eingabevielfalt reduziert

LLM-Skalierbarkeitsanalyse

Experimentelle Ergebnisse für komplexe FSM-Ebene zeigen:

  • 16-Zustands-FSM: Nähert sich nach 20 Iterationen 100% Zeilenabdeckung
  • 64+ Zustands-FSM: Coverage kann 50% nicht überschreiten
  • Mit zunehmender DUT-Größe sinkt die Testgenerierungsqualität dramatisch

Experimentelle Erkenntnisse

  1. LLM zeigt hervorragende Leistung bei einfachen und mittelmäßig komplexen Designs
  2. Aktuelle LLM haben deutliche Einschränkungen bei der Verarbeitung großflächiger Verilog-Designs
  3. Angemessenes Prompt-Engineering kann die LLM-Leistung erheblich verbessern
  4. Das Coverage-Berichtsformat ist für das LLM-Verständnis entscheidend

Verwandte Arbeiten

Traditionelle CDG-Methoden

  • Erkundung des Eingaberaums basierend auf heuristischen Methoden
  • Verwendung des Coverage-Status als grundlegendes Feedback zur Generierung neuer Testfälle
  • Nutzung von Schaltkreisstrukturinformationen (Kontroll-/Datenflussgraphen, Modulverbindungsgraphen) zur Testgenerierungsleitung

LLM-Anwendungen im Hardwarebereich

  • RTL-Schreiben: Automatische Generierung von Hardware-Beschreibungssprachencodes
  • Assertion-Generierung: Generierung von Verifikationsassertionen
  • Fehlerkorrektur: Korrektur von Fehlern in Hardwaredesigns
  • Funktionale Verifikation: Arbeiten zur Verifikation von Funktionsabdeckungspunkten von Zhang et al.

Differenzierte Positionierung dieses Papiers

Im Gegensatz zu früheren Arbeiten, die sich auf hochrangige funktionale Testplanungsbeschreibungen konzentrierten, konzentriert sich dieses Papier auf grundlegendere Code-Coverage-Ziele und erfordert ein tiefes LLM-Verständnis der Verilog-Code-Logik.

Schlussfolgerungen und Diskussion

Hauptschlussfolgerungen

  1. LLM kann einfache und mittelmäßig komplexe Verilog-Designs effektiv verstehen und gezielte Testeingaben generieren
  2. Angemessenes Prompt-Engineering (besonders Coverage-Erklärung) ist entscheidend für die LLM-Leistung
  3. Aktuelle LLM haben deutliche Einschränkungen bei der Verarbeitung großflächiger, komplexer Hardwaredesigns

Einschränkungen

  1. Größenbeschränkung: Bei Designs mit über 100 Codezeilen sinkt die LLM-Leistung erheblich
  2. Strukturverständnis: LLM haben Schwierigkeiten, die hochgradig strukturierte Natur von Verilog zu verstehen
  3. End-to-End-Anwendung: Die direkte Anwendung von LLM in industriellen Hardwaredesigns bleibt herausfordernd

Zukünftige Richtungen

  1. Verbesserter DUT Explainer: Bereitstellung umfassenderer hochrangiger Design-Abstraktionen und Verifikationsabsichten
  2. Multimodale Fusion: Kombination von LLM und Graph Neural Networks (GNN), wobei LLM für semantische Interpretation und GNN für Strukturinformationen verwendet werden
  3. Hierarchische Verarbeitung: Anleitung des LLM aus makroskopischer Perspektive zur Bewältigung von Testgenerierungsaufgaben

Tiefgreifende Bewertung

Stärken

  1. Hohe Innovativität: Erstmalige Anwendung von LLM auf Hardwarecode-Coverage-Testgenerierung mit klarer Positionierung
  2. Systematischer Ansatz: Vorschlag eines vollständigen Frameworks mit mehreren Optimierungsmodulen
  3. Umfangreiche Experimente: Konstruktion einer mehrstufigen Benchmark-Suite mit angemessenem Experimentdesign
  4. Open-Source-Beitrag: Bereitstellung eines Open-Source-Frameworks zur Förderung der Feldentwicklung
  5. Grenzenerkundung: Klare Definition der Grenzen aktueller LLM-Fähigkeiten

Mängel

  1. Größenbeschränkung: Nur bei relativ einfachen Designs wirksam, noch weit entfernt von praktischen Industrieanwendungen
  2. Benchmark-Einschränkung: Selbst erstellte Benchmarks könnten unvollständig sein, Vergleich mit industriellen Standard-Benchmarks fehlt
  3. Kostenanalyse: Detaillierter Vergleich der LLM-Aufrufskosten mit traditionellen Methoden fehlt
  4. Theoretische Analyse: Mangelnde tiefgreifende theoretische Analyse, warum LLM bei dieser Aufgabe wirksam sind

Auswirkungen

  1. Akademischer Wert: Eröffnet neue Anwendungsrichtungen für LLM im Hardwareverifikationsbereich
  2. Praktisches Potenzial: Hat praktischen Anwendungswert in Bildung und Verifikation mittlerer Designs
  3. Inspirationskraft: Bietet wertvolle Baselines und Ideen für nachfolgende Forschung

Anwendungsszenarien

  1. Bildungsumgebung: Geeignet für automatisierte Testgenerierung in Hardwaredesign-Kursen
  2. Prototyp-Verifikation: Anwendbar für schnelle Verifikation in frühen Designphasen
  3. Designs mittlerer Größe: Praktischer Wert für Verilog-Module unter 100 Zeilen
  4. Hilfswerkzeug: Kann als Hilfswerkzeug für Verifikationsingenieure zur Verringerung der Arbeitsbelastung dienen

Literaturverzeichnis

Das Papier zitiert 19 verwandte Arbeiten, die formale Verifikation, dynamische Verifikation, CDG-Methoden und LLM-Anwendungen im Hardwarebereich abdecken und eine solide theoretische Grundlage für die Forschung bieten.


Gesamtbewertung: Dies ist eine innovative Arbeit im Schnittstellenbereich zwischen LLM und Hardwareverifikation. Obwohl es bei der Skalierung noch Einschränkungen gibt, bietet es wertvolle Erkundungen und Grundlagen für die Feldentwicklung. Das Papier hat eine systematische Methodik, umfangreiche Experimente und klare Open-Source-Beiträge mit gutem akademischem Wert und Inspirationskraft.