Технология устройств CPLD (complex programmable logic device) — технология программируемых логических устройств со сложностью, занимающей диапазон примерно между PAL (Programmable Array Logic) и FPGA (Field-programmable gate array), и с сочетанием их архитектурных особенностей.
Собственно говоря, термин ПЛИС (программируемые логические интегральные схемы) является переводом именно слов CPLD (complex programmable logic device). Несмотря на это, в отечественной схемотехнике к ПЛИСам относят также и устройства FPGA.
CPLD состоят из блоков логических вентилей, объединенных программируемой коммутационной матрицей. Современные CPLD, как правило, являются электрически перепрограммируемыми и сохраняют логическую структуру после отключения питания. Отсюда понятно, что FPGA даже в некотором смысле являются более «программируемыми», чем CPLD.
Общие особенности технологии CPLD с PAL:
Особенности, общие у CPLD с FPGA:
Наиболее значимым различием между большим CPLD и маленьким FPGA до недавних пор было присутствие энергонезависимой конфигурационной памяти на чипе в CPLD. Это различие быстро становится неактуальным: ряд последних моделей FPGA также имеют модификации с энергонезависимой конфигурационной памятью. Тем не менее, ресурс перепрограммирования у последних изначально рассчитан на большее количество перезаписи, чем у CPLD (характерное количество циклов перепрограммирования у CPLD выражается десятками тысяч раз, чего явно недостаточно для устройств FPGA).
Такая важная характеристика CPLD, как устойчивость показателей, делает CPLD основными устройствами для современных цифровых технологий, чтобы исполнить ‘загрузчик начальной загрузки’ перед передачей управления на другие устройства, не имеющие эту способность. Хороший пример — то, где CPLD используется, чтобы загрузить данные конфигурации для FPGA от энергонезависимой памяти.
По мере развития CPLD и FPGA стали более условными различия между этими двумя типами устройств (например, иногда некоторые CPLD INTEL называют FPGA), и они продолжают размываться. В то время как эта тенденция, как может показаться, делает более трудным сохранить обособленность терминов, такие архитектурные преимущества CPLD, как дешевая, энергонезависимая конфигурация, и макроячейки с предсказуемыми характеристиками параметров синхронизации, будут, вероятно, достаточно серьёзны для того, чтобы разделение этих изделий по типам оставалось в обозримом будущем.
Такие CPLD как Xilinx CoolRunner серии также требуют чрезвычайно низкие объемы энергии и очень недороги, что делает их идеальными для портативных устройств, таких, как мобильные телефоны и другие цифровые карманные «помощники».
© Лаборатория Параллельных информационных технологий НИВЦ МГУ
CPLD ПЛИС Altera MAX 7128, эквивалентная 2500 логическим вентилям
CPLD (англ. Complex Programmable Logic Device) — программируемая логическая интегральная схема (ПЛИС) в диапазоне сложности между микросхемами PAL (англ.) (Programmable Array Logic) и FPGA (англ. Field-Programmable Gate Array), сочетающая их архитектурные решения.
Содержание
|
Основой CPLD является матрица макроячеек, в которой реализованы логические соединения вентилей или более сложные логические операции. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выходом на входы (выходы) схемы.[1]
Общие особенности технологий:
Главным отличием между большим CPLD и малым FPGA до недавних пор было наличие внутренней энергонезависимой конфигурационной памяти в CPLD. Это отличие становится уже не столь значимым, поскольку ряд последних моделей FPGA также включают такую внутреннюю память. Тем не менее, наличие такой внутренней энергонезависимой конфигурационной памяти, наряду с такой важной характеристой, как устойчивость показателей, делают CPLD незаменимыми для современных цифровых схем в качестве устройства для инициализации схемы, перед тем, как передать управление другим микросхемам, не обладающим такой способностью. В качестве примера можно привести использование CPLD для загрузки данных конфигурации FPGA из энергонезависимой памяти. CPLD можно назвать промежуточным этапом между устройствами PAL и FPGA, и, по мере развития технологии, различия между CPLD и FPGA продолжают размываться (например, иногда некоторые CPLD фирмы Intel называют FPGA).
В то же время, сравнивая эти два семейства и учитывая развитие самих CPLD и их возможностей, такие их архитектурные преимущества, как цена, энергонезависимая конфигурация, макроячейки с предсказуемыми характеристиками параметров, меньшее энергопотребление, можно предположить, что CPLD будут иметь в обозримом будущем устойчивую нишу в задании начальных параметров цифровых схем, мобильной технологии, расширении числа входов/выходов для более сложных микросхем, предобработке сигналов (например, контроллер COM-порта, USB, VGA) и в других применениях.[1][4][5][6]Информационные технологии, Интернет и электронные чипы служат основой современной цифровой эпохи. Практически все современные технологии обязаны своим существованием электронике, от интернета и сотовой связи до компьютеров и серверов. Электроника — это обширная область с множеством подотраслей. Эта статья расскажет вам о важном цифровом электронном устройстве, известном как CPLD (сложное программируемое логическое устройство).
Электроника — сложная область, в которой существуют тысячи электронных устройств и компонентов. Однако, вообще говоря, электронные устройства делятся на две основные категории: аналоговые и цифровые.
На заре электронных технологий схемы были аналогичны, например, звук, свет, напряжение и ток. Однако вскоре инженеры-электронщики обнаружили, что аналоговые схемы очень сложны в разработке и дороги. Потребность в высокой производительности и коротком времени оборота привела к развитию цифровой электроники. Сегодня почти каждое существующее вычислительное устройство включает в себя цифровые ИС и процессоры.
В отличие от бесконечного числа уровней данных в аналоговом сигнале, цифровой сигнал состоит только из двух логических уровней (1 и 0).
Рисунок 1: Аналоговый и цифровой сигналПервые цифровые электронные устройства были довольно простыми и состояли всего из нескольких логических вентилей. Однако со временем сложность цифровых схем возрастала, поэтому важной особенностью современных цифровых устройств управления стала программируемость. Появились два разных класса цифровых устройств, обеспечивающих программируемость. Первый класс состоял из фиксированной аппаратной конструкции с перепрограммируемым программным обеспечением. Примеры таких устройств включают микроконтроллеры и микропроцессоры. Второй класс цифровых устройств отличался реконфигурируемым аппаратным обеспечением для создания гибкой логической схемы. Примеры таких устройств включают FPGA, SPLD и CPLD.
Чип микроконтроллера имеет фиксированную цифровую логическую схему, которую нельзя изменить. Однако программируемость достигается изменением программного/микропрограммного обеспечения, работающего на микросхеме микроконтроллера. Напротив, PLD (программируемое логическое устройство) состоит из нескольких логических ячеек, взаимосвязи которых можно настроить с помощью HDL (языка описания аппаратуры). Следовательно, многие логические схемы могут быть реализованы с использованием ПЛИС. Благодаря этому производительность и скорость ПЛИС, как правило, выше, чем у микроконтроллеров и микропроцессоров. PLD также предоставляют разработчикам схем большую степень свободы и гибкости.
Рисунок 2: Типы программируемых цифровых устройствИнтегральные схемы, предназначенные для цифрового управления и обработки сигналов, обычно состоят из процессора, логической схемы и памяти. Каждый из этих модулей может быть реализован с использованием различных технологий. Доступные опции показаны на следующем рисунке:
Рис. 3. Модули в цифровых ИСКак обсуждалось ранее, существует несколько различных типов PLD (программируемых логических устройств), таких как FPGA, CPLD и SPLD. Основное различие между этими устройствами заключается в сложности схемы и количестве доступных логических ячеек. SPLD обычно состоит из нескольких сотен вентилей, тогда как CPLD состоит из нескольких тысяч логических вентилей.
С точки зрения сложности CPLD (сложное программируемое логическое устройство) находится между SPLD (простое программируемое логическое устройство) и FPGA и, таким образом, наследует функции обоих этих устройств. CPLD сложнее, чем SPLD, но менее сложны, чем FPGA.
Наиболее часто используемые SPLD включают PAL (программируемая логическая матрица), PLA (программируемая логическая матрица) и GAL (общая логика массива). PLA состоит из одной плоскости И и одной плоскости ИЛИ. Программа описания оборудования определяет взаимосвязь этих плоскостей. Иллюстрация PLA представлена следующим образом:
Рисунок 4: Программируемая логическая матрица (PLA)PAL очень похожа на PLA, однако имеет только одну программируемую плоскость вместо двух (плоскость AND). Фиксируя одну плоскость, аппаратная сложность снижается. Однако это преимущество достигается ценой гибкости.
Рис. 5. Логика программируемой матрицы (PAL)CPLD можно рассматривать как эволюцию PAL и состоит из нескольких структур PAL, известных как макроячейки. В пакете CPLD все входные контакты доступны для каждой макроячейки, тогда как каждая макроячейка имеет выделенный выходной контакт. Блок-схема CPLD представлена на следующем рисунке.
Рисунок 6: Блок-схема CPLDИз блок-схемы видно, что CPLD состоит из нескольких макроячеек или функциональных блоков. Макроячейки соединяются через программируемое межсоединение, которое также называется GIM (глобальная матрица межсоединений). Путем реконфигурации GIM могут быть реализованы различные логические схемы. CPLD взаимодействуют с внешним миром, используя цифровые входы/выходы.
В последние годы ПЛИС стали очень популярны при разработке программируемых цифровых систем. Между CPLD и FPGA есть много сходств, а также различий. Что касается сходства, оба являются программируемыми логическими устройствами, состоящими из массивов логических элементов. Оба устройства запрограммированы с использованием HDL, таких как Verilog HDL или VHDL.
Первое различие между CPLD и FPGA заключается в количестве вентилей. CPLD содержит несколько тысяч логических элементов, тогда как количество элементов в FPGA может достигать миллионов. Следовательно, сложные схемы и системы могут быть реализованы с использованием ПЛИС. Обратной стороной этой сложности является более высокая стоимость. Следовательно, CPLD больше подходят для менее сложных приложений.
Еще одно ключевое различие между этими двумя устройствами заключается в том, что CPLD имеют встроенную энергонезависимую EEPROM (электрически стираемую программируемую память с произвольным доступом), тогда как FPGA имеют энергозависимую память. Благодаря этому CPLD может сохранять свое содержимое даже при выключении питания, в то время как FPGA не может сохранять свое содержимое. Более того, благодаря встроенной энергонезависимой памяти CPLD может начать работу сразу после включения питания. С другой стороны, большинству ПЛИС для запуска требуется битовый поток из внешней энергонезависимой памяти.
С точки зрения производительности, FPGA имеют непредсказуемую задержку обработки сигнала из-за очень сложной архитектуры в сочетании с пользовательским программированием. В CPLD задержка между контактами значительно меньше из-за более простой архитектуры. Задержка обработки сигнала является важным фактором при разработке критически важных для безопасности встроенных приложений реального времени.
Из-за более высоких рабочих частот и более сложных логических операций некоторые FPGA могут потреблять больше энергии, чем CPLD. Таким образом, управление температурным режимом является важным фактором в системах на основе FPGA. По этой причине в системах на основе FPGA часто используются радиаторы и охлаждающие вентиляторы, а также требуются более крупные и сложные источники питания и распределительные сети.
С точки зрения информационной безопасности CPLD более безопасны, так как память встроена в сам чип. Наоборот, большинству ПЛИС требуется внешняя энергонезависимая память, что может представлять угрозу безопасности данных. Хотя алгоритмы шифрования данных находятся в FPGA, CPLD по своей сути более безопасны по сравнению с FPGA.
CPLD находят свое применение во многих цифровых схемах управления и обработки сигналов низкой и средней сложности. Некоторые из важных приложений включают в себя:
CPLD и FPGA — это программируемые логические устройства высокого класса, которые сложно изготовить. Основные производители CPLD:
Первым шагом в разработке цифровой системы на основе CPLD является выбор производителя устройства. Как было сказано ранее, эти устройства производят несколько производителей. После ознакомления с требованиями проекта и техническими описаниями устройств необходимо выбрать соответствующее устройство. Решающими факторами являются стоимость, потребляемая мощность, количество входов/выходов и макроячеек, рабочее напряжение и тепловые характеристики.
После выбора модели CPLD следующим шагом является настройка среды программирования и тестирования. Он включает в себя пакет программного обеспечения, используемый для проектирования, тестирования и проверки схемы. Примеры программного обеспечения для программирования включают Altera Quartus, Xilinx ISE/Vivado, Lattice Diamond и Atmel ProChip Designer. Эти программные пакеты позволяют разрабатывать программы с использованием языков описания оборудования Verilog и VHDL.
После создания логического описания на HDL аппаратное устройство/плата для разработки подключается к программному обеспечению через адаптер кабеля для программы и отладки. Многие макетные платы имеют встроенные устройства программирования. Однако, если программатор отсутствует, можно использовать программатор JTAG.
После разработки, тестирования и проверки программы CPLD программа загружается в микросхему, после чего может быть изготовлен прототип системы. Можно спроектировать печатную плату, на которой размещены CPLD и окружающие электронные компоненты. После интеграции устройство тестируется на наличие багов и ошибок. После отладки прототип готов к отправке в производство.
Цифровая электроника является основой современных информационных технологий. Программируемость является ключевым фактором при проектировании цифровых систем. Программируемые цифровые устройства бывают двух типов: процессоры и PLD. PLD обеспечивают превосходную производительность и гибкость благодаря реконфигурируемому оборудованию. CPLD являются одним из трех основных типов PLD, наряду с SPLD и FPGA. С точки зрения производительности и сложности CPLD находятся между SPLD и FPGA. Благодаря встроенной энергонезависимой памяти EEPROM CPLD имеют преимущество в повышенной безопасности данных и скорости загрузки по сравнению с FPGA.
В этой статье мы предоставили вам полный обзор CPLD, включая архитектуру, диаграммы, приложения и методы программирования.
Готовы начать работу с электроникой Fusion 360? Начните бесплатную пробную версию сегодня.
Комплексное программируемое логическое устройство (CPLD) представляет собой комбинацию полностью программируемой матрицы И/ИЛИ и банка макроячеек. Массив И/ИЛИ является перепрограммируемым и может выполнять множество логических функций. Макроячейки — это функциональные блоки, которые выполняют комбинаторную или последовательную логику, а также обладают дополнительной гибкостью для истинности или дополнения, наряду с различными путями обратной связи.
Традиционно CPLD использовали усилители аналоговых датчиков для повышения производительности своих архитектур. Это повышение производительности произошло за счет очень высоких требований к току. CPLD CoolRunner™-II, созданные AMD, используют инновационное полностью цифровое ядро для достижения того же уровня производительности при сверхнизких требованиях к энергопотреблению. Это позволяет разработчикам использовать одну и ту же архитектуру CPLD как для высокопроизводительных, так и для маломощных систем.
Удаление аналоговых усилителей считывания также делает архитектуру масштабируемой, позволяя резко снижать затраты и расширять функциональные возможности с каждым последующим поколением процессов.
Нажмите, чтобы развернуть
CPLD выполняют множество полезных функций при проектировании систем благодаря своим уникальным возможностям, и, будучи лидером на рынке программируемых логических решений, AMD предлагает комплексное решение для нужд CPLD проектировщика.
Понимание особенностей и преимуществ использования CPLD может упростить проектирование, снизить затраты на разработку и ускорить вывод продуктов на рынок.
Характеристики | CoolRunner-II |
---|---|
Напряжение ядра | 1,8 |
Макроселлы | 32-512 |
Входы/выходы | 21-270 |
Допуск ввода/вывода | 1,5 В, 1,8 В, 2,5 В, 3,3 В |
TPD / ƒ макс (самый быстрый) | 3,8/323 |
Сверхнизкое энергопотребление в режиме ожидания | 28,8 мкВт* |
Стандарты ввода/вывода | LVTTL, LVCMOS, HSTL, SSTL |
* Минимальное энергопотребление системы достигается благодаря расширенной функции DataGATE CoolRunner-II.
Понимание особенностей и преимуществ использования CPLD может упростить проектирование, снизить затраты на разработку и ускорить вывод продукции на рынок.
При выборе CPLD, подходящего для проекта, вам необходимо определить следующие параметры (приоритет каждого из них зависит от вашего проекта):