Astra Trainer
Industries d'avenir

La vérification, c'est la majeure partie de la conception de puces

Aleksandr Mikhailov
Founder, Astra Trainer
Mis à jour le
10 min de lecture

Demandez à une salle d'étudiants en ingénierie qui veut concevoir des puces, et la plupart des mains se lèvent. Demandez qui veut les vérifier, et la salle devient honnête.

La partie du métier pour laquelle personne ne postule

L'image publique de la conception de puces, c'est l'architecture : quelqu'un qui décide ce que fait le processeur, combien il a de cœurs, comment fonctionne la hiérarchie mémoire. Ce travail existe, il est réellement intéressant, et il ne représente qu'une petite fraction des effectifs.

Sur un projet de puce numérique typique, le plus gros bloc d'effort d'ingénierie est la vérification, et sur les conceptions complexes, les ingénieurs de vérification sont régulièrement plus nombreux que les ingénieurs de conception. C'est aussi, systématiquement, le groupe le plus difficile à recruter.

Ce déséquilibre persiste à cause d'un malentendu sur ce qu'est la vérification. On l'imagine largement comme du test : faire tourner la conception et vérifier la sortie. C'est presque l'inverse. Un ingénieur de vérification construit un modèle indépendant de ce que la conception est censée faire, construit un environnement qui génère des stimuli que le concepteur n'a pas anticipés, mesure quels comportements ont réellement été exercés, et argumente, à partir de la couverture obtenue, que le risque restant est acceptable.

La vérification, ce n'est pas vérifier que la conception fonctionne. C'est construire l'argument qu'elle ne peut pas échouer d'une manière que vous n'avez pas cherchée.

C'est une activité de conception à part entière, avec sa propre méthodologie, ses propres langages et sa propre difficulté intellectuelle. Les équipes qui la traitent comme un travail junior la staffent en conséquence, et en découvrent les conséquences au moment du tape-out.

Ce que couvre la filière

Le périmètre : conception numérique, langages de description matérielle, vérification, conception physique, analyse temporelle et de consommation, et conception pour le test.

Quatre domaines.

Conception au niveau transfert de registres (RTL). Décrire le comportement matériel dans un langage de description matérielle, dans un style qui se synthétise en portes logiques.

Vérification. Stimuli aléatoires contraints, couverture fonctionnelle, méthodes fondées sur les assertions et techniques formelles.

Conception physique. Plan de masse, placement, distribution d'horloge, routage et fermeture temporelle.

Analyse et test. Analyse temporelle statique, consommation, intégrité du signal, et les structures qui rendent une puce fabriquée testable.

Pourquoi une puce n'est pas un logiciel

La différence la plus lourde de conséquences, celle qui redessine chaque décision de processus dans l'industrie.

Il n'existe pas de correctif. Un bug fonctionnel découvert après la fabrication se corrige en modifiant la conception et en produisant un nouveau jeu de masques, ce qui coûte cher sur les nœuds de gravure matures et extrêmement cher sur les plus avancés, et qui prend des mois. Un bug découvert après l'expédition du produit peut n'être contournable que par le logiciel — ou pas du tout.

La conception est parallèle par nature. Les langages de description matérielle décrivent des structures qui existent toutes simultanément. Les ingénieurs logiciel qui passent au matériel écrivent typiquement du code séquentiel qui simule correctement, mais qui échoue à se synthétiser ou se synthétise en quelque chose d'énorme. Le basculement conceptuel : passer d'instructions exécutées dans l'ordre à une logique qui existe toute à la fois.

Le timing est physique. Une conception n'est pas correcte dans l'abstrait. Elle est correcte à une fréquence d'horloge donnée, à une tension donnée, à une température donnée, à travers les variations de fabrication — et chacun de ces cas limites doit être démontré comme fermé.

Tout coûte de la surface, et la surface coûte de l'argent. La surface de la puce se traduit directement en rendement et en coût par puce. Une fonctionnalité qui serait gratuite en logiciel a un coût unitaire permanent en silicium.

Ces quatre faits expliquent pourquoi le processus de l'industrie paraît conservateur de l'extérieur. Ce n'est pas du conservatisme. C'est la réponse adaptée à une étape de fabrication à coup unique.

La conception physique, là où passe réellement le planning

Entre une description RTL vérifiée et un dessin de masques fabricable, il existe un corps de travail que les personnes extérieures supposent souvent automatisé.

Les outils en font une part énorme. Ils ne suppriment pas l'ingénierie.

Fermeture temporelle. La conception doit respecter ses contraintes de timing sur chaque chemin, à chaque cas limite. Les chemins qui échouent se corrigent en redimensionnant, en restructurant la logique, en déplaçant des blocs, en ajustant le plan de masse, ou en changeant l'architecture. Cette dernière option est assez fréquente pour que traiter la conception physique comme une étape en aval produise des plannings qui ne tiennent pas.

Consommation et thermique. La consommation statique comme la consommation de commutation doivent être maîtrisées, ainsi que la chute de tension sur le réseau de distribution d'alimentation et les points chauds créés par une activité dense.

Routabilité. Un plan de masse confortable pour le placement peut se révéler impossible à router, et le découvrir tard coûte des semaines.

Distribution d'horloge. Acheminer l'horloge sur une grande puce avec un décalage (skew) maîtrisé est une spécialité à part entière, et cela consomme une part significative de la consommation totale de la puce.

Les ingénieurs de conception physique sont rares, la compétence prend des années à construire, et elle reste largement invisible dans la façon dont l'industrie se décrit aux étudiants.

La place de cette filière dans le domaine

La conception de puces et le VLSI forment la troisième des neuf filières du domaine semi-conducteurs, électronique et quantique d'Astra Trainer. Elle se connecte directement à la physique des semi-conducteurs et des composants, car chaque modèle de timing et de consommation repose sur le comportement du composant, et à la fabrication de semi-conducteurs et au packaging avancé, où la conception rencontre le procédé qui va la fabriquer.

Elle se connecte aussi vers l'extérieur à l'IA et l'informatique, où la conception d'accélérateurs représente aujourd'hui une large part des nouveaux lancements de puces. Les partenaires cadrent généralement la conception de puces avec les systèmes embarqués, car les équipes matériel et logiciel d'un programme de système sur puce ont besoin d'un vocabulaire commun. Vous pouvez voir les neuf filières ici.

La conception pour le test, qui n'est pas optionnelle

Une puce fabriquée doit être testée, et les structures qui le rendent possible sont ajoutées à la conception délibérément.

Les chaînes de scan relient les éléments de mémorisation de la conception en registres à décalage, pour que l'état interne puisse être chargé et observé. Les structures d'autotest intégré permettent aux mémoires et aux blocs analogiques de se tester elles-mêmes. Le scan de bordure permet de vérifier les connexions entre puces packagées sur une carte. La compression de test réduit la quantité de données à faire transiter par un testeur, car le temps de test coûte cher et croît avec le volume.

Tout cela occupe de la surface de puce et consomme de l'effort de conception sur une fonctionnalité que le client n'utilisera jamais. C'est tout de même inclus, pour une raison qui mérite d'être dite directement.

Le rendement de fabrication n'est jamais de cent pour cent. Des défauts se produisent. Une puce qui ne peut pas être testée ne peut pas être triée, ce qui signifie que des pièces défectueuses arrivent chez les clients — dans l'automobile, le médical et l'industriel, c'est un problème de sécurité et de responsabilité, pas une simple statistique de qualité.

L'erreur récurrente consiste à décider des structures de test tard, quand le plan de masse est arrêté et que les ajouter perturbe tout. L'insertion du test est une décision de conception, prise tôt, en même temps que l'architecture.

Les métiers, nommément

Ingénieurs de conception RTL. Le poste que la plupart des gens imaginent.

Ingénieurs de vérification. Le plus grand groupe sur la plupart des projets, et le plus difficile à pourvoir.

Ingénieurs de conception physique. Du plan de masse à la fermeture temporelle.

Ingénieurs d'analyse temporelle statique et de signoff.

Ingénieurs de conception pour le test. Scan, autotest et compression.

Ingénieurs de conception analogique et signal mixte. Durablement rares, car la compétence résiste à l'automatisation.

Ingénieurs de vérification formelle, qui démontrent des propriétés plutôt que de les simuler.

Architectes informatiques. Le plus petit groupe, et celui que tout le monde imagine représenter tout le domaine.

Ingénieurs d'automatisation de la conception électronique (EDA), qui construisent et maintiennent les flux d'outils dont dépend le reste de l'industrie.

Qui peut s'y former

Les ingénieurs logiciel. Le plus grand vivier disponible, et la reconversion fonctionne quand le modèle parallèle est enseigné explicitement plutôt que supposé acquis. La vérification, en particulier, valorise les compétences logicielles, puisque les environnements de vérification modernes sont de vastes programmes orientés objet. C'est la voie la plus rapide vers la plus grande pénurie de l'industrie.

Les ingénieurs FPGA. Proximité forte. La maîtrise des langages de description matérielle et l'intuition du timing existent déjà. Ce qui est nouveau, c'est la rigueur qu'impose le fait de ne plus pouvoir reprogrammer le composant.

Les ingénieurs électroniciens. Vers la conception signal mixte et la conception physique, en apportant leur intuition des composants et du dessin de circuits.

Les ingénieurs de test issus de la fabrication. Vers la conception pour le test, car ils savent déjà ce qui est intestable et pourquoi.

Les ingénieurs logiciel embarqué. Vers la vérification et l'intégration système sur puce, détenant déjà la frontière entre matériel et logiciel.

Les diplômés en physique et en mathématiques. Vers la vérification formelle, où le raisonnement se rapproche plus de la démonstration que de la programmation.

Outils, méthodologie et flux confidentiels. La conception de puces dépend d'outils commerciaux d'automatisation de la conception électronique, de kits de conception de procédé et de règles de fonderie fournis sous licence et accord de confidentialité, qui diffèrent selon les organisations et les nœuds de gravure. La formation construit la méthodologie et les concepts. Elle ne fournit ni licences d'outils, ni kits de conception de procédé, ni règles de fonderie, ni aucun flux de conception confidentiel, et elle ne remplace pas la qualification interne que leur usage exige.

Ce qu'il faut en retenir

La vérification est la plus grande part de l'effort, la plus grande part du risque planning et le plus grand groupe non pourvu — et c'est un travail de conception, pas de test.

Une puce ne se corrige pas après coup, ce qui explique toute la forme du processus de l'industrie.

La conception physique renvoie régulièrement du travail en amont vers l'architecture, donc la traiter comme une étape en aval produit des plannings qui échouent.

La conception pour le test coûte de la surface et de l'effort sur une fonctionnalité que personne n'achète, et sans elle, des pièces défectueuses arrivent chez les clients.

Et les ingénieurs logiciel constituent la plus grande source réaliste de nouvelle capacité en vérification, à condition que quelqu'un enseigne le modèle parallèle plutôt que de supposer qu'il se transpose de lui-même.

Questions fréquentes
Pourquoi la vérification occupe-t-elle une si grande part d'un projet de puce ?

Parce que l'étape de fabrication est à coup unique. La vérification construit un modèle indépendant du comportement voulu, génère des stimuli que le concepteur n'a pas anticipés, et mesure la couverture, afin d'argumenter que les modes de défaillance non découverts sont peu probables.

Les ingénieurs logiciel peuvent-ils se reconvertir dans la conception de puces ?

Oui, et la vérification est le point d'entrée le plus naturel, car les environnements de vérification modernes sont de vastes programmes orientés objet. L'écart qui s'enseigne, c'est le passage d'une exécution séquentielle à des structures qui existent toutes à la fois.

Pourquoi la conception physique n'est-elle pas qu'une affaire d'automatisation ?

Les outils font l'essentiel du travail mécanique, mais la fermeture temporelle, la distribution d'alimentation, la routabilité et la distribution d'horloge exigent régulièrement de restructurer la logique ou de changer l'architecture — ce qui signifie que la conception physique nourrit la conception en retour, plutôt que de simplement la suivre.

Pourquoi inclure des structures de test que les clients n'utilisent jamais ?

Parce que le rendement de fabrication n'est jamais parfait et qu'une puce intestable ne peut pas être triée pour détecter les défauts. Dans l'automobile, le médical et l'industriel, expédier des pièces non triées est un problème de sécurité et de responsabilité.

Quels métiers voisins se reconvertissent bien vers le VLSI ?

Les ingénieurs logiciel vers la vérification, les ingénieurs FPGA vers la conception, les ingénieurs électroniciens vers le signal mixte et la conception physique, les ingénieurs de test de fabrication vers la conception pour le test.

Staffez la partie du projet pour laquelle personne ne postule
Neuf filières en semi-conducteurs, électronique et quantique, dont la conception de puces et le VLSI aux côtés de la physique des composants, de la fabrication et des systèmes embarqués. Cadrées avec vos propres équipes, en leçons de cinq minutes.