Vue lecture

ENIAC, le premier FPGA ?

Les employés de chez Xilinx aiment à raconter qu'ils sont les inventeurs du FPGA. Avec leurs glorieux XC2064 ils auraient été les inventeurs du concept et les premiers à en commercialiser.

Blueprint du XC2064
Deux ingénieurs de xilinx en plein placement-routage du XC2064 ?

En est-on si sûr ?

    Tout d’abord revenons à la définition d’un FPGA :

    Field Programmable Gate Array

    Littéralement: Grille de portes programmable sur le champ.

    Les FPGA sont des composants munis d’éléments logiques plus ou moins complexes dont les connexions ne sont pas figées. Les connexions peuvent être re-programmées pour modifier l’architecture électronique du système en fonction du besoin sans avoir à démonter l’appareil à chaque fois.

    L’aspect programmable ne doit pas être vu dans le sens d’un programme que l’on télécharge dans une mémoire pour qu’il soit exécuté par un processeur. Non, le bon mot serait plutôt configurable ou re-câblable (quel beau mot) au besoin.

    Dans un FPGA moderne, les blocs que l’on peut connecter sont des éléments logiques (LUT), des multiplexeurs, des multiplieurs, des additionneurs, les sérialiseurs/dé-sérialiseur (serdes) sans oublier les blocs de mémoires ram (BRAM). Des PLL viennent en renfort pour générer des horloges pour cadencer tout ce bazar.

    Mapping du Gatemate A1
    Plan du Gatemate A1 de Colognechip, les entrées sorties sont à la périphérie et les blocs logique au centre

    Le « re-câblage » (on parle plutôt de configuration) est effectué en téléchargeant un fichier appelé bitstream dans la mémoire RAM ou flash du FPGA.

    Mais alors revenons à l'ENIAC. Cette machine est considérée comme le premier ordinateur électronique. Quand on pense ordinateur vient tout de suite l’idée d’un processeur qui exécute des instructions enregistrées dans une mémoire.

    Ça n’est pourtant pas le cas des débuts de l’ENIAC qui est conçu pour faire des calculs très rapidement, notamment pour calculer des tables de tir de missiles (pour tuer des gens). Et à chaque nouveau calcul il faut le re-câbler.

    Les blocs que l’on peut connecter sont des multiplieurs, des additionneurs, des tables de fonctions (à roulettes) ainsi que des imprimantes et des lecteurs de cartes perforées pour les entrées/sorties.

    Plan «mapping» de l’ENIAC
    Plan de l’ENIAC, il y quelques similitudes avec un FPGA. Cependant les blocs sont à l’extérieur et le multiplexage et les entrées sorties se font au centre. (sources https://historyofinformation.com)

    Pour re-câbler l’ENIAC point de bitstream mais des équipes de câbleuses qui reconfigurent la machine pour lancer un nouveau calcul histoire de faire péter une bombe plus fort (nucléaire) ou de bien atteindre la cible avec un canon.

    Câbleuse en action
    Câbleuses en pleine action, maintenant on télécharge un bitstream (source sigarch)

    Mais, attendez, cette description ressemble furieusement à la description d’un FPGA non ?

    Et oui, Xilinx n’a qu’à bien se tenir, le premier ordinateur électronique était également le premier FPGA de l’histoire. D’autres ont fait le lien également.

    Peut-être pourrait-on l’inclure dans les outils de synthèse libre comme Yosys ?

    Pas sûr.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    [$] Reconsidering O_CREAT|O_DIRECTORY

    ✇LWN
    Par : corbet
    Linux provides a system call (mkdir()) to create a directory, and a few variants of open() that can open a directory. There is, however, no system call in Linux that can create and open a directory in a single, race-free call. Jori Koolstra has been working on remedying that situation, most recently by repurposing a set of open() flags that currently return an error. There are, however, concerns that show just how hard it can be to create user-space interfaces that do not present traps for application developers.
    •  

    Security updates for Thursday

    ✇LWN
    Par : jzb
    Security updates have been issued by AlmaLinux (gstreamer1-plugins-bad-free, libtiff, libXfont2, nodejs:22, nodejs:24, and rest), Debian (expat and nss), Fedora (libssh, nginx, nginx-mod-brotli, nginx-mod-fancyindex, nginx-mod-headers-more, nginx-mod-modsecurity, nginx-mod-naxsi, nginx-mod-vts, nodejs24, perl-HTTP-Date, proftpd, squid, unbound, and wordpress), Oracle (c-ares, edk2, freerdp, go-fdo-server, libreswan, mariadb-connector-c, and nginx), SUSE (alloy, apache-commons-lang3, google-guice, maven, maven-resolver, xmvn, apache-sshd, apptainer, avahi, distribution, glib2, go1.26-openssl, go1.25-openssl, go1.24-openssl, go1.23-openssl, go1.22-openssl, go1.26, go1.25, go1.24, go1.23, go1.22, go1.21, gstreamer-plugins-bad, helm, ImageMagick, java-17-openjdk, java-25-openjdk, liboqs, oqs-provider, libssh, nginx, nm-configurator, nmap, openssl-3, openvpn, PackageKit, perl, perl-DBI, perl-HTTP-Date, perl-XML-Bare, python-msgpack-python, python-sh, python-ujson, python-urllib3, runc, samba, sssd, wget, wpa_supplicant, and xen), and Ubuntu (linux-nvidia, linux-nvidia-7.0 and linux-nvidia-6.17).
    •  

    L’un des meilleurs JRPG de sa génération sort sur Switch 2 et voilà où le trouver au meilleur prix

    [Deal du jour] Avis aux joueuses et aux joueurs attachés aux versions physiques de leurs jeux : Nintendo a annoncé la sortie de la saga Xenoblade Chronicles en version boîte sur Switch 2. Le premier volet de cette licence culte du J-RPG vient de sortir ce 30 juillet 2026. Voilà où le trouver au meilleur prix.

    •  

    Spider-Man: Brand New Day : on sait enfin pourquoi Hulk est absent d’Avengers: Doomsday

    Pendant des années, les fans ont réclamé le retour du « vrai » Hulk, brutal et incontrôlable. Spider-Man: Brand New Day vient de leur offrir... mais en y injectant une tragédie dévastatrice. Une séquence choc qui explique au passage pourquoi Bruce Banner sera aux abonnés absents dans Avengers: Doomsday.

    •  

    Tromperie et manipulation : comment Claude Opus 5 a menti à ses fournisseurs pour dominer un benchmark de distributeurs automatiques

    Le benchmark Vending-Bench d'Andon Labs devait mesurer la capacité des intelligences artificielles génératives à gérer une activité commerciale de façon autonome. Claude Opus 5 en ressort vainqueur, mais au prix d'une série de manœuvres déloyales envers ses concurrents et ses fournisseurs.

    •  
    ❌