Pri navrhoch logickeho systemu je obcas - dost casto :), mat k dispozicii taky system, ktory sa u zakaznika da preprogramovat, zmenit. V takychto pripadoch mozeme pouzit relativne univerzalnu strukturu, ktora je postavena na bazi nejakeho mikroprocesoru, alebo nejakeho mikroprogramovatelneho obvodu. Pozadovanu funkciu obvodu dosiahneme vhodnym obsahom pamati. Neskorsia modifikacia je potom jednoduchsia.
Ak oddelime personifikaciu obvodov od ich realizacie, tak dostaneme cioym ktore nazyvame FPLA, PLD a PAL. U tychto obvodov je ich vnutorna konfiguracia definovana mimo vyrobny zavod a pri vyrobe spojovacich bodov sa pouzivaju tavne poistky, CMOS tranzistory a bistabilne klopne obvody. Tavne poistky su programovatelne iba jednorazovo, zatial co CMOS tranz. je mozne vymazat ultrafialovym svetlom a znovu naprogramovat a bistabilne klopne obvody - teda obvody, ktore stracaju svoju konfiguraciu po vypnuti je mozne preprogramovat tak, ze zmenime obsah zavadzacej pamate - ROM.
PLA je programovatelne pole logickych jednotiek, kde kazdu logicku jednotku je mozne naprogramovat.
FPGA obsahuju komplexne logicke bloky, ktore su prepojene prepojovacim systemom. Je tu moznost kofiguracie uzivatelom a to nielen fcie kazdeho bloku, ale aj prepojenia.