Une brève histoire des ASIC libres

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines


Résumé

Derrière les annonces sur l’initiative Google/Skywater, à l'heure où NVIDIA rachète ARM et donc booste mécaniquement RISC-V, c'est toute une industrie qui va lentement, et inexorablement, basculer vers... un peu plus d'ouverture. Pour faire le point et envisager tout ce qu’il reste à faire, voici une rapide rétrospective, une petite revue des pratiques et de l’histoire de l'industrie impitoyable des galettes de silicium.


Il y a 20 ans, j’écrivais « La fabrication d'un circuit intégré entièrement à partir d'outils libres, portables, interchangeables, standard, n'est [...] pas encore possible. » dans GLMF no36 [1]. Que de chemin parcouru depuis ! Pour contempler cette évolution incroyable, nous allons survoler quelques faits marquants, des projets révélateurs et des initiatives aux succès variés. Ne vous inquiétez pas trop des détails techniques : bien qu’il soit question des méthodes de conception et de fabrication d’un circuit intégré, c’est surtout la dynamique de l’industrie qui est au cœur de cet article. La découverte des outils viendra naturellement ensuite !

1. Une longue quête...

La magie de la microélectronique fait rêver d’innombrables bricoleurs : pour beaucoup, le Saint Graal est de créer ses propres puces, et nous allons discuter des contraintes énormes qui confinent cela au domaine du rêve. Il existe pourtant d’autres façons de réaliser...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite
Références

[1] Yann Guidon : « Développer en VHDL sous Linux » GLMF no36, 2001 : http://f-cpu.seul.org/new/lm02.tgz (état de l’art en 2001 de la programmation avec Vanilla VHDL et Simili).

[2] Histoire et description des différentes familles de circuits à fonction logique configurables : https://fr.wikipedia.org/wiki/Circuit_logique_programmablehttps://en.wikipedia.org/wiki/Programmable_logic_device (plus précis).

[3] « 1967 : Application Specific Integrated Circuits employ Computer-Aided Design » : https://www.computerhistory.org/siliconengine/application-specific-integrated-circuits-employ-computer-aided-design/.

[4] Ken Shirriff examine une puce 8086 contrefaite et découvre un Gate Array à la place : http://www.righto.com/2020/08/inside-counterfeit-8086-processor.html.

[5] Bibliothèque des schémas électroniques des ordinateurs personnels 8 bits Thomson : http://dcmoto.free.fr/documentation/schemas.html.

[6] L’indispensable « Manuel technique du MO5 » par Michel Oury, ed. TOTEK/CEDIC, 1985,scan disponible à : http://dcmoto.free.fr/documentation/manueltechniquemo5/index.html.

[7] Les ASIC structurés sont un intermédiaire entre ASIC et FPGA : https://en.wikipedia.org/wiki/Structured_ASIC_platform.

[8] Annonce du programme Hard Copy de conversion de FPGA vers circuits prédiffusés à haute densité« Altera joins FPGA-to-ASIC drive as gate arrays come back in vogue » par Anthony Cataldo, 7 septembre 2001 : https://www.eetimes.com/altera-joins-fpga-to-asic-drive-as-gate-arrays-come-back-in-vogue/« [Lightspeed Semiconductor claims] the volume price is about 80 percent lower than for equivalent Xilinx devices ».

[9] « Transfer from FPGAs for prototype to ASICs for production » Terry Danzer and Cale Entzel, EE Times, novembre 2011 : https://www.eetimes.com/transfer-from-fpgas-for-prototype-to-asics-for-production/« [...] a migration from an FPGA to an ASIC can cut the production unit cost by up to 50%. »Décrit les contraintes, avantages et inconvénients de traduire un projet FPGA vers un circuit prédiffusé.

[10] https://en.wikipedia.org/wiki/Electron-beam_lithography ou https://fr.wikipedia.org/wiki/Lithographie_à_faisceau_d'électrons.

[11] Les cellules standard des ASIC :https://en.wikipedia.org/wiki/Standard_cell (l'article n'existe pas en français).

[12] L’annonce de l’initiative Google/Skywater : https://www.eenewsanalog.com/news/free-chips-courtesy-google-skywater-efabless,
https://hardware.developpez.com/actu/306990/Google-propose-en-open-source-PDK-SkyWater-un-kit-de-conception-de-processus-pour-concevoir-gratuitement-des-puces-en-130-nm/.

[13] Europractice est l'organisme européen de coordination des circuits multiprojets : https://europractice-ic.com/.

[14] L'organisateur américain du partage des circuits intégrés Metal Oxide Semiconductor Implementation Service : https://mosis.com/https://en.wikipedia.org/wiki/MOSIS.

[15] Le site du CMP à Grenoble propose un agenda pour les prochains lots de circuits, allant de 28 nm à 350 nm de finesse : https://mycmp.fr/technologies/runs-schedule-69.html?annee=2020.

[16] Blog de Sam Zeloof décrivant ses efforts pour réaliser des circuits intégrés dans son garage : http://sam.zeloof.xyz/category/semiconductor/http://sam.zeloof.xyz/first-ic/.

[17] La page personnelle de Lynn Conway réunissant ses travaux : http://ai.eecs.umich.edu/people/conway/conway.html.

[18] Archive de documents et ressources éducatives sur l'enseignement de la conception des circuits intégrés durant les années 70-80 : http://ai.eecs.umich.edu/people/conway/VLSI/VLSIarchive.html.

[19] Le « Lions’ book », ou plus précisément « Lions' Commentary on UNIX 6th Edition, with Source Code », est un livre de 1976 contenant le code source commenté et expliqué de la 6e édition de l’UNIX de Bell Labs. Il fut à l’origine conçu comme support de cours pour enseigner la structure des systèmes d'exploitation, puis largement reproduit sous le manteau. Cela a rendu UNIX très accessible et attractif, contribuant à la dominance d'UNIX dans les années 80 et 90 : https://en.wikipedia.org/wiki/Lions’_Commentary_on_UNIX_6th_Edition,_with_Source_Code.

[20] La « Révolution Mead-Conway » a inspiré l'émergence de l'industrie du semi-conducteur telle que nous la connaissons aujourd'hui, où les bureaux d'étude ne sont plus totalement dépendants des fondeurs : https://en.wikipedia.org/wiki/Mead_&_Conway_revolution.

[21] Liste d'usines de lithographie de circuits intégrés (plus de 1000 actuellement actives) : https://en.wikipedia.org/wiki/List_of_semiconductor_fabrication_plants.

[22] https://en.wikipedia.org/wiki/Magic_(software), http://www.opencircuitdesign.com/magic/.

[23] L'histoire du projet F-CPU est conservée au chapitre 3 du manuel, disponible à : http://f-cpu.seul.org/cedric/unstable/F-CPU_manual-0.2.7c-en-color.pdf.

[24] Première annonce du projet F-CPU : https://news.slashdot.org/story/98/09/08/1646240/the-f-cpu-project-the-freedom-cpu-project.

[25] Calendrier des conférences du 16C3 à Berlin : https://events.ccc.de/congress/1999/fahrplan.html#44.

[26] Tour d'horizon et tutoriel des différents outils VHDL disponibles en 2000-2002 : http://f-cpu.seul.org/new/VHDL-HOWTO.f-cpu.

[27] La suite logicielle Alliance, créée au début des années 90, est maintenant remplacée par Coriolis : http://coriolis.lip6.fr/

[28] Le site de GHDL, le simulateur VHDL puissant, soucieux des standards et surtout totalement libre : http://ghdl.free.fr/

[29] Yann Guidon, « Rencontre avec Tristan Gingold, l’auteur de GHDL », GLMF no127, mai 2010, pp60-63 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-127/Rencontre-avec-Tristan-Gingold-l-auteur-de-GHDL.

[30] Il reste quelques traces du site OpenCollector sur la Wayback Machine : https://web.archive.org/web/20140209071318/http://www.opencollector.org/.

[31] Archive du Utopia Computing Webring : https://web.archive.org/web/20040803113251/http://opencollector.org/cgi-bin/utopia/index.

[32] Page d'accueil du « Homebrew CPU webring » : https://www.homebrewcpuring.org/. C'est une des premières listes de projets d'ordinateurs exotiques et originaux, conçus par des amateurs. Pour y être admis, les règles sont de ne pas utiliser d'architecture ou de microprocesseurs existant déjà, de réussir à faire fonctionner (au moins en partie) le système, et d'explorer des technologies parfois surprenantes : NMOS, TTL, DTL, relais électromagnétiques, FPGA ou même EEPROM ! Ce webring fait la part belle aux BMOW (Big Mess of Wires) sur breadboards et a inspiré de nombreux bricoleurs à jouer avec les technologies d'antan. 20 ans après sa création, on peut en partie attribuer à ce site (ainsi qu'à eBay) la mode des processeurs néo-vintage à base de composants discrets et/ou anciens, qui a indirectement motivé de nombreux projets tels que le Gigatron ou le Megaprocessor. Aujourd'hui, l'activité de créer son propre processeur avec des circuits discrets est passée du rang d’obscur hobby de nerds à celui d'art, mêlant histoire et technologie.

[33] Liste des licences acceptées sur le Open Hardware Repository du CERN : https://ohwr.org/licences.

[34] Aperçu de la multiplication des initiatives de matériel open source : https://en.wikipedia.org/wiki/Open-source_hardware.

[35] Richard Stallman, « Matériel libre et plans libres pour le matériel », mars 2015.Première partie : « Pourquoi nous avons besoin de designs libres » : https://www.wired.com/2015/03/need-free-digital-hardware-designs/ Deuxième partie : « Voilà comment concevoir du matériel libre » : https://www.wired.com/2015/03/richard-stallman-how-to-make-hardware-designs-free/ Version française combinée : https://www.gnu.org/philosophy/free-hardware-designs.fr.html.

[36] https://en.wikipedia.org/wiki/OpenCores

[37] le processeur OpenRISC 1000 : https://opencores.org/projects/or1k, https://openrisc.io/, https://en.wikipedia.org/wiki/OpenRISC, https://en.wikipedia.org/wiki/OpenRISC_1200.

[38] https://chips4makers.io/blog/the-buzzword-article-part-2-crowdfunding.html.

[39] Open Hardware Repository est un hébergement gratuit de projets Open Hardware compatibles avec les licences et projets du CERN : https://ohwr.org/.

[40] Le processeur LEON, compatible SPARC V-8 : https://fr.wikipedia.org/wiki/LEON, https://en.wikipedia.org/wiki/LEON, https://www.gaisler.com/.

[41] The CPU Shack Museum « ESA Solar Orbiter: When SPARCs Fly » 9 février 2020 : http://www.cpushack.com/2020/02/09/esa-solar-orbiter-when-sparcs-fly/.

[42] Denis Bodor découvre que le NetGear ReadyNAS Duo embarque un cœur LEON dans Open Silicium no1 de janvier 2011, « Exploration du NetGear ReadyNAS Duo » : https://connect.ed-diamond.com/Open-Silicium/OS-001/Exploration-du-NetGear-ReadyNAS-Duo.

[43] L’adresse opensparc.net redirige aujourd'hui vers https://www.oracle.com/servers/technologies/opensparc-overview.html.

[44] https://en.wikipedia.org/wiki/OpenSPARC

[45] https://en.wikipedia.org/wiki/OpenPOWER_Foundation

[46] https://openpowerfoundation.org/

[47] https://en.wikipedia.org/wiki/Cell_(microprocessor)

[48] https://openpowerfoundation.org/cores-and-more/

[49] https://en.wikipedia.org/wiki/IBM_A2

[50] https://github.com/openpower-cores/a2ihttps://github.com/openpower-cores/a2o

[51] https://en.wikipedia.org/wiki/IBM_Blue_Gene

[52] Pages décrivant les processeurs RISC-V intégrés dans les FPGA de Microsemi : https://www.microsemi.com/product-directory/mi-v-embedded-ecosystem/4406-risc-v-cpus, https://www.microsemi.com/product-directory/fpga-soc/5210-mi-v-embedded-ecosystem.

[53] https://en.wikipedia.org/wiki/LatticeMico32

[54] Michael Larabel, « ARM Launches "Facts" Campaign Against RISC-V » 9 juillet 2018 : https://www.phoronix.com/scan.php?page=news_item&px=ARM-RISC-V-Facts.

[55] https://www.arm.com/resources/designstart

[56] La fondation NLnet : https://en.wikipedia.org/wiki/NLnet, https://nlnet.nl/.

[57] Formulaire pour déposer une demande de financement pour des projets libres : https://nlnet.nl/propose/.

[58] La page principale du projet Libre-SOC : https://libre-soc.org/.

[59] La page de financement participatif initiale : https://www.crowdsupply.com/libre-risc-v/m-class.

[60] Annonce du projet Libre-RISCV sur Phoronix : https://www.phoronix.com/scan.php?page=news_item&px=Libre-GPU-RISC-V-Vulkanhttps://www.phoronix.com/scan.php?page=news_item&px=Libre-RISC-V-Performance-Target.

[61] Le projet EOMA68 : http://rhombus-tech.net/, https://www.crowdsupply.com/eoma68/micro-desktop.

[62] Commentaires sur les buts du projet Libre-SOC : https://www.phoronix.com/forums/forum/hardware/graphics-cards/1207878-libre-soc-still-persevering-to-be-a-hybrid-cpu-gpu-that-s-100-open-source/page2.

[63] Détails de la logique d’exécution dans le désordre inspirée par le CDC6600 : https://libre-soc.org/3d_gpu/architecture/6600scoreboard/.

[64] Inscrivez-vous à la mailing list du projet ! http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev.

[65] Requête d’aide financière pour la collaboration entre les projets Libre-SOC, nMigen et Coriolis : https://libre-soc.org/nlnet_2019_coriolis2/.

[66] Le bugtracker du projet Libre-SOC : https://bugs.libre-soc.org/buglist.cgi?component=Milestones&list_id=508&resolution=---.

[67] Chips4Makers est une initiative d’assistance au prototypage de circuits intégrés libres : https://chips4makers.io/.

[68] Table comparant les caractéristiques des architectures envisagées : https://libre-soc.org/3d_gpu/arch_comparison/.

[69] Annonce de la décision et explication des raisons du choix d’utiliser l’ISA de POWER : http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2019-October/003035.html.

[70] Premiers programmes POWER exécutés par Libre-SOC le 3 septembre 2020 sur un FPGA : https://www.youtube.com/watch?v=72QmWro9BSE.

[71] Shan Tang : « A list of Chip/IP for Deep Learning » (2017) : https://medium.com/@shan.tang.g/a-list-of-chip-ip-for-deep-learning-48d05f1759ae.

[72] Présentation de Timothy Ansell, « Open Source manufacturable PDK for SkyWater 130nm process node », 30 juin 2020 : https://www.youtube.com/watch?v=EczW2IWdnOM Slides : https://j.mp/du20-sky130.

[73] La société eFabless se charge du Multi-Project Wafer financé par Google : https://efabless.com/open_shuttle_program.

[74] Google accepte seulement certaines licences dans son offre de prototypage gratuit : https://efabless.com/open_mpw_faq.



Articles qui pourraient vous intéresser...

Installer OpenOCD spécial Pico pour votre Debian

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

N'importe quelle occurrence de la commande « sudo make install » me rappelle d'horribles souvenirs de mes débuts sous GNU/Linux, il y a de très nombreuses années (1995). Peupler ainsi manuellement son /usr/local de fichiers, programmes et bibliothèques est une recette parfaite pour une catastrophe et des conflits en tous genres. Mieux vaut suivre la voie dictée par la distribution et son système de gestion de paquets. Voyons cela en pratique avec l'OpenOCD modifié par la fondation Raspberry Pi et, en prime, découvrons une excellente alternative à l'utilisation d'UF2 ou Picotool.

De la preuve formelle en Verilog, librement

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Dans cet article, on se propose de découvrir une autre méthode de validation d’un composant écrit en Verilog. L’idée est de décrire les propriétés du composant et de laisser l’ordinateur chercher les stimuli qui feront échouer des propriétés. Ça n’est plus le développeur qui écrit les tests, mais la machine. Cette méthode a récemment été rendue possible avec des logiciels libres grâce à la suite d’outils Yosys (synthèse Verilog), Yosys-SMTBMC (solveur) ainsi que SymbiYosys qui les chapeaute.

Mesurer l’éclairement avec Arduino

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Papa de trois enfants en bas âge, j’ai souvent la tête dans les jouets. Mes enfants, comme beaucoup, s’amusent parfois à faire semblant d’acheter. Et si je leur fabriquais une sorte de « caisse/dînette » ! Ce serait tellement mieux s’ils pouvaient scanner des articles et que « ça marche », pour ensuite payer le total par carte !

Raspberry Pi Pico, Arduino killer ?

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

« Raspberry Pi ou Arduino ? », voici la question typique que se posent nombre de débutants avant de comprendre rapidement que comparer un ordinateur monocarte (SBC) et une carte microcontrôleur n'a aucun sens. Il s'agit de deux mondes distincts reposant sur des philosophies et des contingences totalement différentes. Mais en ce début d'année 2021, la réponse à cette mauvaise question est devenue délicate, car voici venir la carte Pico : une plateforme équipée d'un microcontrôleur RP2040 double-cœur ARM Cortex M0+... par Raspberry Pi ! En d'autres termes, la question est donc maintenant aussi « Raspberry Pi ou Raspberry Pi ? ».

Contrôle de ventilation PC par Arduino

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

Les configurations PC actuelles reposent autour de processeurs (CPU comme GPU) qui sont certes très puissants en termes de calcul, mais également très consommateurs en énergie. Or la quasi-totalité de cette énergie électrique sera finalement transformée en chaleur que la machine doit dissiper, souvent activement. Rien d'étonnant donc de voir dans ces ordinateurs des systèmes de refroidissement normalisés qui pourront être utilisés par ailleurs, à condition d'être judicieusement contrôlés...