Relier l'IA probabiliste et l'exactitude déterministe du matériel
L'industrie des semi-conducteurs fait face à un paradoxe critique : Les LLM accélèrent la génération de RTL, mais les hallucinations provoquent des respins de silicium à plus de 10 M$. L'IA neuro-symbolique de Veriprajna fusionne la puissance créatrice des grands modèles de langage avec la rigueur mathématique de la vérification formelle.
En conception matérielle, la syntaxe n'est pas la sémantique, et la plausibilité n'est pas l'exactitude. Nous ne nous contentons pas de générer du code – nous en prouvons l'exactitude avant le tape-out.
Veriprajna sert les sociétés de semi-conducteurs fabless, les fournisseurs d'IP et les équipes R&D confrontées à la réalité économique selon laquelle une seule race condition peut coûter plus qu'un budget d'ingénierie annuel.
On ne peut pas patcher le matériel. Un seul bug logique au tape-out signifie plus de 10 M$ de masques, six mois de retard et une perte de chiffre d'affaires à vie de 30-50 %. Veriprajna déplace la vérification vers la gauche – les bugs sont détectés à 100 $ au lieu de 10 M$.
Les aléas de pipeline, les bugs de logique de transfert et les violations CDC affligent les cœurs personnalisés. Notre formal sandwich détecte les interblocages dans les unités de débogage et la famine AXI – des bugs qui échappent à 10 000 cycles de simulation.
Les fenêtres de marché durent 18 mois. Manquer le tape-out de 6 mois, c'est manquer la génération. Les LLM promettent une génération RTL 5x plus rapide – mais sans vérification, vous échangez la vitesse contre un risque de cimetière de silicium.
Veriprajna est née d'une réalité douloureuse : une seule race condition dans un arbitre mémoire a causé un respin à 10 M$ et six mois de retard sur le marché. Ce n'était pas un échec de l'intelligence – c'était un échec de méthodologie de vérification.
Une équipe très compétente a utilisé des workflows assistés par LLM pour générer un arbitre d'interface mémoire haut débit. Le code :
Six mois plus tard, le premier silicium est arrivé. Sous une rare conjonction de thermal throttling et de trafic à haute bande passante, l'arbitre s'est bloqué (deadlock).
Jeu de masques 5 nm rendu inutilisable. Nouveaux masques + refabrication requis.
Débogage + correction + re-vérification + re-synthèse + refabrication + encapsulation.
Fenêtre de marché manquée = perte de 30-50 % du bénéfice brut sur la durée de vie du produit.
Ce bug exact aurait été détecté en quelques minutes avec la vérification formelle. Notre solveur SMT détecte automatiquement :
En conception de semi-conducteurs, le coût d'un bug augmente d'un facteur 10 à chaque étape du cycle de vie de la conception. Cette escalade exponentielle rend les bugs post-silicum existentiels.
| Étape de conception | Méthode de détection | Coût de correction | Profil de risque |
|---|---|---|---|
| Conception RTL | Inspection du concepteur / linting | ~100 $ | Négligeable |
| Vérification de bloc | Simulation unitaire / tests dirigés | ~1 000 $ | Faible |
| Vérification système | Émulation puce complète / régression | ~10 000 $ | Modéré |
| Post-silicium (laboratoire) | Cartes de validation / analyseurs logiques | ~10 000 000 $+ | Catastrophique |
| Sur le terrain | Retour client / rappel | ~100 000 000 $+ | Existentiel |
Les solutions « wrapper » (GPT-4 + prompt système Verilog) opèrent uniquement à l'étape de conception RTL. Elles augmentent la vélocité de génération de code sans augmenter la rigueur de la vérification.
Résultat :
Des bugs subtils contournent la vérification de bloc et système → se manifestent en post-silicium → coût de plus de 10 M$
Nous déplaçons la vérification vers la gauche. En intégrant la vérification formelle directement dans la boucle de génération, nous forçons la découverte des bugs logiques profonds à l'étape à 100 $.
Résultat :
Race conditions, interblocages et violations de protocole détectés avant la synthèse → évite des responsabilités de plus de 10 M$
Si les LLM peuvent réussir l'examen du barreau, pourquoi échouent-ils catastrophiquement en conception de puces ? La réponse réside dans la divergence fondamentale entre langages de description logicielle et matérielle.
Les LLM sont entraînés sur Python/Java/C++ (exécution séquentielle). Verilog est déclaratif et concurrent – chaque instruction s'exécute simultanément. L'ordre des lignes de code est souvent insignifiant.
Le matériel repose sur des protocoles stricts (AXI, PCIe) avec des règles temporelles complexes. Les LLM « simulent » la compréhension par statistiques – générant du code qui semble correct à 90 % mais viole des clauses obscures.
Le Verilog de qualité sur GitHub est des ordres de grandeur plus rare que Python. Une grande partie provient de projets étudiants violant les contraintes temporelles industrielles. Les LLM manquent de contexte physique (fichiers SDC, journaux de synthèse).
Bug : Les données vont de stage1→stage3 en UN cycle. Comportement non déterministe. Discorde de synthèse.
Correction : Non bloquant + propriété SVA. Le solveur formel prouve l'exactitude. Le pipeline prend 2 cycles comme prévu.
Voyez comment le coût d'un seul bug est multiplié par 10 à chaque étape. Ajustez les paramètres pour modéliser le profil de risque de votre conception.
Même si Veriprajna ne prévient qu' une seule race condition d'atteindre le silicium, les économies (plus de 10 M$) dépassent de 100x le coût de toute la plateforme de vérification.
Tandis que les LLM opèrent dans le domaine de la probabilité, la vérification formelle opère dans le domaine de la preuve. Veriprajna relie ces mondes grâce à l'IA neuro-symbolique.
Approche traditionnelle : exécuter des bancs de test avec des milliers de vecteurs. Si aucun échec ne survient, on suppose l'exactitude.
Analogie :
Tester les freins d'une voiture en faisant le tour du pâté de maisons 1 000 fois. Mais s'ils ne tombent en panne que sous la pluie, à 100 km/h, radio allumée ?
Approche Veriprajna : convertir la conception en formule mathématique. Prouver l'exactitude sur TOUS les états possibles (combinaisons 2^N).
Analogie :
Utiliser la physique et le génie structural pour calculer les limites de contrainte. Prouve qu'AUCUNE condition possible ne fera échouer les freins.
Au cœur du moteur de Veriprajna se trouvent des solveurs Satisfiability Modulo Theories (SMT) tels que Z3 et CVC5. Ils convertissent le matériel en formules booléennes et recherchent des contre-exemples.
Convertir le Verilog en une massive formule booléenne (instance SAT) représentant chaque porte et chaque bascule.
Accepter une propriété (assertion) et tenter de trouver un contre-exemple qui la rompt.
Utiliser des heuristiques algébriques pour parcourir tout l'espace d'états – toutes les combinaisons entrée/état 2^N possibles.
UNSAT = preuve d'exactitude. SAT = bug trouvé avec trace de contre-exemple.
Le solveur prouve qu' aucun bug n'existe. La conception est mathématiquement parfaite vis-à-vis de cette propriété.
Le solveur trouve une séquence précise d'entrées qui rompt la conception. Renvoie une trace de contre-exemple.
SVA définit le « contrat » du comportement matériel. Écrire ces assertions est notoirement difficile – c'est pourquoi la percée de Veriprajna est d'utiliser l'IA pour écrire les assertions, et les outils formels pour vérifier le code de l'IA.
Cette assertion détecte les violations du protocole AXI4 qui passent la simulation mais figent le silicium.
Nous ne sommes pas un « copilote ». Nous sommes un moteur de validation neuro-symbolique qui garantit l'exactitude par construction grâce à un flux itératif propriétaire.
LLM finetuné spécialisé en Verilog/SystemVerilog. Gère le « Quoi » – interpréter l'intention humaine et générer le RTL initial + les assertions.
Solveur SMT (moteur de vérification formelle). Gère le « Comment » – prouver l'exactitude. Agit comme juge inflexible de la sortie de la couche neuronale.
L'utilisateur fournit la spécification (texte, images de diagrammes temporels, captures de fiches techniques). L'agent analyseur de spécification la décompose en exigences fonctionnelles.
Le LLM génère DEUX artefacts mutuellement renforçants simultanément :
Veriprajna lance une instance de vérification formelle. Elle tente de prouver l'artefact A contre l'artefact B.
Si le solveur trouve un bug (SAT), il produit une trace de forme d'onde. Nous réinjectons ce contre-exemple mathématique dans le LLM.
La boucle se répète automatiquement jusqu'à preuve d'exactitude de la conception (UNSAT). Sans intervention humaine.
La vérification formelle peut être coûteuse en calcul pour les grandes conceptions. Veriprajna utilise des techniques d'abstraction automatisées :
Vérifier la logique de collage en traitant les grands sous-blocs (RAM, ALU) comme des boîtes noires avec contrats d'interface.
Couper les chemins valid/ready pour vérifier le contrôle de flux indépendamment du traitement des données, réduisant la complexité.
Prouver la propriété pour un canal d'un routeur et l'induire mathématiquement pour les N canaux.
La méthodologie de Veriprajna appliquée à la conception de processeurs RISC-V – un domaine où même des cœurs open source très scrutés contiennent des bugs que seule la vérification formelle peut trouver.
Cœur : Ibex (utilisé dans OpenTitan, racine de confiance matérielle sécurisée)
Le bug :
La vérification formelle par Axiomise a révélé : une demande de débogage arrivant à un cycle précis pendant une instruction de branchement peut bloquer le cœur ou faire exécuter une mauvaise instruction.
Cœur : PULP Platform (Parallel Ultra-Low Power)
Le bug :
L'interconnexion AXI pouvait affamer un maître indéfiniment si AWVALID et AWREADY interagissaient selon un motif « occupé » particulier. Échec de vivacité classique.
Chargée de générer une LSU, Veriprajna génère et vérifie automatiquement les assertions pour :
Exigence AXI4 : valid doit rester haut jusqu'à ready.
Scoreboarding : la lecture doit renvoyer les dernières données écrites.
Vivacité : la LSU doit finalement renvoyer une réponse.
Veriprajna est pionnière de la transition de la « conception assistée par ordinateur » (CAO) vers la « conception automatisée par ordinateur » grâce aux systèmes multi-agents et à la génération augmentée de connaissances.
Au-delà des interactions à prompt unique vers des workflows autonomes. Plusieurs agents spécialisés collaborent :
La génération augmentée par récupération, non seulement pour le code, mais pour les connaissances métier :
Le LLM récupère la « règle 34 » du standard de codage → garantit la conformité sans hallucination.
Notre objectif ultime : réduire quasi à zéro le taux d'évasion des bugs pour la logique couverte par les assertions.
Tandis que la physique analogique restera toujours un défi, les bugs logiques deviennent mathématiquement impossibles :
Les LLM sont entraînés principalement sur des langages séquentiels comme Python et Java, mais Verilog est concurrent et déclaratif, où chaque instruction s'exécute simultanément. Les LLM confondent les affectations bloquantes (=) et non bloquantes (<=), générant du code où les données traversent le pipeline en un cycle au lieu de deux. Ce code compile, passe la simulation avec plus de 10 000 vecteurs de test et même le tape-out avec succès, puis se bloque sous de rares conjonctions de thermal throttling et de trafic à haute bande passante dans le premier silicium.
Le Formal Sandwich comporte deux couches : une couche neuronale (LLM finetuné) génère simultanément le code RTL et les assertions SystemVerilog, tandis qu'une couche symbolique (solveur SMT) tente de prouver le code face aux assertions. Si le solveur trouve un bug (résultat SAT), il produit une trace de contre-exemple sous forme de waveform, réinjectée au LLM pour correction automatisée. La boucle se répète jusqu'à preuve d'exactitude (UNSAT). Les contrôles de vacuité garantissent que les assertions ne sont pas trivialement vraies, et le bounded model checking explore des espaces d'états profonds de 50-100 cycles.
La règle du dix veut que le coût d'un bug décuple à chaque étape de conception. Un bug détecté au RTL coûte environ 100 $ à corriger. Le même bug coûte 1 000 $ en vérification de bloc, 10 000 $ en vérification système, et plus de 10 M$ en post-silicium, jeux de masques inclus plus six mois de retard. 68 % des conceptions nécessitent au moins un respin, et manquer une fenêtre de marché peut coûter 30-50 % du bénéfice brut à vie du produit. Prévenir ne serait-ce qu'une race condition d'atteindre le silicium économise plus que le coût total de la plateforme de vérification.
Vous pouvez utiliser un chatbot et espérer que tout ira bien.
Ou vous pouvez utiliser Veriprajna et le prouver .
Rapport d'ingénierie complet : architecture neuro-symbolique, mécanique des solveurs SMT, assertions SystemVerilog, raffinement guidé par contre-exemple, études de cas RISC-V, workflows agentiques, 36 citations académiques.