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: Génération de Tests Matériels Assistée par LLM

Informations Fondamentales

Résumé

La génération de tests a toujours été un processus critique et laborieux dans la vérification de la conception matérielle. Ces dernières années, les grands modèles de langage (LLM) ont introduit de nouvelles approches dans ce domaine grâce à leurs capacités avancées de compréhension et de raisonnement. Cette étude explore l'intégration des LLM dans le processus de génération de tests orientée couverture (CDG), où le LLM agit en tant que lecteur de code Verilog, comprenant précisément la logique du code et générant des stimuli capables d'atteindre les branches de code inexplorées. Les auteurs comparent ce cadre aux tests aléatoires en utilisant une suite de référence Verilog conçue sur mesure. Les expériences démontrent que le cadre surpasse les tests aléatoires sur les conceptions dans la portée de compréhension du LLM, et proposent des optimisations d'ingénierie des invites pour améliorer la portée et la précision de la compréhension du LLM.

Contexte et Motivation de la Recherche

Contexte du Problème

  1. Importance de la vérification matérielle: Avec la complexité croissante du matériel, la vérification matérielle devient de plus en plus importante dans le processus de développement. Les erreurs matérielles non détectées peuvent entraîner des conséquences graves et des pertes économiques considérables.
  2. Méthodes de vérification existantes: Les ingénieurs emploient principalement deux approches de vérification:
    • Vérification formelle: utilisation de techniques mathématiques pour prouver la correction du système
    • Vérification dynamique: génération de cas de test diversifiés pour simuler la conception à tester (DUT)
  3. Défis de la génération de tests: La réalisation des objectifs de couverture nécessite des entrées de test de haute qualité, ce qui impose une charge de travail considérable aux ingénieurs de vérification.

Motivation de la Recherche

  1. Besoin d'automatisation: Pour réduire l'intervention manuelle, la génération de tests orientée couverture (CDG) est devenue une technologie clé pour automatiser la génération de tests matériels.
  2. Opportunités des LLM: Les capacités puissantes des LLM en matière de compréhension et de raisonnement offrent de nouvelles opportunités dans le domaine de la génération de tests matériels.
  3. Positionnement différencié: Contrairement aux recherches antérieures axées sur les points de couverture fonctionnelle, cet article se concentre sur la couverture de code, un objectif de test plus fondamental, positionnant le LLM en tant que « VerilogReader ».

Contributions Principales

  1. Cadre open-source: Premier cadre open-source intégrant les LLM dans le processus CDG, utilisant le LLM comme VerilogReader pour comprendre le code Verilog et la couverture, visant à générer des tests fermant la couverture de code.
  2. Module d'optimisation des invites: Propose les modules Coverage Explainer et DUT Explainer pour enrichir les invites, améliorant la compréhension du LLM concernant la conception et l'intention des tests, augmentant la scalabilité du cadre.
  3. Suite de référence: Crée une suite de référence contenant 24 conceptions Verilog de niveaux simple, moyen et complexe. Les expériences démontrent que le cadre surpasse les tests aléatoires sur les DUT de niveaux simple et moyen.
  4. Exploration des limites des capacités: Établit clairement les limites maximales des capacités actuelles des LLM en matière de lecture Verilog.

Détails de la Méthode

Définition de la Tâche

La tâche de cet article consiste à utiliser le LLM pour comprendre la logique du code Verilog et l'état de couverture actuel, générant des stimuli d'entrée multi-cycles capables de déclencher les branches de code non couvertes, afin d'améliorer la couverture de code.

Architecture du Modèle

Cadre Fondamental

L'ensemble du cadre adopte un processus CDG itératif, comprenant les composants principaux suivants:

  1. Noyau LLM: Génère des entrées multi-cycles au format JSON à chaque itération
  2. Décodeur d'entrée: Décode les entrées au format JSON en stimuli matériels
  3. Moniteur de couverture: Fournit les informations de couverture de code actuelles
  4. Modules d'explication: Incluant Coverage Explainer et DUT Explainer

Générateur d'Invites

Adopte un mécanisme de questions-réponses en deux tours:

  • Premier tour: Informe le LLM de l'objectif de test, fournit les informations DUT et les données de couverture, le LLM répond en langage naturel
  • Deuxième tour: Guide le LLM pour convertir la réponse en format JSON standardisé

Coverage Explainer

Convertit les rapports de couverture complexes en format compréhensible par le LLM:

  1. Format brut: Rapport de couverture Verilator, contenant des identifiants uniques et des compteurs de coups
  2. Format annoté: Rapport annoté créé à l'aide de l'outil verilator_coverage
  3. Format lisible par LLM: Format spécialement conçu, ajoutant des drapeaux 'TO BE COVERED' aux lignes non couvertes

DUT Explainer

Fournit deux fonctionnalités pour améliorer la compréhension du LLM concernant le DUT:

  1. Description de conception: Fournit une explication en langage naturel de la fonctionnalité DUT et de la logique interne
  2. Guidance de test: Fournit des informations supplémentaires et des règles de logique de test fondamentales pour créer des tests DUT spécifiques

Points d'Innovation Technique

  1. Accent sur la couverture de code: Première application du LLM à la couverture de code matériel plutôt qu'aux points de couverture fonctionnelle
  2. Traitement par étapes: Décompose la tâche de génération de tests en deux phases: compréhension du DUT et raisonnement de logique d'entrée
  3. Marquage en langage naturel: Utilise le marquage en langage naturel pour les lignes non couvertes, simplifiant le processus de raisonnement du LLM
  4. Interaction bidirectionnelle: Favorise le processus de réflexion progressive du LLM par le biais d'un dialogue en deux tours

Configuration Expérimentale

Ensemble de Données

Suite de référence auto-construite contenant 24 conceptions Verilog, divisées en trois niveaux de difficulté:

  1. Niveau simple (s01-s10): 10 circuits logiques combinatoires de base (multiplexeurs, ALU, etc.)
  2. Niveau moyen (m01-m08): 8 circuits logiques séquentiels (FSM, compteurs, arbitres, etc.)
  3. Niveau complexe (c01-c06): 6 circuits FSM à grande échelle (16-128 états)

Métriques d'Évaluation

  • Métrique principale: Longueur totale des stimuli d'entrée nécessaires pour atteindre la couverture complète (mesurée en cycles d'horloge)
  • Couverture: Pourcentage de couverture de ligne
  • Efficacité temporelle: Nombre d'itérations nécessaires pour atteindre la couverture cible

Méthodes de Comparaison

  • Tests aléatoires: Méthode de référence pour la comparaison
  • Différents formats de rapports de couverture: Format brut, format annoté, format lisible par LLM

Détails d'Implémentation

  • Modèles de langage: OpenAI GPT-4 et GPT-4-Turbo-0125
  • Simulateur: Verilator
  • Analyse de code: Pyverilog
  • Répétition d'expériences: Chaque expérience répétée 5 fois pour gérer l'aléatoire du LLM

Résultats Expérimentaux

Résultats Principaux

Comparaison des Méthodes d'Explication de Couverture

Les résultats expérimentaux utilisant GPT-4 sur les DUT de niveau moyen montrent:

  • Le rapport de couverture lisible par LLM surpasse significativement les formats brut et annoté
  • Le rapport de couverture brut et illisible pose le plus grand défi au LLM
  • Le drapeau 'TO BE COVERED' marqué en langage naturel améliore efficacement l'effet de compréhension

Comparaison avec les Tests Aléatoires

Les résultats expérimentaux sur les DUT de niveaux simple et moyen montrent:

  • Le cadre LLM utilise significativement moins d'entrées pour atteindre 100% de couverture
  • Les tests aléatoires échouent souvent à atteindre la couverture complète en une minute sur les conceptions séquentielles avec des branches difficiles à atteindre
  • GPT-4 et GPT-4-Turbo présentent des performances similaires sur les tâches de génération de tests matériels

Effets d'Optimisation de l'Explication DUT

  • Description de conception: La description de conception générée par le LLM améliore la compréhension de la conception pendant la génération de tests
  • Guidance de test: Effets inconsistants, réduisant même la diversité d'entrée dans certaines conceptions (m05, m06)

Analyse de Scalabilité du LLM

Les résultats expérimentaux sur les FSM de niveau complexe montrent:

  • FSM à 16 états: Approche 100% de couverture de ligne après 20 itérations
  • FSM à 64 états et plus: La couverture ne peut pas dépasser 50%
  • La qualité de la génération de tests diminue drastiquement avec l'augmentation de la taille du DUT

Découvertes Expérimentales

  1. Le LLM excelle sur les conceptions de complexité simple et moyenne
  2. Les LLM actuels présentent des limitations évidentes dans le traitement des conceptions Verilog à grande échelle
  3. L'ingénierie appropriée des invites peut améliorer significativement les performances du LLM
  4. Le format du rapport de couverture est crucial pour la compréhension du LLM

Travaux Connexes

Méthodes CDG Traditionnelles

  • Exploration de l'espace d'entrée basée sur des approches heuristiques
  • Utilisation de l'état de couverture comme rétroaction fondamentale pour générer de nouveaux cas de test
  • Exploitation des informations de structure de circuit (graphiques de flux de contrôle/données, cartes de connexion de modules) pour guider la génération de tests

Applications des LLM dans le Domaine Matériel

  • Écriture RTL: Génération automatique de code de description matérielle
  • Génération d'assertions: Génération d'assertions de vérification
  • Correction d'erreurs: Correction des erreurs dans les conceptions matérielles
  • Vérification fonctionnelle: Travaux de vérification des points de couverture fonctionnelle de Zhang et al.

Positionnement Différencié de cet Article

Contrairement aux travaux antérieurs se concentrant sur les descriptions de plans de test fonctionnels de haut niveau, cet article se concentre sur l'objectif plus fondamental de couverture de code, nécessitant une compréhension approfondie de la logique du code Verilog par le LLM.

Conclusions et Discussion

Conclusions Principales

  1. Le LLM peut efficacement comprendre les conceptions Verilog de complexité simple et moyenne et générer des entrées de test ciblées
  2. L'ingénierie appropriée des invites (en particulier l'explication de couverture) est cruciale pour les performances du LLM
  3. Les LLM actuels présentent des limitations évidentes dans le traitement des conceptions matérielles complexes et à grande échelle

Limitations

  1. Limite d'échelle: Pour les conceptions complexes dépassant 100 lignes de code, les performances du LLM diminuent significativement
  2. Compréhension de structure: Le LLM a du mal à comprendre les caractéristiques hautement structurées de Verilog
  3. Application bout en bout: L'application directe du LLM dans les conceptions matérielles au niveau industriel reste un défi

Directions Futures

  1. Amélioration du DUT Explainer: Fournir des abstractions de conception de haut niveau plus complètes et l'intention de vérification
  2. Fusion multimodale: Combinaison des LLM et des réseaux de neurones graphiques (GNN), utilisant les LLM pour l'interprétation sémantique et les GNN pour le traitement des informations structurelles
  3. Traitement hiérarchique: Guider le LLM dans le traitement des tâches de génération de tests d'une perspective macroscopique

Évaluation Approfondie

Points Forts

  1. Innovation forte: Première application du LLM à la génération de tests de couverture de code matériel, positionnement clair
  2. Approche systématique: Propose un cadre complet incluant plusieurs modules d'optimisation
  3. Expériences complètes: Construit une suite de référence multi-niveaux, conception expérimentale rationnelle
  4. Contribution open-source: Fournit un cadre open-source, promouvant le développement du domaine
  5. Exploration des limites: Établit clairement les limites des capacités actuelles du LLM

Insuffisances

  1. Limitations d'échelle: Efficace uniquement sur des conceptions relativement simples, encore loin de l'application industrielle réelle
  2. Limitations de référence: La référence auto-construite peut ne pas être suffisamment complète, manquant de comparaisons avec les références standards industrielles
  3. Analyse des coûts: Manque de comparaison détaillée des coûts d'appel LLM par rapport aux méthodes traditionnelles
  4. Analyse théorique: Manque d'analyse théorique approfondie sur pourquoi le LLM est efficace pour cette tâche

Impact

  1. Valeur académique: Ouvre une nouvelle direction d'application du LLM dans le domaine de la vérification matérielle
  2. Potentiel pratique: Possède une valeur d'application pratique dans l'éducation et la vérification de conceptions de petite et moyenne taille
  3. Caractère inspirant: Fournit une base de référence et des idées précieuses pour les recherches ultérieures

Scénarios d'Application

  1. Environnement éducatif: Approprié pour la génération automatique de tests dans les cours de conception matérielle
  2. Vérification de prototypes: Applicable à la vérification rapide aux premières étapes de conception
  3. Conceptions de petite et moyenne taille: Possède une valeur pratique pour les modules Verilog de moins de 100 lignes
  4. Outil d'assistance: Peut servir d'outil d'assistance aux ingénieurs de vérification, réduisant une partie de la charge de travail

Références Bibliographiques

L'article cite 19 références connexes, couvrant la vérification formelle, la vérification dynamique, les méthodes CDG, les applications des LLM dans le domaine matériel et d'autres aspects, fournissant une base théorique solide pour la recherche.


Évaluation globale: Ceci est un travail innovant dans le domaine d'intersection entre les LLM et la vérification matérielle. Bien qu'il présente des limitations dans l'application à grande échelle, il fournit une exploration et une base précieuses pour le développement du domaine. La méthode de l'article est systématique, les expériences sont complètes, et la contribution open-source est claire, possédant une bonne valeur académique et un caractère inspirant.