stringtranslate.com

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

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

Программируемое логическое устройство ( ПЛУ ) — это электронный компонент, используемый для построения реконфигурируемых цифровых схем . В отличие от цифровой логики, построенной с использованием дискретных логических вентилей с фиксированными функциями, функция ПЛУ не определена на момент изготовления. Перед тем, как ПЛУ можно будет использовать в схеме, его необходимо запрограммировать для реализации желаемой функции. [1] По сравнению с фиксированными логическими устройствами программируемые логические устройства упрощают проектирование сложной логики и могут обеспечивать превосходную производительность. [2] В отличие от микропроцессоров , программирование ПЛУ изменяет соединения, выполненные между вентилями в устройстве.

PLD можно в целом разделить на следующие категории (в порядке возрастания сложности): простые программируемые логические устройства (SPLD) , включающие программируемую матричную логику , программируемую логическую матрицу и универсальную матричную логику ; сложные программируемые логические устройства (CPLD) ; и программируемые пользователем вентильные матрицы (FPGA) .

История

В 1969 году Motorola предложила XC157 — программируемую по маске вентильную матрицу с 12 вентилями и 30 незадействованными входными/выходными контактами. [3]

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

В 1971 году компания General Electric Company (GE) разрабатывала программируемое логическое устройство на основе новой технологии программируемой постоянной памяти (PROM). Это экспериментальное устройство улучшило ROAM от IBM, позволив использовать многоуровневую логику. Intel только что представила плавающий затвор УФ-EPROM, поэтому исследователь из GE внедрил эту технологию. Устройство GE стало первым стираемым PLD, когда-либо разработанным, опередив Altera EPLD более чем на десятилетие. GE получила несколько ранних патентов на программируемые логические устройства. [5] [6] [7]

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

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

НОАК

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

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

ПАЛ

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

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

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

GAL-ы

Lattice GAL 16V8 и 20V8. Это 35 наносекундные устройства.

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

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

Иногда микросхемы GAL называют простыми программируемыми логическими устройствами (SPLD), по аналогии со сложными программируемыми логическими устройствами (CPLD), описанными ниже.

CPLD

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

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

ПЛИС

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

(Примечание: 82S100 и аналогичные ИС от Signetics имеют структуру PLA, плоскость И + плоскость ИЛИ.)

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

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

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

EPLD

EPLD от Cypress в корпусе PLCC

Используя ту же технологию, что и EPROM , EPLD имеют кварцевое окно в корпусе, которое позволяет стирать их под воздействием ультрафиолетового света. [15] [16]

Используя ту же технологию, что и EEPROM , EEPLD можно стирать электрически. [15] [16]

Стираемое программируемое логическое устройство ( EPLD ) — это интегральная схема, которая состоит из массива PLD, которые не подключены заранее; соединения программируются электрически пользователем. Большинство устройств GAL и FPGA являются примерами EPLD. [ необходима цитата ]

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

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

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

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

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

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

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

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

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

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

Языки программирования ПЛИС

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

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

Информацию о современных языках программирования ПЛИС, процессах проектирования и инструментах см. в разделе ПЛИС и реконфигурируемые вычисления .

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

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

Смотрите также

Ссылки

  1. ^ ab Horowitz, Paul; Hill, Winfield (2015). Horowitz P., Hill W. - Искусство электроники . Нью-Йорк. стр. 764. ISBN 978-0-521-80926-9.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ Холдсворт, Б.; Вудс, Р.К. (2003). Цифровое логическое проектирование (4-е изд.). Elsevier. ISBN 978-0-7506-4582-9.
  3. ^ Motorola Semiconductor Data Book, четвертое издание . Motorola Inc. 1969. стр. IC-73.
  4. ^ ab Андрес, Кент (октябрь 1970 г.). Отчет о применении Texas Instruments: программируемые логические матрицы МОП . Texas Instruments. Бюллетень CA-158.В отчете представлены серии программируемых по маске ПЛМ TMS2000 и TMS2200.
  5. ^ Грир, Дэвид Л. Электрически программируемые логические схемы Патент США 3,818,452. Правообладатель: General Electric, Подано: 28 апреля 1972 г., Выдано: 18 июня 1974 г.
  6. ^ Грир, Дэвид Л. Многоуровневые ассоциативные логические схемы Патент США 3,816,725. Правообладатель: General Electric, Подано: 28 апреля 1972 г., Выдано: 11 июня 1974 г.
  7. ^ Грир, Дэвид Л. Сегментированные ассоциативные логические схемы Патент США 3,849,638. Правообладатель: General Electric, Подано: 18 июля 1973 г., Выдано: 19 ноября 1974 г.
  8. ^ "Полупроводники и ИС: FPLA". EDN . 20 (13). Бостон, Массачусетс: Cahners Publishing: 66. 20 июля 1975 г.Пресс-релиз по программируемой логической матрице Intersil IM5200. Четырнадцать входных контактов и 48 терминов продукта. Программирование с лавинной миграцией. Цена за единицу составила 37,50 долл.
  9. ^ "FPLA's give quick custom logic". EDN . 20 (13). Бостон, Массачусетс: Cahners Publishing: 61. 20 июля 1975 г.Пресс-релиз о программируемых логических матрицах Signetics 82S100 и 82S101. Четырнадцать входных контактов, 8 выходных контактов и 48 терминов продукта. Программирование предохранительных вставок NiCr.
  10. ^ Пеллерин, Дэвид; Майкл Холли (1991). Практическое проектирование с использованием программируемой логики . Prentice-Hall. стр. 15. ISBN 0-13-723834-7.
  11. ^ Дорф, Ричард С. (3 октября 2018 г.). Электроника, силовая электроника, оптоэлектроника, микроволны, электромагнетизм и радар. CRC Press. ISBN 978-1-4200-0315-4.
  12. ^ Вахид, Фрэнк; Гиваргис, Тони Д. (17 октября 2001 г.). Проектирование встроенных систем: унифицированное аппаратное и программное обеспечение. John Wiley & Sons. ISBN 978-0-471-38678-0.
  13. ^ Чен, Вай-Кай (3 октября 2018 г.). Справочник по СБИС. CRC Press. ISBN 978-1-4200-0596-7.
  14. ^ "Использование флэш-памяти для настройки ПЛИС" (PDF) . Altera . Получено 2024-08-21 .
  15. ^ ab Tertulien Ndjountche. «Цифровая электроника 2: Последовательные и арифметические логические схемы». 2016. стр. 224.
  16. ^ ab Клайв Максфилд. «Руководство для разработчиков ПЛИС». 2004. стр. 20
  17. ^ Форматы файлов PLD

Внешние ссылки