В программируемой логической матрице программируются обе составляющие и матрица И, и матрица ИЛИ. На практике очень популярны похожие схемы, в которых входы матрицы И являются программируемыми, а соединения с матрицей ИЛИ фиксированными. Такие устройства называются микросхемами с ПМЛ или программируемой матричной логикой (Programmable Array Logic, PAL).
На рис. 4.4 показан простой пример схемы с ПМЛ, реализующей две функции. Количество вентилей И, соединенных с каждым вентилем ИЛИ, определяет максимальное число произведений, которое может входить в состав представления данной функции (в виде суммы произведений). Вентили И жестко соединены конкретными вентилями ИЛИ. Это значит, что произведение не может использоваться в нескольких выходных функциях.
Микросхемы ПМЛ выпускаются в разных конфигурациях. В них может быть много входных переменных и выходов, что позволяет на их основе реализовать очень сложные функции. Для большей гибкости на выходе вентилей ИЛИ в них включают триггеры. Таким образом, на одном чипе ПМЛ может быть реализовала достаточно сложная логическая схема.
f1= x1x2 + x2x3; f2= + x1x2x3
Рис. 4.4. Пример схемы с ПМЛ
Насколько гибкими могут быть схемы на основе ПМЛ, можно судить по рис. 4.5. Здесь вычисляется значение функции f а затем мультиплексор определяет, какое ее
Рис. 4.5. Пример обработки выходного сигнала ПМЛ-элемента
значение — истинное, дополненное либо сохраненное (с предыдущего такта) — следует передать на выход. Входные сигналы выбора в мультиплексоре можно реализовать как программируемые соединения. Результирующее значение передается на выход через повторитель с тремя состояниями, управляемый сигналом, который разрешает выдачу значения. Обратите внимание, что выходной сигнал мультиплексора может использоваться как входной сигнал для термов-произведений или других вентилей ИЛИ в этой же ПМЛ-микросхеме. Таким образом могут создаваться схемы с несколькими уровнями логических вентилей