Республика Рио-Гранде
- 1 year ago
- 0
- 0
CPLD ( англ. Complex Programmable Logic Device ) — программируемая логическая интегральная схема (ПЛИС) в диапазоне сложности между микросхемами ( Programmable Array Logic ) и FPGA ( англ. Field-Programmable Gate Array ), сочетающая их архитектурные решения.
Основой CPLD является матрица макроячеек , в которой реализованы логические соединения вентилей или более сложные логические операции. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выходом на входы (выходы) схемы .
В CPLD доступно достаточно большое количество логических вентилей — от нескольких тысяч до десятков тысяч, что позволяет реализовать сравнительно сложные устройства обработки данных (для PAL это — как максимум несколько сотен логических вентилей, в современных FPGA количество вентилей может достигать нескольких миллионов). При этом для FPGA возможно программирование более гибкой и сложной логики, чем простейшие выражения типа суммы произведений , вплоть до реализации как элементов цифровой обработки сигналов , цифровых фильтров , так и процессоров общего назначения (в отличие от CPLD, технология FPGA базируется на вентильных матрицах Look-up tables (LUTs) ) .
В исходных вариантах CPLD маршрутизация ограничивала возможность подключения большинства логических блоков к их каналам ввода-вывода через внешние контакты, что не позволяло оптимально использовать внутреннюю память микросхем и реализовать многоуровневую логику. Для более новых семейств больших CPLD это ограничение уже не характерно.
Главным отличием между большими CPLD и малыми FPGA до недавних пор было наличие внутренней энергонезависимой конфигурационной памяти в CPLD. Это отличие становится уже не столь значимым, поскольку ряд последних моделей FPGA также включают такую внутреннюю память. Тем не менее, наличие такой внутренней энергонезависимой конфигурационной памяти, наряду с такой важной характеристой, как устойчивость показателей, делают CPLD незаменимыми для современных цифровых схем в качестве устройства для инициализации схемы, перед тем, как передать управление другим микросхемам, не обладающим такой способностью. В качестве примера можно привести использование CPLD для загрузки данных конфигурации FPGA из энергонезависимой памяти.
По мере развития технологии, различия между CPLD и FPGA продолжают размываться (например, иногда некоторые CPLD фирмы Intel называют FPGA). В то же время, сравнивая эти два семейства и учитывая развитие самих CPLD и их возможностей, такие их архитектурные преимущества, как цена, энергонезависимая конфигурация, макроячейки с предсказуемыми характеристиками параметров, меньшее энергопотребление, можно предположить, что CPLD будут иметь в обозримом будущем устойчивую нишу в задании начальных параметров цифровых схем, мобильной технологии, расширении числа входов/выходов для более сложных микросхем, предобработке сигналов (например, контроллер COM-порта , USB , VGA ) и в других применениях .
Основные производители CPLD: Altera , Atmel , , Lattice Semiconductor , Xilinx .