Les réseaux de portes programmables in situ — plus connus sous la dénomination FPGA — existent depuis près de 30 ans, mais ces circuits intégrés n’ont pas encore atteint le stade de popularité nécessaire pour s’imposer dans l’esprit des concepteurs dès qu'il s’agit de commander le clignotement d'une LED. Deux raisons à cela : la complexité et le coût. Concevoir des applications avec des circuits FPGA est difficile et nécessite des outils coûteux et complexes. À cela, s'ajoute le prix élevé de ces circuits intégrés, à comparer notamment aux processeurs ARM 32 bits actuels disponibles dans le commerce à moins d'un euro pièce.

 
TinyFPGA BX
Tiny : en anglais, tout petit...

TinyFPGA : prix minuscule aussi

TinyFPGA tente de remédier à ce problème de coût en proposant des cartes d'extension FPGA miniatures, abordables et faciles à utiliser. Bien évidemment, le fournisseur ne fabriquant pas lui-même ses propres FPGA, le prix obtenu ne peut pas être inférieur à celui de la puce électronique, mais son objectif est de se situer dans des limites raisonnables. Et si c'est encore trop pour certains, TinyFPGA est un projet matériel ouvert dont les instructions d'assemblage détaillées sont disponibles sur une page GitHub. Vous pouvez donc construire votre carte.

Outre la possibilité d'accéder à un matériel abordable, le projet TinyFPGA met aussi à la disposition du public ses logiciels à code source ouvert pour le développement d'applications basées sur les circuits FPGA. Bien entendu, puisqu'il s'agit de composants disponibles dans le commerce, il est également possible d'utiliser les outils proposés par les fabricants des circuits FPGA concernés (il en existe souvent des versions gratuites). Cependant, il s'agit très fréquemment d'outils massifs, associés à un compte ou liés à d'autres conditions. Chacun sait à quoi s’en tenir à ce sujet.

TinyFPGA utilise des composants Lattice

Les circuits FPGA utilisés par la carte TinyFPGA sont tous de marque Lattice Semiconductor. Quatre cartes sont présentées actuellement sur le site web du fabricant — A1, AX2, BX et EX —, incorporant chacune, respectivement, les circuits intégrés XO2-256, XO2-1200, ICE40LP8K et LFE5U-25F. Concernant cet article, nous allons examiner de manière plus détaillée la carte BX.

Le petit circuit intégré FPGA de 4 x 4 mm monté sur la carte TinyFPGA BX est le composant le plus puissant de la gamme Lattice iCE40 LP (basse consommation). Il offre 7680 cellules ou tables de correspondance (LUT), 128 Kbits de mémoire RAM et un circuit PLL (pour ce boîtier, car les boîtiers de taille supérieure ont deux circuits PLL). Ses paramètres de configuration sont stockés dans une mémoire non volatile (NVCM).