stringtranslate.com

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

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

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

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

В 1973 году компания National Semiconductor представила программируемое по маске устройство PLA (DM7575) с 14 входами и 8 выходами без регистров памяти. Это было более популярно, чем часть TI, но стоимость изготовления металлической маски ограничивала ее использование. Это устройство важно, поскольку оно послужило основой для программируемой логической матрицы 82S100, выпущенной Signetics в 1975 году. ( 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-контактных DIP-корпусах толщиной 300 мил, а 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 г.

глобальные списки адресов

Решетки ГАЛ 16В8 и 20В8

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

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

CPLD

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

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

ПЛИС

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

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

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

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

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

EPLD

EPLD от Cypress в пакете PLCC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рекомендации

  1. ^ Аб Горовиц, Пол; Хилл, Уинфилд (2015). Горовиц П., Хилл В. - Искусство электроники . Нью-Йорк. п. 764. ИСБН 978-0-521-80926-9.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ Холдсворт, Б.; Вудс, Р.К. (2003). Проектирование цифровой логики (4-е изд.). Эльзевир. ISBN 978-0-7506-4582-9.
  3. ^ Сборник данных Motorola Semiconductor, четвертое издание . Motorola Inc., 1969. с. ИК-73.
  4. ^ аб Андрес, Кент (октябрь 1970 г.). Отчет о применении Texas Instruments: Программируемые логические матрицы МОП . Инструменты Техаса. Бюллетень СА-158.В отчете представлены серии PLA с программируемой маской 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». ЭДН . Бостон, Массачусетс: Издательство Cahners. 20 (13): 66. 20 июля 1975 г.Пресс-релиз о программируемой логической матрице Intersil IM5200. Четырнадцать входных контактов и 48 терминов продукта. Программирование миграции, вызванной лавинами. Цена за единицу составила 37,50 долларов США.
  9. ^ «FPLA обеспечивает быструю пользовательскую логику» . ЭДН . Бостон, Массачусетс: Издательство Cahners. 20 (13): 61. 20 июля 1975.Пресс-релиз о программируемых логических матрицах Signetics 82S100 и 82S101. Четырнадцать входных контактов, 8 выходных контактов и 48 терминов продукта. Программирование плавких вставок NiCr.
  10. ^ Пеллерин, Дэвид; Майкл Холли (1991). Практическое проектирование с использованием программируемой логики . Прентис-Холл. п. 15. ISBN 0-13-723834-7.
  11. ^ аб Тертулиен Нджунче. «Цифровая электроника 2: последовательные и арифметико-логические схемы». 2016. с. 224.
  12. ^ AB Клайв Максфилд. «Руководство дизайнера по FPGA». 2004. с. 20
  13. ^ Форматы файлов PLD

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