Bien sûr je pourrais juste vous dire que le FPGA est deux fois plus gros que le GateMate A1. Mais ça n’est pas l’information principale qui nous intéresse ici.
Non, l’information principale c’est que toute la chaîne de développement : Simulation, synthèse, placement-routage et même la configuration se fait officiellement avec des outils open-source.
Et on ne parle pas d’outils maisons sortie à la va-vite pour faire le buzz. Non, CologneChip fait les choses bien en intégrant son composant dans les outils opensource existant :
Un FPGA avec des performances plus qu’honorable, fabriqué en Europe et intégralement utilisable avec des logiciels open source. Et je ne vous parle même pas le la taille de la toolchain tellement les Quartus et autre Vivados sont devenu des monstres qui prennent toute la place de votre disque dur (fpga-spreading ?).
Alors, Le Front de Libération des FPGA est-il encore d’actualité ? Doit-on désarmer le groupuscule ?
Historiquement le ICE40 soudé sur la carte icestick est le premier supporté par des outils libres.
Le célèbre icestick qui a libéré les FPGA
Il est maintenant possible d’utiliser plusieurs programmes open-source pour développer dessus. Voici une méthode avec yosys, nextpnr, icestorm et openFPGALoader.
Dans un premier temps, allez donc cloner, compiler makeInstaller les 4 programmes cités ci-avant :
Yosys: Logiciel de synthèse Verilog couteau suisse du monde du FPGA.
nextpnr: Logiciel de placement routage supportant de plus en plus de famille de FPGA
icestorm: La tempête à l’origine de la libération des ICE40 de Lattice.
Deux cartes à base d’ECP5 ont été lancée coup sur coup le même weekend pour fêter le début du confinement : OrangeCrab et ULX3S. Ces deux cartes sont accessibles via un financement participatif, l’une avec groupsget et l’autre avec crowdsupply. Les deux cartes supportent à 100% toute la chaine de développement open source Yosys + NextPnR + Trellis.
Et les deux sont proposées au même prix de départ : $99. Vu qu’elles sont toutes les deux à base d’ECP5 et au même prix voyons voir un peu ce qu’elles ont dans le ventre.
OrangeCrab, de la DDR3 sur batterie.
Ce qui frappe avec l’OrangeCrab c’est sa capacité mémoire avec un chip DDR3 de 1Gbits. C’est également une toute petite carte qui tiens presque sur le doigt (à condition de choisir le bon).
Et elle possède un connecteur de batterie permettant de la rendre autonome et «portable».
Image provenant de groupgets
Le détails des caractéristiques est donné sur le site :
24kLut
1008 Kb –de blocs RAM
194 Kb – RAM Distribuée
28 – 18×18 Multiplieurs
PLLs: 2
oscillateur interne
1Gbits DDR
Full-speed (12Mbit) USB avec connection direct sur le FPGA
128Mbit QSPI de mémoire FLASH
Connecteur MicroSD
SAR ADC, external RC / input comparateur
Système de gestion de batterie
ULX3S la console de jeux à base de FPGA
L’ULX3S est nettement plus grosse que l’OrangeCrab sur beaucoup de points. Sur le nombre de composants ajoutés déjà. Puisque l’on peut noter la présence d’un connecteur microSD, de 8 leds, d’un port USB connecté au FPGA via un convertisseur FTDI plus un USB connecté en direct, d’un module Wifi/Bt, d’un port vidéo GPDI d’une sortie audio, de 6 boutons, de …. mais dites donc ne serait-ce pas là tous les élements nécessaire pour faire une console de jeu ?!
Image provenant de la page crowdsupply
Par contre, la version à 99$ démarre avec le plus petit FPGA de la gamme, le ECP5 12F, deux fois plus petit que celui de l’OrangeCrab. Il est cependant possible d’acquérir la carte avec des FPGA (nettement) plus gros comme le 45F (135$) et le 85F (155$).
Mais même avec le 12F, l’équipement de cette ULX3S tel que copié/collé ci-dessous reste impressionnant:
FPGA: Lattice ECP5
LFE5U-85F-6BG381C (84 K LUT)
LFE5U-45F-6BG381C (44 K LUT)
LFE5U-12F-6BG381C (12 K LUT)
USB: FTDI FT231XS (500 kbit JTAG and 3 Mbit USB-serial)
GPIO: 56 pins (28 differential pairs), PMOD-friendly with power out 3.3 V at 1 A or 2.5 V at 1.5 A
RAM: 32 MB SDRAM 166 MHz
Flash: 4-16 MB Quad-SPI Flash for FPGA config and user data storage
Mass Storage: Micro-SD slot
LEDs: 11 (8 user LEDs, 2 USB LEDs, 1 Wi-Fi LED)
Buttons: 7 (4 direction, 2 fire, 1 power button)
Audio: 3.5 mm jack with 4 contacts (analog stereo + digital audio or composite video)
Video: Digital video (GPDI General-Purpose Differential Interface) with 3.3 V to 5 V I²C bidirectional level shifter
Display: Placeholder for 0.96″ SPI COLOR OLED SSD1331
Wi-Fi & Bluetooth: ESP32-WROOM-32 supports a standalone JTAG web interface over Wi-Fi
Antenna: 27, 88-108, 144, 433 MHz FM/ASK onboard
ADC: 8 channels, 12 bit, 1 MS a/s MAX11125
Power: 3 Switching voltage regulators: 1.1 V, 2.5 V, and 3.3 V