CPLD, характеристики и спецификации этой программируемой логики

CPLD, характеристики и спецификации

В последние годы ПЛИС стали известны тем, что имеют множество различных приложений и представляют собой в первую очередь программируемую логику. Но у них есть аналог в CPLD, которые намного лучше подходят для определенных задач и в то же время намного дешевле. Что такое CPLD и чем они отличаются от FPGA?

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

Интеграция схем с течением времени

Чипы TTL

Первые компьютеры были огромными, во многих случаях они фактически занимали не одну комнату. Причина этого? Архитектуры были построены с использованием множества микросхем, названных TTL или 7400, в честь серии Texas Instruments, которая была наиболее широко используемой. Из чего они состояли? Ну, в основных элементах для построения схем, которые могут варьироваться от простых логических вентилей до последовательных систем, таких как двоичный счетчик. Проекты были созданы путем соединения нескольких из этих элементов для получения определенной архитектуры.

Но развитие того, что мы называем законом Мура, принесло с собой более высокую плотность транзисторов и возможность интегрировать всю схему из нескольких микросхем TTL на одном кристалле. В конце 1960-х годов люди начали говорить о крупномасштабной интеграции, LSI, которая заключалась в возможности объединить конструкции от 1000 до 10,000 XNUMX транзисторов на одном кристалле. Такой масштаб позволил то, что раньше было ЦП состоит из нескольких разных микросхем, которые необходимо объединить в один. Отсюда появились первые процессоры для домашних компьютеров, такие как Intel 8080 и его Zilog клонируют Z80, MOS 6502 и Motorola 6800.

Но, как и «мини-компьютеры» размером с холодильник или даже шкаф, новые процессоры требовали использования дополнительных схем для ускорения определенных задач. Первые модели начали использовать микросхемы TTL для определенных функций, но со временем была принята интеграция всей схемы на одном кристалле, как это произошло с процессорами. Это привело к созданию программируемой логики, с помощью которой компании ускорили создание схем, сопровождающих процессор.

Сначала не было программируемой логики, но ПЗУ

Технически ПЗУ служит только для хранения данных, которые можно только читать, но микросхемы с фиксированной функцией могут быть созданы с помощью ПЗУ. Микросхема с фиксированной функцией - это микросхема, которая всегда выполняет одну и ту же задачу с входными данными, которые могут различаться.

Как реализовать фиксированную функцию в ПЗУ? Просто, как в Оперативная память В памяти есть декодер, который выбирает выходные данные. На самом деле он ничего не вычисляет, но, например, зная, каков результат определенных арифметических операций или определенных функций, их можно закодировать как выходные данные в ПЗУ и ускорить определенные вычисления.

Проблема? В ПЗУ мы не можем кодировать работу комбинационной логики и последовательной, поэтому вскоре возникла необходимость создать более сложный тип логики для интеграции схемы и, как следствие, снижения затрат.

PLA и PAL, предшественники CPLD

PLA предшествующий CPLD

Эволюция использования ROMS для интеграции фиксированной функции была связана с созданием программируемых логических массивов или PLA, это устройство, состоящее из серии логических элементов И, которые связаны с серией элементов ИЛИ, и каждый из них имеет один из их дополнительное НЕ инвертирует результат. С его помощью вы можете создавать функции комбинационной логики, которые начинаются с использования логического элемента И или И НЕ и заканчиваются логическим элементом ИЛИ. Цепи PLA имеют N входов, которые соответствуют N логическим элементам И, и M выходов, которые соответствуют логическим элементам ИЛИ.

PLA предшествующий CPLD

Другой тип программируемой логики назывался PAL, Programmable Array Logic, где, несмотря на схожесть названий, они не работали одинаково, поскольку логические элементы ИЛИ были фиксированными и не программируемыми и поэтому были менее универсальными, но намного дешевле.

ZX80 против ZX81

Влияние использования как PAL, так и PLA? Это было очень важно, так как позволяло реализовать комбинационные и последовательные схемы на одном кристалле. Например, видеосистемы, основанные на множестве микросхем TTL, были интегрированы в один процессор. Два наглядных примера использования микросхем PAL и PLA можно найти, с одной стороны, в Sinclair ZX81 по сравнению с ZX80 и в видеосистеме процессора. Apple Macintosh, где им удалось объединить все видеосхемы на одном чипе, что снизило затраты по сравнению с Apple Lisa, созданной самой Apple.

Но вскоре PAL и PLA устарели, и со временем появились новые типы программируемой логики. Сегодня больше всего выделяются FPGA, но не самые популярные, а CPLD.

Что такое CPLD и чем он отличается от FPGA?

CPLD FPGA сравнения

CPLD, аббревиатура которого расшифровывается как Complex Programmable Logic Device, подобно FPGA, является типом программируемой логики, но чья работа происходит от ROMS, PLA и PAL. Таким образом, его архитектура и работа полностью отличаются от FPGA.

Из-за различий с FPGA вы поймете, что такое CPLD, где и как они используются.

  • FPGA лучше подготовлены для моделирования оборудования, которое зависит от времени, тактовых циклов, в то время как CPLD больше предназначен для работы с комбинационными схемами и, следовательно, не зависит от последовательности шагов за цикл.
  • В CPLD время, необходимое для синтезированной функции в нем, всегда будет одинаковым, в FPGA - нет. Следовательно, CPLD используются для разработки комбинационных схем.
  • ПЛИС считаются продуктом очень высокого класса и, следовательно, имеют высокую стоимость. CPLD наоборот.
  • FPGA могут работать на гораздо более высоких тактовых частотах, чем CPLD.
  • ПЛИС необходимо перепрограммировать каждый раз при включении, поскольку она депрограммируется при выключении, CPLD работает как ПЗУ и не теряет свою конфигурацию при выключении устройства. Это означает, что FPGA основаны на RAM в своей архитектуре и CPLD на ROM.

Таким образом, мы никогда не увидим чего-то сложного, такого как ЦП, реализованного в CPLD, поскольку они не предназначены для этого. Сегодня CPLD часто интегрируются в платы разработки FPGA, поэтому обычно комбинируют оба типа программируемых схем.

Как работает CPLD?

CPLD - это, по сути, не что иное, как улучшенная и, следовательно, более сложная версия устройства PLD. Что такое устройства PLD? Мы уже говорили о них раньше, и в свое время они назывались НОАК.

CPLD - это не что иное, как последовательность PLA в качестве входной функции, но его логические элементы ИЛИ не генерируют выход, а его выход распределяется через матрицу, которая соединяется с другой серией функций PLA, которые могут давать результат на выходе или подаче. обратно в обратном направлении.

Следовательно, в CPLD все возможные логические функции закодированы в различных PLA, которые объединяются для достижения конечной функции, которую нужно получить. Как правило, при разработке новых процессоров CPLD используются как для моделирования комбинационной логики, так и для фиксированной функции, в то время как FPGA используются для последовательной логики и более сложных элементов, таких как ALU. Любопытно, что инструкции блоков декодирования процессоров и графических процессоров обычно сначала реализуются в CPLD, поскольку по сути они представляют собой не что иное, как комбинационные схемы.