FPGA:er är som byggklossar i logikkretsvärlden - du får en re-konfigurerbar uppsättning logikblock och interconnects som du kan sätta ihop på exakt det sätt du behöver, även efter att kretsen tillverkats.
Med en FPGA kan du bygga allt från snabba datapipelines och hårdvaruacceleratorer till prototyper av ASIC:er - och allt sker med logik och kopplingsinställningar snarare än bara mjuk-kod. Tack vare att konstruktionen kan ändras efter leverans får du stor flexibilitet, snabbare time-to-market och möjlighet att optimera för parallella uppgifter i exempelvis signal- eller bildbehandling.
För dig som teknisk person med grundkompetens: tänka dig att en FPGA blandar hårdvarans parallellitet med mjukvarans flexibilitet - du skriver inte (bara) instruktioner som på en processor, utan definierar själva kretsens struktur. Det innebär att du ofta använder ett hårdvarubeskrivningsspråk (HDL) som VHDL eller Verilog, och ett flöde som inkluderar syntes, place-and-route och bitströmsgenerering. Efter det laddar du upp den konfigurerbara kretsen och så fungerar den som skräddarsydd logik. På så vis blir FPGA:er särskilt kraftfulla i scenarier där du behöver hög prestanda, låg latens och/eller stor parallellism - men utan att designa ett ASIC från grunden.





