Ein FPGA ist ein Halbleitergerät, die aus einer Matrix aus konfigurierbaren Logikblöcke (CLBs) bestehen und durch programmierbare Verbindungen miteinander verbunden sind. Der Benutzer bestimmt diese Verbindungen durch die Programmierung eines SRAM. Ein CLB kann einfach (UND-, ODER-Gatter usw.) oder komplex (ein RAM-Block) sein. Der FPGA ermöglicht Designänderungen, auch nachdem das Gerät auf eine Leiterplatte gelötet wurde.