Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Т А и ФЯ стр.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Раздел 8. Синтез цифровых автоматов на программируемых матрицах (плм)

Тема 8.1. Структурный синтез мпа Мили на плм. Вопросы оптимизации мпа

Матричная реализация комбинационных схем (КС)

На этапе логического проектирования сложных цифровых устройств управления большие трудности возникают из-за их нерегулярности и малой повторяемости отдельных узлов. В п. 3.1 были рассмотрены методы синтеза управляющих автоматов с жесткой логикой. «Жесткость» заключается в том, что любое изменение в алгоритме работы автомата приводит к изменению в комбинационных схемах, реализующих функции переходов и выходов автомата.

Существуют регулярные, настраиваемые пользователем структуры, называемые программируемыми логическими матрицами (ПЛМ). ПЛМ содержат в себе две матрицы – матрицу «И» (М&) и матрицу «ИЛИ» (М1), соединенные последовательно. Матрица «И» вычисляет конъюнкцию логических переменных, а матрица «ИЛИ» – дизъюнкцию полученных термов. Таким образом, пару матриц «И» и «ИЛИ» удобно использовать для вычисления булевых функций, заданных в виде ДНФ (дизъюнктивной нормальной формы).

В простейшем случае ПЛМ представляет матрицу – сеть горизонтальных и вертикальных шин. В узлах матрицы могут быть (а могут и не быть) полупроводниковые диоды.

Если в узле есть диод, то горизонтальная шина через него связана с вертикальной, если диода нет – то не связана. Каждая вертикальная шина такой матрицы – это простейший диодный элемент «И» или «ИЛИ» (в зависимости от направления включения диода и значения напряжения на резисторах матрицы).

На рис. 3.29 приведен пример двух матриц – «И» и «ИЛИ». Каждая вертикальная линия в этих матрицах – это один диодный ло­гический элемент «И» или «ИЛИ». На входы матриц подаются напря­жения UxI, соответствующие логическим переменным xI. Значению xI=0 в матрице соответствует UxI=0 [В], значению xI = 1 соответствует UxI=Uип [В], где Uип – напряжение источника питания в вольтах. Выходные напряжения матриц UуI соответствуют значениям функций уI , реали­зуемых данными матрицами. Причем нетрудно заметить, что в матрице «ИЛИ» UуI=Uип (уI =1), если в узле матрицы на пресечении линий UуI и UxJ есть диод и UxJ=Uип (xJ=1). В матрице «И» UуI=Uип (уI =1), если на всех входах, соединенных диодами с шиной UуI, значения UxJ=Uип (xJ=1) и UуI=0 В (уI =0), если хотя бы на одном из входов UxJ= 0 В (xJ=0).

Таким образом, в примере (см. рис. 3.29) матрица «ИЛИ» реализует три функции У1, У2, У3 от трех переменных x1, x2 , x3 :

У 1 = x1  x3 ; У 2 = x1  x2 ; У 3 = x2  x3 ,

а матрица «И» реализует функции

У 1 = x1 x3 ; У 2 = x1 x2 ; У 3 = x2 x3 .

Рис. 3.29

На рис. 3.29 матрицы изо­бражены фактически как принципиальные схемы, в ко­торых логические переменные xI представлены напряжениями UxI , а функции уI – напряже­ниями UуI . В функциональных схемах будем использовать бо­лее простое изображение мат­риц: в узлах вместо диодов бу­дем ставить точки, а входные и выходные сигналы будем обо­значать как xJ и уI (рис. 3.30).

Рис. 3.30

Обычно матрицы используют тогда, когда необходимо реализовать семейство булевых функций от одних и тех же аргументов. Рассмотрим пример такой реализации.

Пусть дана система из трех булевых функций у1, у2, у3 от четырех переменных x1, x2, x3, x4:

y1 = x1 x2 x1 x2x4 x1 x3 x4;

y2 = x1 x2 x1 x3 x4 x1 x2 x3 x2 x4;

y3 = x1 x2 x4  x1 x3 x1 x2 x3.

Введем вспомогательные переменные ТI , через которые выра­зим все дизъюнктивные термы, встречающиеся в функциях у1, у2, у3 :

Т1= x 1 x 2 ; Т 2= x 1 x 2x 4 ; Т 3= x 1 x 3 x 4 ; Т 4= x 1 x 3 x 4;

Т 5 = x 1 x 2 x 3 ; Т 6= x 2 x 4; Т 7 = x 1 x 3 .

Выразим функции у1, у2, у3 через переменные ТI :

y1 = Т1 Т 2 Т 3;

y2 = Т1 Т 4 Т 5 Т 6;

y3 = Т2 Т 7 Т 5.

В этих функциях че­рез переменные ТI обозна­чены термы (логические произведе­ния), которые вы­числяются матрицей «И». С выходов матрицы «И» (М&), сигналы, соответствующие термам ТI, подаются на входы матрицы «ИЛИ» (М1), где вычисля­ются зна­чения функций y1, y2 и y3 . Схема приведена на рис. 3.31.

Рис. 3.31

С помощью матриц М& («И») и М1 («ИЛИ») можно реализовывать не только дизъюнктивные нормальные форм, но и ско­бочные выра­жения, которые часто явля­ются более ком­пактными.

Например, даны две функции:

y1 = (x1 x2  x1 x2) x3 (x1 x2  x1 x2) x3;

y2 = x1 x2 (x1 x2  x1 x2) x3.

Заметим, что выражение в скобках – (x1 x2  x1 x2) – три раза встречается в функциях y1 и y2.

На матрицах М& («И») и М1 («ИЛИ») сформируем функцию f = x1x2  x1x2 , затем эту функцию используем в матрице М& («И») для формирования термов, а затем и значений функций y1 и y2. Введем переменные ТI :

Т1 = x1 x2 ; Т2 = x1 x2 .

Через Т1 и Т2 выразим функцию f :

f = Т1 Т2 .

Введем еще три переменные ТI , в которых кроме x1, x2, x3 используем функцию f:

Т3 = f  x 3; Т4 = f  x 3; Т5 = f  x 3.

Преобразуем функции y1 и y2 и запишем их в следующем виде:

y1 = (Т1 Т2) x 3 ( Т1 Т2) x 3 = f  x 3  f  x 3 = Т3 Т4;

y2 = Т1 ( Т1 Т2) x 3= Т 1 f  x 3= Т1 Т5.

Таким образом, порядок вычислений функций y1 и y2 сле­дующий. Матрица М& вычисляет Т1 = x1 x2 и Т2 = x1 x2, затем матрица М1 вычисляет f = Т1 Т2 . Значение f в прямом и инверсном виде пода­ется на вход матрицы М& , где вы­числяются Т3, Т4 и Т5 , а затем матрица М1 вычисляет y1 = Т3 Т4 и y2 = Т1 Т5 . На рис. 3.32 приве­дена схема, реализующая данный способ вычисления скобочных бу­левых функций.

Рис. 3.32