Un circuit prédiffusé programmable (FPGA, Field-Programmable Gate Array) est un circuit intégré que l'on peut programmer sur le terrain après sa sortie des chaînes de fabrication.
la technologie des FPGA fait que leur programmation est volatile et doit donc être stockée dans une ROM ou mémoire flash.
Un FPGA doit donc charger son programme à chaque mise en route.
Les dernières puces intègrent désormais une ROM qui garde en mémoire le programme à lancer à chaque démarrage.
Elle permet la description et la simulation de circuits analogiques, numériques, et mixtes (analogique et numérique).
Pour cela elle utilise en complément des instructions séquentielles et concurrentes un nouveau type d'instructions, dites « simultanées », et qui ont valeur d'équations.