Программируемое логическое устройство

редактировать

Технология перепрограммируемого компьютерного оборудования Упрощенное устройство PAL. Программируемые элементы (показаны как плавкие предохранители) подключают как истинный, так и дополнительный входы к логическим элементам AND. Эти логические элементы И, также известные как термины продукта, объединяются по ИЛИ для формирования логического массива суммы продуктов.

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

Содержание
  • 1 Ранняя программируемая логика
  • 2 PLA
  • 3 PAL
  • 4 GAL
  • 5 CPLD
  • 6 FPGA
  • 7 Другие варианты
  • 8 Как PLD сохраняют свою конфигурацию
  • 9 Языки программирования PLD
  • 10 Устройства программирования PLD
  • 11 Ссылки
  • 12 Внешние ссылки
Ранняя программируемая логика

В 1969 году Motorola предложила XC157, матрицу логических элементов с программированием по маске с 12 воротами и 30 незафиксированными контактами ввода / вывода.

В 1970 году Texas Instruments разработала программируемую по маске ИС на основе ассоциативной памяти IBM только для чтения или ROAM. Это устройство, TMS2000, было запрограммировано путем изменения металлического слоя во время изготовления ИС. TMS2000 имел до 17 входов и 18 выходов с 8 JK-триггерами для памяти. TI придумала термин Programmable Logic Array (PLA) для этого устройства.

В 1971 году компания General Electric Company (GE) разрабатывала программируемое логическое устройство на основе новая программируемая постоянная память (PROM). Это экспериментальное устройство улучшило ROAM IBM, допустив многоуровневую логику. Intel только что представила стираемый PROM с плавающим затвором UV, поэтому исследователи из GE использовали эту технологию. Устройство GE было первым когда-либо разработанным ПЛИС со стиранием, более чем на десять лет предшествовавшим Altera EPLD. GE получила несколько ранних патентов на программируемые логические устройства.

В 1973 году National Semiconductor представила программируемое по маске устройство PLA (DM7575) с 14 входами и 8 выходами без регистров памяти. Это было более популярно, чем деталь TI, но стоимость изготовления металлической маски ограничивала ее использование. Это устройство важно, потому что оно было основой для программируемой логической матрицы, созданной Signetics в 1975 году, 82S100. (Intersil фактически превзошел Signetics на рынке, но низкая доходность обрекла их роль.)

В 1974 году GE заключила соглашение с Monolithic Memories (MMI) на разработку маски –Программируемое логическое устройство, воплощающее инновации GE. Устройство было названо «Программируемая ассоциативная логическая матрица» или PALA. MMI 5760 был построен в 1976 году и мог реализовать многоуровневые или последовательные схемы более 100 вентилей. Устройство поддерживалось средой проектирования GE, в которой логические уравнения преобразовывались в шаблоны масок для настройки устройства. Деталь так и не поступила на рынок.

PLA

В 1970 году Texas Instruments разработала программируемую по маске ИС на основе IBM read- только ассоциативная память или ROAM. Это устройство, TMS2000, было запрограммировано путем изменения металлического слоя во время изготовления ИС. TMS2000 имел до 17 входов и 18 выходов с 8 триггерами JK для памяти. TI придумал термин программируемый логический массив для этого устройства.

Программируемый логический массив (PLA) имеет программируемый логический массив И, который связан с программируемым логическим массивом ИЛИ, который затем может быть условно дополняется для получения вывода. PLA похож на концепцию ROM, однако PLA не обеспечивает полного декодирования переменной и не генерирует все minterms, как в ROM.

PAL

Устройства PAL имеют массивы транзисторных ячеек, расположенных в плоскости «фиксированное ИЛИ, программируемое И», используемое для реализации двоичных логических уравнений «суммы произведений» для каждого из выходы с точки зрения входов и либо синхронной, либо асинхронной обратной связи с выходов.

MMI представила революционное устройство в 1978 году, логику программируемого массива или PAL. Архитектура была проще, чем у Signetics FPLA, потому что в ней отсутствовал программируемый массив ИЛИ. Это делало детали быстрее, меньше и дешевле. Они были доступны в 20-контактных корпусах DIP на 300 мил, а FPLA - в 28-контактных корпусах по 600 мил. Справочник PAL проясняет процесс проектирования. Программа проектирования PALASM (ассемблер PAL) преобразовала логические уравнения инженеров в схему предохранителей, необходимую для программирования детали. Устройства PAL вскоре были закуплены вторыми компаниями National Semiconductor, Texas Instruments и AMD.

После того, как MMI добился успеха с 20-контактными частями PAL, AMD представила 24-контактный PAL с дополнительными функциями. После покупки MMI (1987) AMD выделила консолидированное предприятие под названием Vantis, и этот бизнес был приобретен Lattice Semiconductor в 1999 году.

GALs
Lattice GAL 16V8 и 20V8

Усовершенствованием PAL было универсальное логическое устройство массива, или GAL, изобретенное Lattice Semiconductor в 1985 году. Это устройство имеет те же логические свойства, что и PAL, но его можно стереть и перепрограммировал. Глобальный список адресов очень полезен на этапе прототипирования проекта, когда любые ошибки в логике могут быть исправлены путем перепрограммирования. Глобальные списки адресов программируются и перепрограммируются с помощью программатора PAL или с помощью метода внутрисхемного программирования на поддерживающих микросхемах.

Решетчатые GAL объединяют CMOS и технологию электрически стираемого (E) плавающего затвора для создания высокоскоростного логического устройства с низким энергопотреблением. Аналогичное устройство, называемое PEEL (программируемая электрически стираемая логика), было представлено корпорацией International CMOS Technology (ICT).

CPLD

PAL и GAL доступны только в небольших размерах, эквивалентных нескольким сотням логических вентилей. Для более крупных логических схем можно использовать сложные PLD или CPLD. Они содержат эквивалент нескольких PAL, связанных программируемыми межсоединениями, все в одной интегральной схеме. CPLD могут заменить тысячи или даже сотни тысяч логических вентилей.

Некоторые CPLD программируются с помощью программатора PAL, но этот метод становится неудобным для устройств с сотнями контактов. Второй метод программирования - припаять устройство к его печатной плате, а затем подать на него последовательный поток данных с персонального компьютера. CPLD содержит схему, которая декодирует поток данных и настраивает CPLD для выполнения указанной логической функции. Некоторые производители (включая Altera и Microsemi ) используют JTAG для программирования CPLD в цепи из файлов .JAM.

FPGA

В то время как PAL развивались в GAL и CPLD (все обсуждалось выше), происходил отдельный поток разработки. Этот тип устройства основан на технологии вентильной матрицы и называется вентильной матрицей , программируемой пользователем (FPGA). Ранними примерами ПЛИС являются массив 82s100 и секвенсор 82S105 от Signetics, представленные в конце 1970-х годов. 82S100 представлял собой набор терминов И. 82S105 также имел функции триггера.

(Примечание: 82S100 и аналогичные ИС от Signetics имеют PLA-структуру, AND-Plane + OR-Plane)

FPGA используют сетку из логических вентилей, и один раз сохраненные данные не изменяются, как и в обычном массиве вентилей. Термин «программируемый на месте» означает, что устройство программируется заказчиком, а не производителем.

FPGA обычно программируются после пайки на печатной плате, аналогично тому, как это делается для больших CPLD. В большинстве больших ПЛИС конфигурация непостоянна и должна быть повторно загружена в устройство всякий раз, когда подается питание или требуются другие функции. Конфигурация обычно хранится в конфигурации PROM или EEPROM. Версии EEPROM могут программироваться внутри системы (обычно через JTAG ).

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

Другие варианты

Это микропроцессорные схемы, которые содержат некоторые фиксированные функции и другие функции, которые могут быть изменены кодом, запущенным на процессоре. Проектирование самоизменяющихся систем требует от инженеров изучения новых методов и разработки новых программных инструментов.

Сейчас продаются PLD, которые содержат микропроцессор с фиксированной функцией (так называемое ядро), окруженный программируемой логикой. Эти устройства позволяют дизайнерам сосредоточиться на добавлении новых функций в проекты, не беспокоясь о том, чтобы микропроцессор заработал. Кроме того, микропроцессор с фиксированной функцией занимает меньше места на микросхеме, чем часть программируемой вентильной матрицы, реализующей тот же процессор, оставляя больше места для программируемой вентильной матрицы, чтобы содержать специализированные схемы разработчика.

Как PLD сохраняют свою конфигурацию

PLD - это комбинация логического устройства и запоминающего устройства. Память используется для хранения рисунка, который был передан чипу во время программирования. Большинство методов хранения данных в интегральной схеме адаптированы для использования в PLD. К ним относятся:

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

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

Ячейка памяти СППЗУ - это MOSFET (металлооксидный полупроводниковый полевой транзистор, или МОП-транзистор), который можно включить, удерживая электрический заряд на своем электроде затвора. Это делает программист PAL. Заряд сохраняется в течение многих лет и может быть удален только путем воздействия на чип сильного ультрафиолетового света в устройстве, называемом ластиком EPROM.

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

По состоянию на 2005 год большинство CPLD электрически программируются, стираются и энергонезависимы. Это связано с тем, что они слишком малы, чтобы оправдать неудобства программирования внутренних ячеек SRAM при каждом запуске, а ячейки EPROM более дороги из-за их керамического корпуса с кварцевым окном.

Языки программирования PLD

Многие устройства программирования PAL принимают ввод в стандартном файловом формате, обычно называемом «JEDEC файлами». Они аналогичны программным компиляторам. Языки, используемые в качестве исходного кода для логических компиляторов, называются языками описания оборудования или HDL. Часто используются

PALASM, ABEL и CUPL. для устройств низкой сложности, а Verilog и VHDL - популярные языки описания более высокого уровня для более сложных устройств. Более ограниченный ABEL часто используется по историческим причинам, но для новых проектов VHDL более популярен, даже для проектов низкой сложности.

Для современных языков программирования PLD, схем проектирования и инструментов см. FPGA и Реконфигурируемые вычисления.

Устройства программирования PLD

A программатор устройства используется для передачи шаблон логической логики в программируемое устройство. На заре создания программируемой логики каждый производитель PLD также производил специализированный программатор для своего семейства логических устройств. Позже на рынок вышли универсальные программаторы устройств, поддерживающие несколько семейств логических устройств от разных производителей. Современные программисты устройств обычно могут программировать обычные PLD (в основном эквиваленты PAL / GAL) от всех существующих производителей. Распространенными форматами файлов, используемыми для хранения логической логической схемы (предохранителей), являются JEDEC, Altera POF (файл с программируемыми объектами) или Xilinx BITstream.

Ссылки
Внешние ссылки
В Викиучебниках есть книга по теме: Программируемая логика
На Викискладе есть носители, относящиеся к Программируемым логическим устройствам.
  • «Инструменты PLD для создания SVF, JAM, STAPL и других форматов». JTAG / граничное сканирование. Corelis. 1 декабря 2010 г.
  • «ПЛИС и CPLD». Решетка полупроводников.
Последняя правка сделана 2021-06-02 07:49:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте