Синтез структуры счетчика и исследование функций счетчика с заданными параметрами. Классификация счетчиков по признакам, страница 15

Пример реализации булевых функций  приведен на рис.2.

Реализация комбинационных схем на ПЛМ

Неформально задача синтеза комбинационной схемы (КС) на ПЛМ может быть сформулирована следующим образом. Задано описание функционирования КС и допустимое множество вариантов микросхем ПЛМ. Требуется реализовать данную КС на возможно меньшем числе корпусов. В данной лабораторной работе сузим задачу до случая, когда фиксирован тип ПЛМ и требуется реализовать КС на одном корпусе (или показать, что такая реализация невозможна). Дадим формальную постановку задачи.

Пусть работа КС описывается системой из N булевых функций от L переменных. Будем полагать, что система функций представлена в дизъюнктивной нормальной форме (ДНФ), в которой число попарно неравных элементарных конъюнкций равно В. Такую систему функций будем обозначать СФ [L,N,B].

Если выполняется система неравенств

L £ S,  N £ T,  B £ Q,                                                                        (1)

то возможна так называемая тривиальная реализация на ПЛМ [S, T, Q].

При данной реализации на промежуточных шинах в матрице И формируются все конъюнкции СФ, а в поле матрицы ИЛИ устанавливаются связи промежуточных шин с соответствующими выходами. Рис.2 является примером тривиальной реализации СФ [4, 3, 12] на ПЛМ [4, 3, 12].

При невыполнении системы неравенств (1) может быть применен следующий полуэвристический алгоритм для реализации СФ [L, N, B] на ПЛМ [S, T, Q].

1.  Если L > S (не хватает входов в ПЛМ), то реализация на одной ПЛМ невозможна. Конец.

2.  Если N > T (не хватает выходов ПЛМ), то реализация на одной ПЛМ невозможна. Конец.

3.  Если B £ Q, то тривиальная реализация СФ [L, N, B]. Конец.

4.  Поиск "инверсной" СФ [ L, N, B' ] с минимальным значением B'.

5.  Если B' £ Q,  то тривиальная реализация "инверсной" СФ[L, N, B] с соответствующей инверсией выходов. Конец.

6.  Если L = S или N = T (нет "резерва" по входам или выходам ПЛМ), то переход на к.10.

7.  Декомпозиция исходной СФ и переход к набору СФ', описывающему каскадное включение комбинационных схем.

8.  Если невозможна тривиальная реализация набора СФ на ПЛМ, то переход к п.10.

9.  Тривиальная реализация набора СФ и установление соответствующих связей между выходами и входами ПЛМ. Конец.

10.  Переход от СФ [L, N, B] к  СФ [ L, N, B' ] путем совместной минимизации исходной системы булевых функций.

11.  Если B'' £ Q, то тривиальная реализация СФ[L, N, B''], иначе реализация на одной ПЛМ [S, T, Q], невозможна.

12.  Конец.

Рассмотрим подробнее отдельные пункты алгоритма.

Рис.2. Пример реализации комбинационной схемы на ПЛМ [4, 3, 12]

Переход к "инверсной" системе булевых функций

Пусть заданы некоторые СФ [L, N, B] вида

Y1 = F1 ( X1 , ... , XL );

Y2 = F2 ( X1 , ... , XL );

. . . . . . . . . . .

YN = FN ( X1 , ... , XL ).

Из данной СФ получим путем инвертирования некоторых разрядов функции так называемую "инверсную" СФ вида

Z1 = (Y1) j1 , Z2 = (Y2) j2 , ... , ZN = (YN) jn,

ì   Y, если j = 0, где Z  í             

î  `Y, если j = 1.

Каждая "инверсная" СФ задается двоичным вектором ( j1, j2, ... , jN). Следовательно, различные "инверсные" СФ могут быть получены перебором по (2N - 1) двоичным векторам. Если существует "инверсная" СФ [ L, N, B' ] с B' £ Q,  то исходная СФ может быть реализована на ПЛМ[S,T,Q] следующим образом.

1.  Выполняется тривиальная реализация "инверсной" СФ.

2.  Осуществляется необходимая инверсия выходных сигналов.

А именно, если jК = 0, то в поле "Уровень выхода" для К-го выхода устанавливается символ "L", иначе символ "H".

Пример 1. Пусть требуется реализовать на ПЛМ [3, 2, 5] двоичный одноразрядный сумматор. Исходная СФ [3, 2, 8], описывающая работу сумматора, показана на рис.3 в табличной форме.

Рис.3. Реализация сумматора на ПЛМ:

А, В - слагаемые; р - перенос из младшего разряда;

S - сумма, с - перенос в старший разряд