Programmable Logic Devices (PLDs) diperkenalkan pada pertengahan tahun 1970-an. Konsep dasar dari PLD sendiri adalah bagaimana membuat sebuah sirkuit logika kombinasional yang bersifat programmable (mampu diprogram). Perlu diingat, sirkuit kombinasional merupakan sirkuit yang di dalamnya tidak memiliki elemen memori. Hal ini berbeda dengan microprocessor yang mampu menjalankan sebuah program, namun nantinya mempengaruhi perangkat keras yang telah sudah ditentukan terlebih dahulu. Sedangkan kemampuan pemrograman PLD sudah direncanakan pada tingkat perangkat keras. Dengan kata lain, PLD adalah sebuah chip yang memiliki tujuan utama agar nantinya mampu mengatur perangkat keras sedemikain rupa sesuai dengan speseifikasinya.
Gambar
1. Programmable Logic Devices
Generasi PLD yang pertama dikenal dengan nama PAL (Programmable Array Logic) atau PLA (Progrramable Logic Array), tergantung pada bentuk
skema pemrogramannya. PAL/PLA biasanya hanya menggunakan gerbang logika (tidak
ada flip flop), serta hanya memperbolehkan implementasi dari sebuah sirkuit
kombinasional saja. Untuk menyelesaikan masalah ini, maka dibuatlah PLD yang
telah memiliki sebuah flip-flop pada tiap output sirkuitnya. Dengan demikian,
fungsi sekuensial sederhana dapat diimplementasikan dengan baik (bukan lagi
hanya funsi kombinasional saja).
Selanjutnya, pada awal tahun 1980-an, tambahan untaian logika ditambahkan pada tiap-tiap output PLD. Output baru tersebut diberi nama Macrocell yang diisi flip-flop, gerbang logika dan multiplekser. Selain itu, Macrocell sendiri juga bersifat programmable. Apalagi pada cell tersebut disediakan sinyal feedback yang berasal dari output sirkuit ke progrramable array. Sinyal tersebut nantinya akan memberikan PLD tingkat fleksibilitas yang lebih tinggi. Struktur baru dari PLD inilah yang kemudian secara umum diberi nama PAL (GAL). Arsitektur yang serupa juga dikanal dengan sebutan PALCE (PAL CMOS Electrically erasable/programmable). Semuanya (baik PAL, PLA, PLD, maupun GAL/PALCE) secara umum kini lazim disebut sebagai SPLDs(Simple PLDs)
Gambar 2. Macrocell
Berikutnya, beberapa perlangkapan GAL dibuat pada chip yang sama dengan
menggunakan penjaluran (routing) yang lebih canggih, menggunakan teknologi silikon
yang lebih rumit serta beberapa tambahan yang menjadi ciri khas, seperti
dukungan JTAG, dan antarmuka untuk beberapa standar logika. Pendekatan ini
kemudian dikenal dengan nama CPLD (Complex PLD).
CPLD saat ini lebih tekenal karena kepadatan (density) yang
tinggi, hasil yang memuaskan, dan biaya yang cukup rendah (CPLD dapat dibeli
dengan harga kisaran 1 dolar saja).
Gambar
3. CPLD
Akhirnya, pada pertengahan 1980-an, FPGA(Field Proframmable Gate Arrays)
mulai diperkenalkan. FPGA berbeda dari CPLDs dari segi arsitektur, teknologi,
ciri khas serta dari segi biaya. FPGA utamanya ditujukan untuk implementasi
yang membutuhkan ukuran besar besar, serta untuk sirkuit yang memiliki
kemampuan tinggi.