Une alerte sur les fragilités du langage Verilog

Adrian Sampson, chercheur au département d’informatique de l’université Cornell, a livré une mise en garde cinglante à l’occasion d’un séminaire scientifique à Dagstuhl (Allemagne) en mai 2026. Selon lui, le langage de description de matériel (HDL) Verilog, omniprésent dans la conception de circuits intégrés, comporte des lacunes structurelles si graves qu’elles pourraient provoquer une nouvelle vague de bogues matériels. Il compare cette situation à celle du langage C et C++ en programmation logicielle, dont l’absence de sécurité mémoire a été dénoncée pendant des années avant d’être officiellement reconnue comme un risque majeur.

Verilog, un langage hérité de la simulation

Sampson rappelle que Verilog n’a pas été conçu à l’origine pour le matériel, mais comme un langage dédié à la simulation d’événements logiques. Ce n’est que plus tard que les outils de synthèse l’ont détourné pour générer de véritables circuits. Cette origine explique, selon lui, une série de défauts : un sous-ensemble « synthétisable » mal défini, dont les limites varient selon les outils ; une sémantique ambiguë pour les valeurs « n’importe quoi » (don’t care) ; l’absence d’information de chronométrage au niveau des cycles ; et la nécessité de recourir à des linters coûteux pour éviter les erreurs.

L’un des exemples les plus frappants qu’il cite est celui des « latches inférées » : dans Verilog, des éléments de mémoire involontaires peuvent apparaître sans être explicitement déclarés, ce qui génère des circuits non conformes au comportement attendu. « Verilog n’est pas un langage RTL (register-transfer level) comme on le croit souvent », explique Sampson. « Les registres ne sont pas explicites ; leur apparition dépend d’une interprétation contextuelle par les outils. »

Un parallèle avec le rapport « Back to the Building Blocks »

Pour étayer son raisonnement, Sampson s’appuie sur un rapport de 2024 de l’Office du directeur national de la cybersécurité (ONCD) de la Maison-Blanche intitulé « Back to the Building Blocks ». Ce document, salué par la communauté informatique, affirmait que jusqu’à 70 % des vulnérabilités de sécurité dans les logiciels écrits en langages non sûrs pour la mémoire provenaient de défauts de gestion mémoire. Il appelait à migrer vers des langages comme Rust pour les nouvelles infrastructures critiques.

Sampson transpose ce syllogisme : « La correction importe. Il existe de grandes classes de bogues ayant des causes racines similaires. Certains langages génèrent plus fréquemment ces classes de bogues que d’autres. Il faut donc considérer ces bogues comme la faute du langage, pas du programmeur. Des langages plus difficiles à utiliser mais réduisant nettement la fréquence de ces bogues peuvent valoir le coût. » Il ajoute : « Ce qui était vrai pour C l’est aussi pour Verilog. »

Une menace amplifiée par la démocratisation du design hardware

Le chercheur distingue deux formes de sa thèse. La forme faible : « Verilog cause beaucoup de bogues. » La forme forte : « La prochaine crise “Building Blocks” se produira dans le matériel, et ce sera la faute de Verilog. » Il souligne que les méthodes de vérification massives employées par les grands fabricants de processeurs – avec parfois cinq ingénieurs en vérification pour un concepteur – atténuent ces défauts, mais qu’une vague de conception de circuits spécialisés et à plus faible volume (la « longue traîne » du hardware) rendra ces problèmes bien plus visibles.

Un appel à une étude systématique

Sampson ne se contente pas de critiquer Verilog. Il appelle à une étude systématique de ses implications sur la correction du matériel, comme cela a été fait pour les langages logiciels. « Je suis inquiet que les défauts de Verilog soient la cause d’une nouvelle vague de bogues matériels », écrit-il. Il mentionne que des langages alternatifs comme Bluespec, Chisel, Amaranth ou Spade doivent tous compiler vers Verilog pour interagir avec l’écosystème des outils EDA (Electronic Design Automation). « Cela fait de Verilog un intermédiaire de facto », explique-t-il, rendant toute amélioration dépendante de la qualité de ce langage cible.

Vers une prise de conscience ?

Cette analyse intervient alors que la conception de circuits personnalisés gagne en popularité, portée par l’IA, l’IoT et les systèmes embarqués. Le message de Sampson rejoint celui d’autres voix du secteur qui appellent à des HDL plus sûrs, à l’image de Rust pour le logiciel. La question de savoir si une initiative comparable au « Building Blocks » verra le jour pour le matériel reste ouverte, mais le parallèle est désormais clairement dressé.