Les micropuces sont les produits les plus complexes jamais construits. Ils peuvent contenir des milliards de transistors et de voies individuels et sont capables d'exploits phénoménaux en matière de calculs. Mais comment s'y prendre exactement pour concevoir l'un de ces incroyables produits ?
Au début de la création de puces, les conceptions étaient disposées directement sur des surfaces transparentes à l'aide de bandes de Scotch, jusqu'au niveau des portes individuelles. Les ingénieurs et les concepteurs supervisaient et exécutaient l'ensemble du processus, transistor par transistor. La chose était possible car le nombre de transistors était bien plus faible : à peine quelques milliers.
Mais ce n'est désormais plus le cas. Aujourd'hui, les puces d'ordinateurs peuvent avoir des milliards de transistors, et même avec des équipes de centaines ou de milliers de personnes travaillant sur la disposition des puces, il est impossible pour des humains de disposer manuellement ces transistors, comme cela se faisait avant.
Le corps modulaire de la conception de puces
Les concepteurs de puces modernes n'ont cependant pas à travailler manuellement. La conception de puces moderne exploite la modularité des puces et la puissance de la conception assistée par ordinateur (CAO) pour une construction plus rapide.
La modularité est un outil particulièrement puissant. Comparons le corps humain. Il est composé d'organes, les organes sont composés de tissus, ces tissus de cellules, les cellules de protéines, les protéines de molécules, les molécules d'atomes et les atomes de particules subatomiques.
Mais pour qu'un médecin puisse comprendre et traiter une maladie, il n'a pas besoin de comprendre comment les électrons se comportent : il lui suffit de connaitre les systèmes de haut niveau, comme le fonctionnement d'un foie, ainsi que les effets sur leur fonctionnement d'autres systèmes de haut niveau, comme l'abus d'alcool.
De même, un design de puce unique est composé de nombreux modules qui contrôlent des éléments comme la mémoire ou effectuent des opérations de calculs. Ces modules sont eux-mêmes composés de modules plus petits, qui traitent des petites fonctions plus spécifiques.
Ils sont eux-mêmes composés de modules encore plus petits, jusqu'à atteindre le niveau des transistors individuels. Les modules peuvent également être dupliqués horizontalement, pour multiplier la capacité de traitement.
Vous pouvez voir cette modularité en regardant la disposition d'une puce : les transistors individuels et les connexions de câblage sont trop petits pour être visibles à l’œil nu, mais ce n'est pas le cas des motifs en grille répétés et réguliers.
Chacun de ces modules a été conçu à la main à un moment donné. Mais au fil des années de développement de puces, les développeurs ont établi une bibliothèque de modules qui ont fait leurs preuves et sont capables d'exécuter une certaine fonction de manière fiable.
Construire la puce
La conception moderne de puces tire parti de cette modularité pour créer des puces de façon rentable et rapide.
Tout d'abord, l'architecture de haut niveau est définie. Il s'agit de déterminer les exigences que la puce doit satisfaire et de lister les modules qui fourniront les fonctionnalités nécessaires dans une structure globale.
Cette conception de l'architecture est ensuite transformée en code lisible par la machine. L'opération est réalisée à l'aide d'outils logiciels de CAO. Dans le monde de la conception de puces, cela signifie travailler avec l'une des deux normes principales : Verilog et VHDL.
Il s'agit de ce que l'on appelle des langages de description de matériel (HDL). Il sont utilisés pour traduire des instructions de conception humaines codées en un placement spécifique des portes logiques individuelles (combinaisons de transistors qui réalisent des fonctions données au sein des architectures de puce).
Le logiciel place ensuite ces portes aux positions correctes dans le plan de conception de la puce et organise automatiquement les voies correctes entre elles. Des simulations sont ensuite exécutées pour tester et vérifier la le fonctionnement de la puce.
De l'écran au silicium
Enfin, ces plans de puce sont convertis une fois encore en des images photomasques au format de fichier GDSII, qui définissent la disposition physique réelle de la puce.
À l'aide d'un faisceau d'électrons, les modèles sont ensuite transférés vers des photomasques à quartz, qui peuvent être employés pour graver physiquement les modèles de puces dans des plaquettes de silicium lors du processus de photolithographie.
Ces plaquettes sont ensuite tranchées en matrices individuelles, qui sont emballées et exportées en tant que microprocesseurs. Et voilà : une micropuce terminée !