CPLD (CPLD)

Перейти к навигации Перейти к поиску
CPLD ПЛИС Altera MAX 7128, эквивалентная 2500 логическим вентилям

CPLD (англ.  Complex Programmable Logic Device) — программируемая логическая интегральная схема (ПЛИС) в диапазоне сложности между микросхемами PAL[англ.] (Programmable Array Logic) и FPGA (англ. Field-Programmable Gate Array), сочетающая их архитектурные решения.

Основой CPLD является матрица макроячеек, в которой реализованы логические соединения вентилей или более сложные логические операции. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выходом на входы (выходы) схемы[1].

В CPLD доступно достаточно большое количество логических вентилей — от нескольких тысяч до десятков тысяч, что позволяет реализовать сравнительно сложные устройства обработки данных (для PAL это — как максимум несколько сотен логических вентилей, в современных FPGA количество вентилей может достигать нескольких миллионов). При этом для FPGA возможно программирование более гибкой и сложной логики, чем простейшие выражения типа суммы произведений, вплоть до реализации как элементов цифровой обработки сигналов, цифровых фильтров, так и процессоров общего назначения (в отличие от CPLD, технология FPGA базируется на вентильных матрицах Look-up tables (LUTs))[1][2].

В исходных вариантах CPLD маршрутизация ограничивала возможность подключения большинства логических блоков к их каналам ввода-вывода через внешние контакты, что не позволяло оптимально использовать внутреннюю память микросхем и реализовать многоуровневую логику. Для более новых семейств больших CPLD это ограничение уже не характерно.

Главным отличием между большими CPLD и малыми FPGA до недавних пор было наличие внутренней энергонезависимой конфигурационной памяти в CPLD. Это отличие становится уже не столь значимым, поскольку ряд последних моделей FPGA также включают такую внутреннюю память. Тем не менее, наличие такой внутренней энергонезависимой конфигурационной памяти, наряду с такой важной характеристой, как устойчивость показателей, делают CPLD незаменимыми для современных цифровых схем в качестве устройства для инициализации схемы, перед тем, как передать управление другим микросхемам, не обладающим такой способностью. В качестве примера можно привести использование CPLD для загрузки данных конфигурации FPGA из энергонезависимой памяти.

По мере развития технологии, различия между CPLD и FPGA продолжают размываться (например, иногда некоторые CPLD фирмы Intel называют FPGA). В то же время, сравнивая эти два семейства и учитывая развитие самих CPLD и их возможностей, такие их архитектурные преимущества, как цена, энергонезависимая конфигурация, макроячейки с предсказуемыми характеристиками параметров, меньшее энергопотребление, можно предположить, что CPLD будут иметь в обозримом будущем устойчивую нишу в задании начальных параметров цифровых схем, мобильной технологии, расширении числа входов/выходов для более сложных микросхем, предобработке сигналов (например, контроллер COM-порта, USB, VGA) и в других применениях[1][3] [4][5].

Основные производители CPLD: Altera, Atmel, Cypress Semiconductor[англ.], Lattice Semiconductor, Xilinx.

Примечания

[править | править код]