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...

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...

Libérez votre CPU, utilisez l’accès direct mémoire : le DMA

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

L’article « Pilotez de manière optimale vos afficheurs LED » de Hackable Magazine no34 illustre la manière dont on doit envisager la programmation embarquée : ne pas faire maladroitement en software ce que le hardware prend en charge. Depuis bientôt 10 ans, les microcontrôleurs 32 bits proposent en standard un ou plusieurs contrôleurs DMA qui transfèrent des données entre mémoire et périphériques sans mobiliser le CPU, n’attendons donc pas pour les mettre au travail.

Le module du moment : Décodeur DTMF

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Domaines
Résumé

DTMF, pour dual-tone multi-frequency est un encodage où chaque symbole d'un alphabet de 16 correspond à un couple de deux fréquences audibles, parmi une collection de 8, utilisées de concert. Initialement créé pour la téléphonie fixe, ce système permet historiquement d'encoder les pressions sur les touches d'un téléphone (« 0 » à « 9 », « A » à « D », plus « * » et « # ») et de transmettre le signal correspondant sous forme de sons.

Motoriser une antenne directionnelle avec un ESP8266

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Domaines
Résumé

Cet article aurait pu s'intituler « pointez les choses dans le ciel avec un ESP8266 », car en réalité, l'application de ce qui va suivre à la réception de signaux venus de l'espace n'est qu'une utilisation parmi tant d'autres. Notre objectif ici sera de motoriser une antenne de façon à la pointer automatiquement en direction d'un émetteur mobile, et plus exactement, un satellite en orbite basse (< 2000 km). Le tout, bien entendu, en le suivant alors qu'il se déplace.

Une carte pilote de LED RGB hackée en kit de développement FPGA à bas coût

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Domaines
Résumé

Dans cet article, nous allons vous proposer un Hack au sens noble du terme, qui consiste à détourner un produit de son usage prévu initialement pour en faire autre chose. Le produit en question est une carte de contrôle de panneaux de LED disponible pour 15 $ sur le site chinois de vente en ligne AliExpress. Il s’avère que la Colorlight 5A-75B est constituée d’un FPGA ECP5. Voilà qui peut faire un excellent kit de développement ECP5 à très bas coût.