Si en navigant sur internet j’eus à parcourir un titre semblable à celui de cet article, je serais probablement perplexe et incertain de la véracité de l’information, mais pourtant c’est vrai, du moins avec un peu de chance, parce que cette offre est limitée dans le nombre. Pour comprendre la situation revenant quelques années en arrière, la fabrication de puce électronique est un business avec un chiffre d’affaires très élevé de plusieurs centaines de milliards de dollars, réserver pour une pogné d’entreprises aux U.S.A et en Asie, principalement la Chine et la Corée du sud, ce qui limitait énormément l’ouverture de cette technologie aux petites entreprises et aux particuliers, cette industrie est aussi très fermée et très opaque, accessible uniquement avec des chèques à plusieurs millions, ce qui a rendu son apprentissage difficile, seules quelques universités prestigieuses ont les moyens d’offrir à leurs étudiants le privilège de tester leurs créations sur silicium (silicon en Anglais), ce qui se traduit par des problèmes de monopole industriel, technologique, et sécuritaire.
Il faut savoir que la production de puces est souvent une production à grand échelle de plusieurs millions pour permettre aux sociétés de baisser le prix de l’unité, d’ailleurs jusqu’à aujourd’hui, le seul moyen aux particuliers pour pouvoir réduire le prix de production et de partager la galette de silicium (c’est le support de production) sur plusieurs projets, qui permet la réduction du prix à dix milles ou quinze mille dollars pour une centaine de puces sur une technologie ancienne de gravure, ça reste excessivement coûteux pour les étudiants et les hobbyistes, surtout dans des pays en voie de développement.
La vidéo en haut est une présentation faite sur la chaîne Hack A Day par Matt Venn, ingénieur et éducateur en électronique de profession, il fait un workshop sur Google/Skywater PDK et Google/Skywater Shuttle, un workshop ou parfois appelé atelier en français, est une présentation académique dans lequel le présentant ne fait pas qu’une présentation théorique du sujet mais aussi une démonstration pratique souvent en suivant un exemple concret. À vrai dire Matt Venn fait une démonstration de A à Z de construction d’un ASIC (puce personnalisée sur silicon), il va tout au long de la vidéo utiliser et faire la démonstration de plusieurs outils logiciels open source dans le processus de construction de puces, les plus importants sont MAGIC et OpenLane, le premier pour le dessin et la visualisation des traces microscopiques du circuit interne aux puces, et le deuxième est une pile logicielle de plusieurs applications couvrant et automatisant la majeure partie du processus de conception d’une puce.
OpenLane en soi utilise Google/Skywater PDK qui représente le Process Design Kit de 150 nanomètres open source proposé par Google, un PDK est généralement la partie la plus fermée dans le processus de construction des puces, effectivement c’est une bibliothèque de composants de base comme les portes logiques, les cellules mémoire, les registres…etc, préalablement conçus pour être fabriqués sur un process de 150 nanomètres (technologie de gravure des années 2000), puisque appartement on ne peut pas directement dessiner le circuit sur le silicon, mais il faut utiliser cette bibliothèque déjà testée et approuvée. C’est déjà un très bon move fait ici par Google, et en plus elle a lancé le programme Google/Skywater Shuttle permettant la prise en charge et la production sur silicon d’une quarantaine de projets de particuliers gratuitement si la nature des projets et publique et 100% open source, d’après Google c’est à programmer deux ou trois fois par an.
Pour un ingénieur, un chercheur, ou un simple amateur de conception hardware, c’est un rêve le plus souvent difficilement accessible de pouvoir réaliser sa propre puce, les personnes travaillant dans ce domaine généralement se contentent de la simulation ou réalisation sur FPGA (des puces reprogrammables beaucoup moins performantes que les puces sur silicon). Moi personnellement la première idée qui me vienne à l’esprit pour un projet sur puce est celui d’une puce graphique pour le rendu 2D avec des tiles et des sprites, la communauté de concepteur de consoles ou machines en 2D souvent se plaignent du manque de ces puces, car les puces actuelles sont dans la plupart des cas des puces en 3D souvent inadaptées et compliquées à programmer, ou intégrés dans des SoC le plus souvent surpuissant pour des simples machines en 2D, J’ai vraiment hâte de mettre les mains sur un projet semblable.