Технология устройств CPLD


Технология устройств 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:

  • Энергонезависимая конфигурационная память. В отличие от большинства FPGA, внешний конфигурационный чип ROM не требуется, и CPLD может функционировать немедленно сразу после системного запуска (включения).
  • Для многих CPLD-устройств, маршрутизация устроена так, что ограничивает большинство логических блоков в возможности подключения их к каналам ввода/вывода через внешние штырьки. Этим самым уменьшаются возможности по сокращению использования внутренней памяти микросхем и многоуровневой логики. Однако это ограничение уже не характерно для больших и более новых семейств CPLD.

Особенности, общие у CPLD с FPGA:

  • Большое количество доступных логических устройств. CPLDs обычно имеют от тысяч до десятков тысяч логических устройств, что позволет им обрабатывать данные от умеренно сложных устройств. PAL обычно имеют по несколько сотен логических устройств (в лучшем случае), в то время как в FPGA могут располагать ими в количествах от десятков тысяч до нескольких миллионов.
  • Возможно программирование более гибкой и сложной логики, чем простейшие выражения типа суммы произведений. Это обеспечивается возможностью проводить более сложные пути связи между макроячейками устройства, и встроенной специализированной логикой для осуществления различных стандартных функций, типа арифметики целого числа.

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

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

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

Такие CPLD как Xilinx CoolRunner серии также требуют чрезвычайно низкие объемы энергии и очень недороги, что делает их идеальными для портативных устройств, таких, как мобильные телефоны и другие цифровые карманные "помощники".


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100