CPLD
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.
Примечания
- ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner, Михаил Кузелин compitech.ru
- Введение в проектирование комбинационных схем на ПЛИС. В. Соловьев, А. Климович chipinfo.ru
- MAX II CPLD: Lowest Power, Lowest Cost CPLD Family Ever Архивировано 4 декабря 2010 года. altera.com
- Потребление энергии CPLD ATMEL составляет всего 5мкА, 29.12.2006 (недоступная ссылка) terraelectronica.ru
- PLL на основе CPLD digit-el.com