Alan programlanabilir kapı dizisi (genellikle FPGA olarak kısaltılır), yeniden yapılandırılabilir dijital devreler oluşturmak için kullanılan elektronik bir bileşendir. Bu, bir FPGA'nın bir mantık kapısından farklı olduğu anlamına gelir, çünkü bir mantık kapısının sabit bir işlevi vardır. Buna karşılık bir FPGA'nın üretim sırasında tanımlanmamış bir işlevi vardır. FPGA'nın bir devrede kullanılabilmesi için önce programlanması, yani yeniden yapılandırılması gerekir.

FPGA'lar, programlanabilir mantık cihazları veya PLD'ler kategorisinde yer alan entegre devrelerdir. FPGA'lar PLD türleri arasında en yüksek performanslı, en esnek ve aynı zamanda en pahalı olanlardır. FPGA'ların diğer PLD'lere kıyasla bir dezavantajı, güç kesildiğinde tasarımlarını hatırlamamalarıdır. Bu nedenle bir FPGA, FPGA tasarımını tutan ayrı bir yapılandırma bellek yongasına ihtiyaç duyar. Güç FPGA'ya geri verildiğinde FPGA'nın sabit bir parçası konfigürasyon bellek yongasından konfigürasyonu okur. FPGA yapılandırıldıktan sonra tasarım tarafından kendisine verilen işlevi yerine getirebilecektir.

Bir FPGA, bir mikroişlemci veya mikrodenetleyiciden farklıdır. Temel haliyle bir FPGA yazılım çalıştıramaz. Sadece FPGA'ya bir işlemci mimarisi içeren bir konfigürasyon verildiğinde yazılım çalıştırma yeteneğine sahip olur.

FPGA üreticileri, FPGA'lar için tasarımlar geliştirmek üzere Windows ve bazen de Linux için mühendislik yazılımları sağlamaktadır. Tasarım genellikle Donanım Tanımlama Dili (HDL) adı verilen insan tarafından okunabilir bilgisayar dosyalarında yazılır. En popüler olanları VHDL ve Verilog'dur. Donanım tanımlama dilleri, programlama dilleriyle büyük ölçüde karşılaştırılabilir. Ancak HDL'lerin amacı, programlama dilleri yazılım tasarlarken dijital mantık devreleri tasarlamaktır.

FPGA mühendislik yazılımı, soyut HDL kodunu seçilen FPGA'da bulunan mantık elemanlarına çevirmelidir. Buna mantık sentezi denir. Daha sonra mantık elemanlarını FPGA'da konumlandırmak için bir yerleştirme ve yönlendirme işlemi yapılır. Sonuç, FPGA'ya veya yapılandırma belleğine programlanabilen bir bit dosyasıdır. Bu genellikle FPGA'nın JTAG portuna bağlı bir USB programlayıcı ile yapılır.

FPGA entegre bir devre olduğu için, FPGA üreticisi yaygın olarak kullanılan diğer entegre devre bileşenlerini eklemeye karar verebilir. Bu sabit parçalara çekirdek adı verilir. Bunlar örneğin Ethernet kontrolörleri veya hatta tam bir işlemci mimarisidir. Savunma, tıp, iletişim ve robotik gibi farklı pazar segmentleri için FPGA üreticisi bu ek çekirdeklerin en değerli setini eklemeye çalışır.