Программируемая логика массива - Programmable Array Logic
Programmable Array Logic ( PAL ) - это семейство полупроводниковых устройств с программируемой логикой, используемых для реализации логических функций в цифровых схемах, представленных компанией Monolithic Memories , Inc. (MMI) в марте 1978 г. Полупроводниковые логические схемы ». В настоящее время товарный знак принадлежит компании Lattice Semiconductor .
Устройства PAL состояли из небольшого ядра PROM (программируемая постоянная память) и дополнительной выходной логики, используемой для реализации конкретных желаемых логических функций с помощью нескольких компонентов.
Используя специализированные машины, устройства PAL можно было "программировать на месте". PAL были доступны в нескольких вариантах:
- « Одноразовые программируемые » (OTP) устройства не могли быть обновлены и повторно использованы после начального программирования (MMI также предлагала аналогичное семейство под названием HAL или «логика жесткого массива», которые были похожи на устройства PAL, за исключением того, что они были запрограммированы по маске в фабрика.).
- Версии с УФ-стиранием (например: PALCxxxxx, например: PALC22V10) имели кварцевое окно над кристаллом кристалла и могли стираться для повторного использования с источником ультрафиолетового света точно так же, как EPROM .
- Более поздние версии (PALCExxx, например: PALCE22V10) были устройствами со стиранием флэш-памяти.
В большинстве применений, электрически стираемые- ОУД теперь развернуты как пин-совместимый прямые замены для одноразовых программируемых PALs.
История
До того, как были введены PAL, разработчики цифровых логических схем использовали компоненты малой интеграции (SSI), такие как компоненты семейства TTL ( транзисторно-транзисторная логика ) серии 7400 ; Семейство 7400 включает в себя множество логических строительных блоков, таких как вентили ( НЕ , И-НЕ , ИЛИ , И , ИЛИ ), мультиплексоры (MUX) и демультиплексоры (DEMUX), триггеры (D-типа, JK и т. д.) и другие. . Одно устройство PAL обычно заменяет десятки таких «дискретных» логических пакетов, поэтому бизнес SSI пришел в упадок по мере роста бизнеса PAL. PAL успешно использовались во многих продуктах, таких как миникомпьютеры , как описано в бестселлере Трейси Киддер « Душа новой машины» .
PAL не были первыми коммерческими программируемыми логическими устройствами; Signetics продавала свою программируемую логическую матрицу (FPLA) с 1975 года. Эти устройства были совершенно незнакомы большинству разработчиков схем и считались слишком сложными в использовании. FPLA имел относительно низкую максимальную скорость работы (из-за наличия массивов с программируемым И и программируемым ИЛИ), был дорогим и имел плохую репутацию в отношении тестируемости. Еще одним фактором, ограничивающим принятие FPLA, был большой корпус, 28-контактный двухрядный корпус (DIP) шириной 600 мил (0,6 дюйма или 15,24 мм ).
Проектом по созданию устройства PAL руководил Джон Биркнер, а фактическая схема PAL была разработана HT Chua . На предыдущей работе (в компании-производителе мини-компьютеров Computer Automation ) Биркнер разработал 16-разрядный процессор с использованием 80 стандартных логических устройств. Его опыт работы со стандартной логикой привел его к мысли, что программируемые пользователем устройства были бы более привлекательными, если бы они были разработаны для замены стандартной логики. Это означало, что размеры корпуса должны быть более типичными для существующих устройств, а скорость должна быть улучшена. MMI предполагала, что PAL будут иметь относительно низкую стоимость (менее 3 долларов). Однако изначально у компании были серьезные проблемы с производственной мощностью, и ей пришлось продавать устройства по цене более 50 долларов. Это поставило под угрозу жизнеспособность PAL как коммерческого продукта, и MMI была вынуждена передать лицензию на линейку продуктов National Semiconductor. Позднее PAL были " вторым поставщиком " Texas Instruments и Advanced Micro Devices .
Технологические процессы
Ранние PAL представляли собой 20-контактные DIP- компоненты, изготовленные из кремния с использованием технологии биполярных транзисторов с одноразовыми программируемыми (OTP) плавкими предохранителями из титана и вольфрама. Более поздние устройства были произведены Cypress , Lattice Semiconductor и Advanced Micro Devices с использованием технологии CMOS .
Первоначальные 20- и 24-контактные PAL были обозначены MMI как устройства средней интеграции (MSI).
Архитектура PAL
Архитектура PAL состоит из двух основных компонентов: логической плоскости и выходных логических макроячеек.
Программируемая логическая плоскость
Программируемая логическая плоскость - это массив программируемой постоянной памяти (PROM), которая позволяет направлять сигналы, присутствующие на выводах устройства, или логические дополнения этих сигналов к выходным логическим макроячейкам.
Устройства PAL имеют массивы транзисторных ячеек, расположенных в плоскости «фиксированное ИЛИ, программируемое И», используемое для реализации двоичных логических уравнений « суммы произведений » для каждого из выходов в терминах входов и синхронной или асинхронной обратной связи от выходы.
Логика вывода
Первые 20-контактные PAL имели 10 входов и 8 выходов. Выходы были активными с низким уровнем и могли быть зарегистрированными или комбинационными. Члены семейства PAL были доступны с различными структурами вывода, называемыми " макроячейками логики вывода " или OLMC. До введения серии «V» (для «переменной») типы OLMC, доступные в каждом PAL, были фиксированы во время производства. (PAL16L8 имел 8 комбинационных выходов, а PAL16R8 имел 8 зарегистрированных выходов. PAL16R6 имел 6 зарегистрированных и 2 комбинационных выхода, в то время как PAL16R4 имел по 4 каждого.) Каждый выход мог иметь до 8 терминов продукта (фактически, логические элементы AND); однако комбинационные выходы использовали один из терминов для управления двунаправленным выходным буфером. Были и другие комбинации, которые имели меньшее количество выходов с большим количеством терминов продукта на выход и были доступны с активными высокими выходами (серия «H»). У устройств серии «X» перед регистром был вентиль XOR. Существовали также аналогичные 24-контактные версии этих PAL.
Эта фиксированная структура вывода часто разочаровывала разработчиков, пытающихся оптимизировать полезность устройств PAL, потому что их приложениям часто требовались структуры вывода разных типов. (Например, нельзя было получить 5 зарегистрированных выходов с 3 активными комбинационными выходами с высоким уровнем.) Итак, в июне 1983 года AMD представила 22V10, 24-контактное устройство с 10 выходными логическими макроячейками. Каждая макроячейка может быть сконфигурирована пользователем как комбинационная или зарегистрированная, с активным высоким или активным низким уровнем. Количество терминов продукта, назначенных выходу, варьировалось от 8 до 16. Это одно устройство могло заменить все 24-контактные устройства PAL с фиксированной функцией. Члены серии PAL "V" ("переменная") включали PAL16V8, PAL20V8 и PAL22V10.
Программирование PAL
Pals были запрограммированы электрически с помощью бинарных паттернов (как JEDEC ASCII / шестнадцатеричных файлов) и специальной электронной системой программирования доступной с любого производителя или третьей стороной, например , как DATA I / O . Помимо программаторов отдельных устройств, часто использовались устройства подачи и групповые программисты, когда требовалось запрограммировать больше, чем несколько PAL. (Для больших объемов затраты на электрическое программирование могут быть устранены, если производитель изготовит специальную металлическую маску, используемую для программирования шаблонов клиентов во время производства; MMI использовала термин « логика жесткого массива » (HAL) для обозначения запрограммированных устройств. этим способом.)
Языки программирования (в хронологическом порядке появления)
Хотя некоторые инженеры запрограммированы PAL устройства с помощью ручного редактирования файлов , содержащих двоичные данные предохранителей шаблонов, большинство решили разработать свою логику , используя язык описания аппаратных средств (HDL) , такие как данные ввода / вывода ABEL , CUPL логических устройств, или MMI в PALASM . Это были программы автоматизированного проектирования ( САПР ) (теперь называемые « автоматизацией электронного проектирования »), которые переводили (или «компилировали») логические уравнения проектировщиков в двоичные файлы карты предохранителей, используемые для программирования (и часто тестирования) каждого устройства.
ПАЛАЗМ
Язык PALASM (от «ассемблера PAL») был разработан Джоном Биркнером в начале 1980-х годов, а компилятор PALASM был написан MMI на FORTRAN IV на IBM 370/168. MMI предоставила пользователям бесплатный доступ к исходному коду. К 1983 году клиенты MMI запускали версии на DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , MDS800 и других.
Он использовался для выражения логических уравнений для выходных контактов в текстовом файле, который затем был преобразован в файл «карты предохранителей» для системы программирования с помощью программы, поставляемой поставщиком; позже вариант перевода из схем стал обычным явлением, и еще позже «карты плавких предохранителей» можно было «синтезировать» из HDL (языка описания оборудования), такого как Verilog .
КУБОК
Assisted Technology выпустила CUPL ( C ompiler для U niversal P rogrammable L OGIC) в сентябре 1983 г. Программы всегда упоминалась как CUPL и никогда расширенной аббревиатура. Это был первый инструмент коммерческого проектирования, поддерживающий несколько семейств PLD. Первоначальный выпуск был для IBM PC и MS-DOS, но он был написан на языке программирования C, поэтому его можно было перенести на дополнительные платформы. Компания Assisted Technology была приобретена Personal CAD Systems (P-CAD) в июле 1985 года. В 1986 году пакет схематического ввода PCAD можно было использовать в качестве внешнего интерфейса для CUPL. Позднее CUPL была приобретена Logical Devices и теперь принадлежит Altium . CUPL в настоящее время доступен как интегрированный пакет разработки для Microsoft Windows.
Atmel бесплатно выпускает WinCUPL (собственное программное обеспечение для проектирования всех SPLD и CPLD Atmel). Компания Atmel была приобретена Microchip.
ABEL
Корпорация Data I / O выпустила ABEL в апреле 1984 года. В команду разработчиков входили Майкл Холли, Майк Мраз, Геррит Баррере, Уолтер Брайт , Бьорн Фриман-Бенсон, Кью Ли, Дэвид Пеллерин, Мэри Бейли, Дэниел Берриер и Чарльз Оливье.
Data I / O выделила линейку продуктов ABEL в компанию EDA под названием Synario Design Systems, а затем в 1997 году продала Synario компании MINC Inc. MINC была сосредоточена на разработке инструментов разработки FPGA. Компания закрылась в 1998 году, и Xilinx приобрела некоторые активы MINC, включая язык и набор инструментов ABEL. Затем ABEL стал частью набора инструментов Xilinx Webpack. Теперь Xilinx владеет ABEL.
Программисты устройств
Популярные программисты устройств включали логический программатор модели 60A корпорации Data I / O и модель 2900.
Одним из первых программистов PAL был Structured Design SD20 / 24. У них было встроенное программное обеспечение PALASM, и для ввода уравнений и просмотра диаграмм предохранителей требовался только ЭЛТ-терминал. После объединения выходные данные PAL могли быть проверены, если тестовые векторы были введены в исходный файл.
Преемники
После того, как MMI добилась успеха с 20-контактными частями PAL, представленными примерно в 1978 году, AMD представила 24-контактный 22V10 PAL с дополнительными функциями. После покупки MMI (примерно в 1987 году) AMD выделила консолидированное предприятие под названием Vantis, и этот бизнес был приобретен Lattice Semiconductor в 1999 году.
Altera представила EP300 (первый CMOS PAL) в 1983 году, а затем перешла на рынок FPGA.
Компания Lattice Semiconductor представила семейство универсальной матричной логики ( GAL ) в 1985 году с функциональными эквивалентами PAL серии "V", в которых использовались перепрограммируемые логические плоскости на основе технологии EEPROM (электрически стираемая программируемая постоянная память). National Semiconductor был вторым поставщиком запчастей GAL.
AMD представила аналогичное семейство под названием PALCE. Как правило, одна часть GAL может работать как любое из устройств PAL аналогичного семейства. Например, 16V8 GAL может заменить 16L8, 16H8, 16H6, 16H4, 16H2 и 16R8 PAL (и многие другие).
Компания ICT (International CMOS Technology) представила PEEL 18CV8 в 1986 году. 20-контактная часть CMOS EEPROM могла использоваться вместо любого из биполярных PAL с зарегистрированным выходом и потребляла гораздо меньше энергии.
Устройства с программируемой логикой большего размера были представлены Atmel , Lattice Semiconductor и другими. Эти устройства расширили архитектуру PAL, включив несколько логических плоскостей и / или скрывая логические макроячейки внутри логических плоскостей. Термин « сложное программируемое логическое устройство» (CPLD) был введен для того, чтобы отличить эти устройства от их предшественников в PAL и GAL, которые затем иногда назывались простыми программируемыми логическими устройствами (SPLD).
Еще одно крупное устройство с программируемой логикой - это программируемая вентильная матрица (FPGA). Это устройства, которые в настоящее время производятся Intel (которая приобрела Altera ), Xilinx и другими производителями полупроводников.
Смотрите также
Другие типы программируемых логических устройств:
- Программируемая вентильная матрица (FPGA)
- Программируемая логическая матрица (PLA)
- Программируемое логическое устройство (PLD)
- Программируемая логическая матрица ( Signetics FPLA)
Текущие и бывшие производители устройств с программируемой логикой:
- Актел
- Усовершенствованные микроустройства (PAL, PALCE)
- Альтера (Flex, Max)
- Атмель
- Cypress Semiconductor
- Intel
- Решетчатый полупроводник (GAL)
- National Semiconductor (GAL)
- QuickLogic Corp.
- Signetics (FPLA)
- Инструменты Техаса
- Xilinx
Текущие и бывшие производители программаторов устройств PAL:
Рекомендации
дальнейшее чтение
- Биркнер, Джон ; Винсент Коли (1981). PAL Programmable Array Logic Handbook (2 ed.). Monolithic Memories, Inc.
- Биркнер, Джон; Винсент Коли (1983). PAL Programmable Array Logic Handbook (3-е изд.). Monolithic Memories, Inc.
- Олфорд, Роджер С. (1989). Руководство разработчика программируемой логики . Ховард В. Сэмс. ISBN 0-672-22575-1 .
- Стандарт JEDEC JESD3-C, Стандартный формат передачи данных между системой подготовки данных и программатором программируемых логических устройств , июнь 1994 г. Документы JEDEC