CPLD ( anglicky) Complex Programmable Logic Device ) je programovatelný logický integrovaný obvod (FPGA) v rozsahu složitosti mezi mikroobvody PAL ( Programmable Array Logic ) a FPGA ( Field-Programmable Gate Array ) , kombinující jejich architektonická řešení.
Základem CPLD je makrobuňková matice , která implementuje logická spojení hradel nebo složitější logické operace. Bloky makrobuněk jsou kombinovány programovatelnou spínací maticí s následným výstupem na vstupy (výstupy) obvodu [1] .
V CPLD je k dispozici dostatečně velký počet logických hradel - od několika tisíc do desítek tisíc, což umožňuje implementaci poměrně složitých zařízení pro zpracování dat (pro PAL je to maximálně několik set logických hradel, u moderních FPGA počet hradel může dosáhnout několika milionů). Zároveň je pro FPGA možné programovat flexibilnější a složitější logiku než jednoduché výrazy, jako je součet součinů , až po implementaci prvků digitálního zpracování signálu , digitálních filtrů a univerzálních procesorů (na rozdíl od CPLD, Technologie FPGA je založena na vyhledávacích tabulkách (LUT ) [1] [2] .
V původních verzích CPLD směrování omezovalo možnost připojit většinu logických bloků k jejich I/O kanálům prostřednictvím externích kontaktů, což neumožňovalo optimální využití vnitřní paměti mikroobvodů a implementaci víceúrovňové logiky. Novější rodiny velkých CPLD již toto omezení nemají.
Hlavním rozdílem mezi velkými CPLD a malými FPGA byla až donedávna přítomnost interní energeticky nezávislé konfigurační paměti v CPLD. Tento rozdíl již není tak výrazný, protože řada současných modelů FPGA takovou interní paměť také obsahuje. Přítomnost takové vnitřní energeticky nezávislé konfigurační paměti spolu s tak důležitou charakteristikou, jako je stabilita indikátorů, však činí CPLD nepostradatelnými pro moderní digitální obvody jako zařízení pro inicializaci obvodu před přenosem řízení na jiné mikroobvody, které toto nemají. schopnost. Příkladem může být použití CPLD k načtení konfiguračních dat FPGA z energeticky nezávislé paměti.
Jak technologie postupuje, rozdíl mezi CPLD a FPGA se stále stírá (například některé CPLD Intel jsou někdy označovány jako FPGA). Zároveň při porovnání těchto dvou rodin a s přihlédnutím k vývoji samotných CPLD a jejich možnostem, jejich architektonickým výhodám, jako je cena, energeticky nezávislá konfigurace, makročlánky s předvídatelnou charakteristikou parametrů, nižší spotřeba energie, můžeme předpokládat, že CPLD bude mít v dohledné době stabilní místo v nastavení počátečních parametrů digitálních obvodů, mobilní technologie, rozšiřování počtu vstupů/výstupů pro složitější mikroobvody, předzpracování signálu (například řadič COM portu , USB , VGA ) a v jiných aplikacích [1] [3] [4] [5] .
Hlavní výrobci CPLD: Altera , Atmel , Cypress Semiconductor , Lattice Semiconductor , Xilinx .