A массив программируемой логики (PLA ) - это разновидность программируемого логического устройства, используемого для реализации комбинации логика схемы. PLA имеет набор программируемых плоскостей И затвор, которые связаны с набором программируемых плоскостей ИЛИ затвор, которые затем могут быть условно дополнены для получения вывода. Он имеет 2 логических элемента И для N входных переменных, а для M выходов из PLA должно быть M логических элементов ИЛИ, каждый с программируемыми входами от всех вентилей И. Этот макет позволяет синтезировать многие логические функции в сумме продуктов канонических форм.
PLA отличаются от устройств Programmable Array Logic (PAL и GAL ) в том, что плоскости логического элемента И и ИЛИ являются программируемыми.
В 1970 году Texas Instruments разработала маску -программируемую ИС на основе IBM ассоциативной памяти только для чтения или ROAM. Это устройство, TMS2000, было запрограммировано путем изменения металлического слоя во время изготовления ИС. TMS2000 имел до 17 входов и 18 выходов с 8 триггерами JK для памяти. Компания TI ввела термин «программируемая логическая матрица» для этого устройства.
Блок-схема PLA:
1-Й БЛОК | 2-Й БЛОК | 3-Й БЛОК | 4-Й БЛОК | 5-Й БЛОК |
---|---|---|---|---|
ВХОДНОЙ БУФЕР | И МАТРИЦА | ИЛИ МАТРИЦА | ИНВЕРТИРОВАТЬ / НЕ ИНВЕРТИРОВАТЬ МАТРИЦУ | FLIP FLOP OUTPUT BUFFER |
Желаемые выходы для каждой комбинации входов могут быть запрограммированы в постоянную память с входы загружаются на адресную шину, а выходы считываются как данные. Однако для этого потребуется отдельная ячейка памяти для каждой возможной комбинации входов, включая комбинации, которые никогда не должны возникать, а также дублирование данных для условий «безразлично» (например, логика типа «если вход A равен 1, тогда, что касается выхода X, нам все равно, что это за вход B »: в ПЗУ это должно быть записано дважды, один раз для каждого возможного значения B, и по мере того как« все равно » вводы добавляются, дублирование растет в геометрической прогрессии); поэтому массив программируемой логики часто может реализовать часть логики, используя меньшее количество транзисторов, чем эквивалент в постоянной памяти. Это особенно ценно, когда оно является частью микросхемы обработки, где транзисторов мало (например, исходная микросхема 6502 содержала PLA для управления различными операциями процессора).
Одно из приложений PLA - реализовать контроль над каналом данных. Он определяет различные состояния в наборе команд и создает следующее состояние (условным ветвлением). [например. если машина находится в состоянии 2, и перейдет в состояние 4, если инструкция содержит немедленное поле; тогда PLA должен определить действия элемента управления в состоянии 2, установит следующее состояние равным 4, если инструкция содержит немедленное поле, и определит действия элемента управления в состоянии 4]. Программируемые логические массивы должны соответствовать диаграмме состояний системы.
Домашний компьютер Commodore 64, выпущенный в 1982 году, использовал "906114-01 PLA" для обработки системных сигналов.
.