Программируемая логическая матрица
Программируемая логическая матрица ( PLA ) — это разновидность программируемого логического устройства, используемого для реализации комбинационных логических схем . PLA имеет набор программируемых плоскостей логических элементов И , которые связаны с набором программируемых плоскостей логических элементов ИЛИ , которые затем можно условно дополнять для получения выходного сигнала. У него 2 Н Логических элементов И для N входных переменных и для M выходов из PLA должно быть M вентилей ИЛИ, каждый из которых имеет программируемые входы от всех вентилей И. Такая схема позволяет синтезировать множество логических функций в сумме произведений канонических форм .
PLA отличаются от программируемой матричной логики устройств ( PAL и GAL ) тем, что обе плоскости логических элементов И и ИЛИ являются программируемыми. В PAL есть программируемые логические элементы И, но фиксированные логические элементы ИЛИ. [ нужны разъяснения ]
История
[ редактировать ]В 1970 году компания Texas Instruments разработала программируемую по маске микросхему на основе IBM только для чтения ассоциативной памяти или ROAM. Это устройство, TMS2000, было запрограммировано путем изменения металлического слоя во время производства ИС. TMS2000 имел до 17 входов и 18 выходов с 8 триггерами JK для памяти. термин «Программируемая логическая матрица» . Компания TI придумала для этого устройства [1]
Процедура реализации
[ редактировать ]- Подготовка в форме СОП ( сумма продуктов ).
- Получите минимальную форму СОП, чтобы свести количество условий продукта к минимуму.
- Определите входное соединение матрицы И для генерации требуемого термина продукта.
- Затем определите входные соединения матрицы ИЛИ для генерации сумм.
- Определите связи матрицы обращения.
- Запрограммируйте НОАК.
Блок-схема ПЛА:
1-Й БЛОК | 2-Й БЛОК | 3-Й БЛОК | 4-Й БЛОК | 5-Й БЛОК |
---|---|---|---|---|
ВХОДНОЙ БУФЕР | И МАТРИЦА | ИЛИ МАТРИЦА | ИНВЕРТИРОВАННАЯ/НЕИНВЕРТИРОВАННАЯ МАТРИЦА | ВЫХОДНОЙ БУФЕР ФЛИП-ФЛОП |
Преимущества перед постоянной памятью
[ редактировать ]Желаемые выходные данные для каждой комбинации входов могут быть запрограммированы в постоянное запоминающее устройство , при этом входы управляются адресной шиной, а выходные данные считываются как данные. Однако для этого потребуется отдельная ячейка памяти для каждой возможной комбинации входных данных, включая комбинации, которые никогда не должны возникать, а также дублирование данных для условий «все равно» (например, логика типа «если входной сигнал A равен 1, тогда, что касается выхода X, нас не волнует, что такое вход B»: в ПЗУ это должно быть записано дважды, по одному разу для каждого возможного значения B, и еще «все равно» входы добавляются, дублирование растет в геометрической прогрессии); следовательно, программируемая логическая матрица часто может реализовать часть логики, используя меньшее количество транзисторов, чем эквивалент в постоянной памяти. Это особенно ценно, когда он является частью процессорного чипа, в котором транзисторов мало (например, исходный чип 6502 содержал PLA для управления различными операциями процессора). [2] ).
Приложения
[ редактировать ]Одним из применений PLA является реализация контроля над трактом данных . Он определяет различные состояния в наборе команд и создает следующее состояние (путем условного ветвления). [например, если машина находится в состоянии 2 и перейдет в состояние 4, если инструкция содержит поле немедленного действия; тогда PLA должен определить действия элемента управления в состоянии 2, установит следующее состояние равным 4, если инструкция содержит непосредственное поле, и определит действия элемента управления в состоянии 4]. Программируемые логические массивы должны соответствовать диаграмме состояний системы.
В самых первых домашних компьютерах Commodore 64 , выпущенных в 1982 году (в начале 1983 года), первоначально использовался программируемый PLA Signetics 82S100, но по мере роста спроса MOS Technology / Commodore Semiconductor Group начала производить PLA с программированием по маске, который имел номер детали 906114-01. [3]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Андрес, Кент (октябрь 1970 г.). Отчет о применении Texas Instruments: Программируемые логические матрицы МОП . Техасские инструменты. Бюллетень СА-158.
- ^ Как на самом деле работают незаконные коды операций MOS 6502
- ^ arcadecomComponents.com — Commodore 906114-01 64 PLA IC
Внешние ссылки
[ редактировать ]- «Программируемая логическая матрица (ПЛА)» . cmsc311 . Университет Мэриленда . 2003. Архивировано из оригинала 14 декабря 2017 г.
- «ПЛА (программируемая логическая матрица)» . Java-апплет . Университет Гамбурга . Архивировано из оригинала 15 января 2013 г. Проверено 7 апреля 2010 г.