Hoewel de Field Programmable Gate Array, beter bekend als FPGA, alweer zo’n dertig jaar bestaat, is het toch nog altijd niet de chip waar ontwerpers naar grijpen als ze een LED willen laten knipperen. De twee belangrijkste redenen zijn de complexiteit en de kosten. Ontwerpen voor FPGA’s is moeilijk en er zijn kostbare en ingewikkelde ontwikkeltools voor nodig, terwijl de chips duur zijn, vooral vergeleken met de huidige 32-bits ARM -processors die voor minder dan één Euro worden verkocht.
 
TinyFPGA BX
Het heet niet voor niets “tiny”...

TinyFPGA is low-cost

TinyFPGA probeert dit op te lossen met goedkope, gemakkelijk te gebruiken, kleine FPGA break-out-boards. Omdat ze zelf geen FPGA’s maken, kan de prijs natuurlijk niet lager zijn dan de prijs van de chip, maar ze weten het binnen redelijke grenzen te houden. En voor wie ze toch nog te duur vindt: TinyFPGA is een open hardware-project met uitgebreide bouwinstructies op een GitHub page, dus u kunt er ook zelf een bouwen.

Naast betaalbare hardware, propageert TinyFPGA ook gratis open source-software voor het ontwikkelen van FPGA-toepassingen. Omdat er wordt gewerkt met standaard-onderdelen, kunnen we natuurlijk ook de gereedschappen van de FPGA-fabrikant zelf gebruiken. Daar zijn ook vaak gratis versies van beschikbaar, maar meestal zijn die enorm groot, of gebonden aan een account op een website, of iets dergelijks; er zitten vaak addertjes onder het gras.

TinyFPGA werkt met Lattice-chips

De FPGA’s die TinyFPGA gebruikt, komen allemaal van Lattice Semiconductor. Op dit moment zijn er vier kaarten te vinden op de website: A1, AX2, BX en EX. Ze zijn uitgerust met respectievelijk XO2-256-, XO2-1200-, ICE40LP8K- en LFE5U-25F-chips. In dit artikel gaan we meer in detail kijken naar de BX.

De slechts 4 x 4 mm metende FPGA op de TinyFPGA BX-kaart is het krachtigste lid van de Lattice iCE40 LP (low-power)-familie met 7680 logische cellen of look-up-tables (LUT’s), 128 kbit RAM en één PLL (vanwege de kleine behuizing, de grotere types hebben twee PLL ’s). De configuratie kan worden opgeslagen in een ingebouwd eenmalig-programmeerbaar niet-vluchtig geheugen (NVCM). TinyFPGA gebruikt een extern SPI flash geheugen IC om de configuratie in op te slaan.