← Derniers articles
💻 computer science

AI-Generated RTL Code: A Functional Evaluation of Natural-Language and HLS Prompting

Cette étude évalue la capacité des LLM commerciaux à générer du RTL Verilog fonctionnel à partir de spécifications de haut niveau, constatant que l'utilisation de prompts HLS-C améliore significativement la correction par rapport au langage naturel tout en révélant des défis persistants liés aux erreurs de simulation et une généralisation limitée à travers les différentes largeurs de bits.

Auteurs originaux : Giordano Santorum Lorenzetto, Vanderlei Bonato, Oliver Sinnen

Publié 2026-08-05
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Giordano Santorum Lorenzetto, Vanderlei Bonato, Oliver Sinnen

Article original sous licence CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous essayez de construire une minuscule usine ultra-rapide à l'intérieur d'une puce électronique. Il ne s'agit pas d'une usine qui fabrique des jouets ou des voitures ; c'est une usine numérique qui traite l'information à la vitesse de la lumière. Pour la construire, les ingénieurs écrivent un type spécial de manuel d'instructions appelé code RTL (Register-Transfer Level). Considérez ce code comme le plan de l'usine pour ses tapis roulants, ses bras d'assemblage et ses feux de signalisation. Si le plan comporte ne serait-ce qu'une minuscule erreur, toute l'usine pourrait s'enrayer, prendre feu ou simplement s'arrêter de fonctionner.

Pendant longtemps, l'écriture de ces plans a ressemblé à l'apprentissage d'un langage secret et rigide que seuls quelques experts comprennent. Mais aujourd'hui, nous avons l'Intelligence Artificielle (IA) qui est incroyablement douée pour écrire du code de logiciel — comme les applications sur votre téléphone ou les sites web que vous visitez. Les gens ont commencé à se demander : « Si l'IA peut écrire du code de logiciel si bien, peut-elle aussi écrire ces complexes plans de matériel ? » C'est la grande question à laquelle les chercheurs ont tenté de répondre. Ils voulaient voir si une IA intelligente pouvait regarder une description simple d'une tâche matérielle et la transformer en un plan d'usine fonctionnel, ou si elle finirait par s'embrouiller avec les règles strictes du matériel.

L'expérience : Parler vs Coder

Les chercheurs ont mis en place un test massif pour voir comment différents modèles d'IA pouvaient accomplir ce travail. Ils ont donné à l'IA deux manières très différentes de demander un plan :

  1. L'approche « Bavarde » (Langage Naturel) : Ils ont simplement dit à l'IA en anglais courant ce que le matériel devait faire. Par exemple, « Fabrique une machine qui multiplie deux nombres ». C'est comme demander à un ami : « Hé, fais-moi un sandwich », sans donner de recette.
  2. L'approche « Programmeur » (Prompting HLS-C) : Au lieu de l'anglais courant, ils ont donné à l'IA un morceau de code C (un langage de programmation courant) qui décrivait la logique. C'est comme donner à l'IA une recette détaillée écrite dans une langue qu'elle connaît très bien, et lui demander de traduire cette recette dans le « langage de l'usine » spécifique (Verilog).

Ils ont testé cela sur sept modèles d'IA différents (incluant des noms importants comme GPT-4 et Gemini) et leur ont demandé de construire huit types de circuits numériques différents, allant de simples contrôleurs de feux de signalisation à des calculateurs mathématiques complexes. Ils ont répété chaque test 30 fois pour voir si l'IA réussissait par chance ou si elle comprenait réellement la tâche.

Les résultats : La recette gagne

Les conclusions étaient assez claires, et elles pourraient vous surprendre. Lorsque l'IA était simplement « bavardée » avec en anglais courant, elle avait du mal. En moyenne, seulement environ 26,9 % des plans qu'elle générait fonctionnaient réellement. La plupart du temps, l'IA commettait des erreurs qui consistaient à essayer de construire une maison avec les mauvais briques — le code ne compilait même pas (ne démarrait pas), ou il fonctionnait mais produisait de mauvais résultats.

Cependant, lorsque les chercheurs sont passés à la recette de code C (prompting HLS-C), les performances de l'IA ont bondi. Le taux de réussite est monté à 39,5 %. C'est une grande amélioration ! Cela suggère que même si l'IA est intelligente, elle pense plus comme un programmeur que comme un ingénieur matériel. Lorsqu'on lui donne une recette de code structurée, elle sait exactement comment traduire ces étapes dans le langage du matériel. C'est comme si l'IA disait : « Oh, vous m'avez donné une recette en français ? Je peux traduire cela en espagnol parfaitement. Mais si vous dites juste "fais-moi un sandwich" en anglais, je risque de me tromper sur les ingrédients. »

Le test du « Nombre bizarre » : Mémorise-t-elle ou comprend-elle ?

Pour voir si l'IA se contentait de copier des réponses qu'elle avait déjà vues (mémorisation) ou si elle comprenait réellement comment construire ces machines, les chercheurs ont joué un tour. Ils ont demandé à l'IA de construire un multiplicateur (une machine mathématique) en utilisant des nombres de bits étranges et inhabituels, comme 7 bits ou 31 bits. Ce sont des nombres que l'on voit presque jamais dans la vraie vie, donc l'IA ne pouvait pas simplement mémoriser la réponse dans ses données d'entraînement.

Les résultats ici ont été fascinants. Certains modèles d'IA plus intelligents (comme o4-mini et Gemini 2.5 Pro) ont géré ces nombres bizarres presque parfaitement, réussissant plus de 90 % du temps. Cela suggère que ces modèles ne font pas que du copier-coller ; ils comprennent réellement la logique de construction de la machine, peu importe sa taille. Ils peuvent généraliser, ce qui signifie qu'ils peuvent appliquer les règles à de nouvelles situations qu'ils n'ont jamais rencontrées auparavant.

Le bémol : Ce n'est pas encore parfait

Malgré les améliorations, l'article précise très clairement que nous n'en sommes pas encore là. Même avec l'approche par « recette », l'IA échoue encore plus souvent qu'elle ne réussit. Le plus gros problème n'est pas que l'IA se trompe de syntaxe (comme des fautes d'orthographe) ; c'est qu'elle se trompe de timing (synchronisation).

Imaginez que l'IA construise une usine où le tapis roulant se déplace une seconde trop vite. Le plan semble parfait, et la machine s'allume, mais les produits tombent de la ligne avant d'être emballés. Dans l'étude, ces « erreurs de simulation » étaient les échecs les plus courants. L'IA crée souvent un code qui semble correct mais qui se comporte légèrement mal lorsque l'horloge commence à tourner. Corriger ces erreurs est difficile car cela nécessite une compréhension profonde de la façon dont le matériel se comporte au fil du temps, une chose avec laquelle l'IA a encore du mal.

Les chercheurs ont également découvert que lorsque l'IA réussissait, le matériel résultant était souvent aussi rapide, voire plus rapide, que les plans écrits par des experts humains. C'est une grande victoire, suggérant que si nous parvenons à amener l'IA à arrêter ces minuscules erreurs de timing, elle pourrait devenir un assistant surpuissant pour les ingénieurs.

L'essentiel à retenir

Alors, quel est le message à retenir ? L'IA devient très douée pour nous aider à concevoir des puces informatiques, mais elle n'est pas encore prête à prendre totalement le relais. C'est comme un stagiaire brillant qui peut rédiger un excellent projet si vous lui donnez un plan clair et structuré (comme une recette de code C), mais qui a encore besoin d'un superviseur humain pour vérifier les détails finaux et s'assurer que l'usine ne s'effondre pas.

L'étude suggère que l'utilisation de prompts basés sur le code est un bien meilleur moyen de communiquer avec ces modèles d'IA que de simplement discuter en anglais courant. Bien que l'IA fasse encore des erreurs qui nécessitent un débogage humain, elle prouve déjà qu'elle est un outil puissant pour accélérer le processus de conception et aider les personnes novices en ingénierie matérielle à débuter. Nous ne sommes pas au stade où l'IA peut construire une puce de zéro sans aide, mais nous allons certainement dans la bonne direction.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →