Общие понятия и определения
В цифровые системы обработки информации входят процессор, память, периферийные устройства и интерфейсные схемы. Процессор является стандартным устройством — он не изготавливаются для конкретной системы по специальному заказу, а решает требуемую задачу путем последовательного выполнения определенных команд из присущей ему системы команд. Память также реализуется стандартными микросхемами — ее функции остаются одними и теми же для разных систем.
Стандартные БИС/СБИС лидируют по уровню интеграции, т. к. высокая стоимость проектирования оптимизированных по плотности БИС/СБИС, достигающая сотен миллионов долларов, оказывается в данном случае приемлемой, поскольку раскладывается на большое число производимых микросхем.
Наряду со стандартными, в системе присутствуют и некоторые нестандартные части, специфичные для данной разработки. Это относится к схемам управления блоками, обеспечения их взаимодействия и др. Реализация нестандартной части системы исторически была связана с применением микросхем малого (МИС) и среднего (СИС) уровней интеграции. Применение МИС и СИС сопровождается резким ростом числа корпусов ИС на платах, усложнением монтажа, снижением надежности системы и ее быстродействия. В то же время заказать для системы специализированные ИС высокого уровня интеграции затруднительно, т. к. это связано с очень большими затратами средств и времени на их проектирование.
Возникшее противоречие нашло разрешение на путях разработки БИС/СБИС с программируемой и репрограммируемой структурами. Первыми представителями указанного направления явились программируемые логические матрицы ПЛМ (PLA, Programmable Logic Array), программируемая матричная логика ПМЛ (PAL, Programmable Array Logic) и базовые матричные кристаллы БМК, называемые также вентильными матрицами ВМ (GA, Gate Array). PLA и PAL в английской терминологии объединяются также термином PLD, Programmable Logic Devices. Развитие БИС/СБИС с программируемой и репрограммируемой структурой оказалось настолько перспективным направлением, что привело к созданию новых эффективных средств разработки цифровых систем, таких как CPLD (Complex PLD), FPGA (Field Programmable GA) и SPGA (System Programmable GA). В рамках современных БИС/СБИС с программируемой и репрограммируемой структурой стала решаться и задача создания целой системы на одном кристалле.
Программируемые логические матрицы (ПЛМ)
Программируемые логические матрицы появились в середине 70-х годов. Основой их служит последовательность программируемых матриц элементов И и ИЛИ. В структуру входят также блоки входных и выходных буферных каскадов (БВх и БВых). Входные буферы, если они не выполняют более сложных действий, преобразуют однофазные входные сигналы в парафазные и формируют сигналы необходимой мощности для питания матрицы элементов И. Выходные буферы обеспечивают необходимую нагрузочную способность выходов, разрешают или запрещают выход ПЛМ на внешние шины с помощью сигнала ОЕ, а иногда выполняют и более сложные действия.
Основными параметрами ПЛМ (рис. 10.1) являются число входов m, число термов l и число выходов n.
Рисунок 10.1 — Базовая структура ПЛМ
Переменные x1...хm подаются через БВх на входы элементов И (конъюнкторов), и в матрице И образуются l термов t. Под термом здесь понимается конъюнкция, связывающая входные переменные, представленные в прямой или инверсной форме. Число формируемых термов равно числу конъюнкторов или, что то же самое, числу выходов матрицы И. Термы подаются далее на входы матрицы ИЛИ, т. е. на входы дизъюнкторов, формирующих выходные функции. Число дизъюнкторов равно числу вырабатываемых функций n.
Таким образом, ПЛМ реализует дизъюнктивную нормальную форму (ДНФ) воспроизводимых функций (двухуровневую логику). ПЛМ способна реализовать систему п логических функций от m аргументов, содержащую не более l термов. Воспроизводимые функции являются комбинациями из любого числа термов, формируемых матрицей И. Какие именно термы будут выработаны и какие комбинации этих термов составят выходные функции, определяется программированием ПЛМ.
Схемотехника ПЛМ
Выпускаются ПЛМ как на основе биполярной технологии, так и на МОП-транзисторах. В матрицах имеются системы горизонтальных и вертикальных связей, в узлах пересечения которых при программировании создаются или ликвидируются элементы связи.
На рис. 10.2, а в упрощенном виде (без буферных элементов) показана схемотехника биполярной ПЛМ К556РТ1 с программированием пережиганием перемычек. Показан фрагмент для воспроизведения системы функций размерностью 4, 7, 3: параметры микросхемы К556РТ1 обеспечивают размерность 16, 48, 8, что достаточно для ее использования при решении указанной системы.
;
;
.
Элементами связей в матрице И служат диоды, соединяющие горизонтальные и вертикальные шины, как показано на рис. 10.2,б, изображающем цепи выработки терма t1. Совместно с резистором и источником питания цепи выработки термов образуют обычные диодные схемы И.
До программирования все перемычки целы, и диоды связи размещены во всех узлах координатной сетки. При любой комбинации аргументов на выходе будет ноль, т. к. на вход схемы подаются одновременно прямые и инверсные значения аргументов, а . При программировании в схеме оставляются только необходимые элементы связи, а ненужные устраняются пережиганием перемычек. В данном случае на вход конъюнктора поданы , и . Высокий уровень выходного напряжения (логическая единица) появится только при наличии высоких напряжений на всех входах. Низкое напряжение хотя бы на одном из входов фиксирует выходное напряжение на низком уровне, т. к. открывается диод этого входа. Таким образом выполняется операция И, в данном случае вырабатывается терм .
Рисунок 10.2 — Схемотехника ПЛМ, реализованной в биполярной технологии(а). Элементы связей в матрицах И (б) и ИЛИ (в)
Элементами связи в матрице ИЛИ служат транзисторы (рис. 10.2, в), включенные по схеме эмиттерного повторителя относительно линий термов и образующие схему ИЛИ относительно выхода (горизонтальной линии). На рис.10.2, в показана выработка функции F1. Работа схемы ИЛИ, реализована в виде параллельного соединения эмиттерных повторителей. При изображении запрограммированных матриц наличие элементов связей (целые перемычки) отмечается точкой в соответствующем узле.
В схемах на МОП-транзисторах в качестве базовой логической ячейки используют инвертирующие элементы (ИЛИ-НЕ, И-НЕ). Соответственно этому изменяются и операции, реализуемые в первой и второй матрицах ПЛМ. В частности, в схемотехнике п-МОП базовой ячейкой обычно служит ячейка ИЛИ-НЕ, а структура ПЛМ имеет вид (рис. 10.3). Такая ПЛМ является последовательностью двух матриц ИЛИ-НЕ, одна из которых служит для выработки термов, другая — для выработки выходных функций.
Рисунок 10.3 — Схемотехника ПЛМ, реализованной на n-МОП-транзисторах
Терм в данном случае равен:
,
а функция:
.
На основании этих выражений можно заключить, что известная связь между, операциями, выражаемая правилами де Моргана, говорит о фактическом совпадении функциональных характеристик биполярной ПЛМ и ПЛМ на МОП-транзисторах: если на входы последней подавать аргументы, инвертированные относительно аргументов биполярной ПЛМ, то на выходе получим результат, отличающийся от выхода биполярной ПЛМ только инверсией.