Программируемые логические матрицы
Программируемая логическая матрица (ПЛМ) – матрица логических элементов, электрические связи между которыми определяются путем программирования.
По способу программирования различают:
• ПЛМ с масочным программированием;
• ПЛМ с электрическим программированием.
ПЛМ с масочным программированием – ПЛМ, в которых программирование связей осуществляется при их производстве (с использованием масок-фотошаблонов металлизации).
Электрически программируемые ПЛМ – ПЛМ, программирование связей в которых осуществляется путем подачи электрических сигналов (например “выжигающих” элементы связи–перемычки).
При программировании электрически программируемых ПЛМ используют специальные ЦУ – программаторы (программатор – устройство, используемое для программирования ПЛМ и ПЗУ).
Исключительная простота синтеза произвольных кодовых преобразователей по принципу декодер–кодер обусловила выпуск микросхем средней и даже большой интеграции, специально предназначенных для реализации кодовых преобразователей. Это микросхемы программируемых логических матриц – ПЛМ (programmable logic array – PLA).
Условное изображение ПЛМ и ее функциональная схема показаны на рис. 3.14, а, б, соответственно. Программируемая логическая матрица имеет n входов, k элементов И, выходы которых образуют k вертикальных шин, m элементов ИЛИ, выходы которых подключены к сумматорам по модулю 2, выполняющим роль управляемых инверторов. Выходы этих m инверторов являются выходами самой ПЛМ. Каждый элемент И имеет 2n входов, которыми он связан со всеми шинами входных сигналов и их инверсий. В линии связи включены специальные перемычки, обозначенные на рис. 3.14, б короткими зигзагами. Эти перемычки выполняются из определенного материала (например нихрома, кристаллического кремния) или в виде специальных р-n-переходов так, чтобы их можно было выборочно разрушать (“выжигать”), оставляя лишь те связи, которые нужны потребителю ПЛМ. В ряде типов ПЛМ выжигать перемычки может сам потребитель, подавая на соответствующие выводы корпуса импульсы тока или напряжения определенной амплитуды и длительности.
Элементы ИЛИ в ПЛМ, так же как и элементы И, имеют на входах выжигаемые перемычки, с помощью которых они подключены ко всем вертикальным шинам. После выжигания на программаторе ненужных перемычек у элементов ИЛИ также остаются лишь те связи с вертикалями, которые необходимы потребителю. Техническая реализация элементов ИЛИ такова, что после выжигания перемычек на “ни к чему не подключенных” входах ИЛИ обеспечиваются уровни логического нуля.
Аналогичным образом программируют отсутствие или выполнение инвертирования выходов ИЛИ, соответственно пережигая или оставляя перемычки на верхних входах элементов М2 (рис. 3.14, б).
Методы технологического исполнения элементов И, ИЛИ, М2 и разрушаемых перемычек могут быть различными. С точки зрения логического проектирования существенно лишь то, что, используя ПЛМ, можно:
• подать на любой элемент И любую комбинацию входов ПЛМ или их инверсий;
• подключить к любому элементу ИЛИ любую комбинацию вертикальных шин (выходов И);
• проинвертировать выходы любых ИЛИ.
Такие возможности позволяют очень просто реализовывать на ПЛМ преобразователи кодов или, что то же самое, системы логических функций. Запрограммированную ПЛМ удобно рассматривать как систему декодер–кодер (в соответствии с рис. 3.14, б группа задействованных элементов И образует неполный дешифратор, а группа задействованных элементов ИЛИ – неполный шифратор).
Рис. 3.14. Условное изображение ПЛМ и ее функциональная схема
Сложность реализуемой функции может превышать возможности одной микросхемы ПЛМ. В этом случае используют несколько ПЛМ, при необходимости объединяя некоторые их выходы на дополнительных элементах ИЛИ. В некоторых микросхемах ПЛМ можно объединять выходы методом монтажного ИЛИ. Можно включать ПЛМ и последовательно, реализуя на микросхемах первого яруса логические фрагменты, общие сразу для нескольких выходов заданной функции.
Многообещающим вариантом программируемых схем универсальной логики является класс так называемых микросхем программируемой матричной логики – ПМЛ (programmable array logic – PAL). Этим названием изготовители подчеркивают их отличие от микросхем ПЛМ (PLA). В ПМЛ, как и в ПЛМ, входы и их инверсии с помощью разрушаемых перемычек подключены к многовходовым элементам И. Основное же отличие состоит в том, что в ПМЛ выходные элементы ИЛИ не могут произвольно подключаться разработчиком к выходам любых элементов И. В ПМЛ каждый элемент ИЛИ постоянно подключен к определенной группе элементов И (группе вертикальных шин). Выпускаются несколько типов микросхем ПМЛ, отличающихся числом и составом этих групп. Необходимое разнообразие в коммутации выходов И со входами ИЛИ в ПМЛ обеспечивается тем, что разработчик в каждом случае выбирает определенный тип микросхемы точно так же, как он это делает при работе с россыпью. Достоинство подхода – в существенном сокращении площади программируемой части кристалла (числа пережигаемых перемычек), что изготовители ПМЛ тут же превращают в выигрыш по скорости, цене, надежности и т.п. Серьезное изучение статистики проектируемых схем позволило изготовителям ограничиться совсем небольшим числом типов микросхем ПМЛ.
В состав некоторых типов ПЛМ и ПМЛ изготовители вводят целый ряд остроумных решений, расширяющих возможности разработчика, например, двунаправленные выводы, снабженные буфером с тремя состояниями, объединение некоторых входов в пары двухвходовыми декодерами, подключение к выходам ИЛИ четырех-восьми синхронных триггеров. Выходы триггеров выведены наружу, а, кроме того, разрушаемыми перемычками соединены со входами элементов. И той же самой ПЛМ. Наличие триггерного регистра и возможности подавать выход ПЛМ на ее же собственный вход даже не внешним монтажом, а внутри корпуса, через выжигаемые перемычки, позволяет на одной ПЛМ реализовывать автоматы и весьма сложные фрагменты больших цифровых устройств. Значительная степень интеграции и доступность процедуры выжигания по сравнению с проектированием схемы матричной БИС делают ПЛМ и ПМЛ в некоторых применениях конкурентом даже базовых матричных кристаллов.
Типичный диапазон числа входов у микросхем ПЛМ и ПМЛ – 8-16, вертикальных шин – 24-96, выходов – 4-12. Задержка составляет два-три значения задержки типового логического элемента соответствующей серии. Для подведения тока к выжигаемым перемычкам в состав микросхемы программируемой БИС, кроме схемы, выполняющей требуемые функции, вводят специальные дешифраторы и мультиплексоры, управляемые группой настроечных входов. Иногда одни и те же выводы микросхемы используют и как настроечные, и как рабочие, переключая их уровнем на соответствующем входе управления режимом. Примером ПЛМ является микросхема К556РТ1 с n = 16, k = 48, m = 8 без входных двухвходовых декодеров, с задержкой 50 нc, изготовляемая по технологии ТТЛШ и совместимая по питанию и сигналам с ТТЛ- и ТТЛШ -сериями.