Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Схемотехника ЭВМ. Лекция 13. Мультиплексор как МФУ

.pdf
Скачиваний:
138
Добавлен:
14.10.2014
Размер:
320.28 Кб
Скачать

4.2. Мультиплексор как многофункциональный узел

Все цифровые комбинационные узлы являются многофункциональными, т.е. они могут выполнять такие функции, которые специально для них не предусмотрены. В ряде случаев эти узлы обеспечивают некоторые схемные преимущества перед специализированными узлами, предназначенными для реализации этих функций. Мультиплексор является наиболее характерным многофункциональным узлом.

4.2.1. Использование мультиплексора по прямому назначению

Использование мультиплексоров по прямому назначению см. в разделе 4.1. В качестве примеров можно привести мультиплексирование многоразрядного адреса микросхем памяти, мультиплексное управление многоразрядными многоэлементными индикаторами [13], последовательный опрос многих переменных, датчиков и других однобитовых источников информации, временное уплотнение аналоговых сигналов в телефонии, мультиплексирование выходных данных тестопригодных БИС, построение многоканальных коммутаторов, осциллографов и т.д.

4.2.2. Реализация произвольных функций алгебры логики на мультиплексорах

Пусть требуется реализовать ФАЛ, зави-

 

 

Таблица 4.2

сящую от двух переменных и представлен-

Таблица истинно-

ную таблицей истинности (табл.4.2).

сти ФАЛ, завися-

Запишем обобщённую форму СДНФ для

щей от двух пере-

этой функции и одновременно уравнение для

 

менных

 

 

MS 4→1:

Номер

x1

 

x0

y

 

yФАЛ =x1x0 1+x1x0 0 +x1x0 0 +x1x0 1;(4.6)

набора

 

 

 

 

 

 

 

 

0

0

 

0

1

 

yMS =a1a0 D0 +a1a0 D1 +a1a0 D2 +a1a0 D3.(4.7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очевидно полное совпадение выражений

1

0

 

1

0

 

(4.6) и (4.7), из которых следует, что если

 

 

 

 

 

 

2

1

 

0

0

 

логические переменные x1 и x0 подать на со-

 

 

ответствующие адресные входы а1 и а0

 

 

 

 

 

 

3

1

 

1

1

 

MS 4→1, то на его информационные входы

 

 

 

 

 

 

 

 

D0, D1, D2 и D3 нужно подать соответственно

 

 

 

 

 

 

1, 0, 0 и 1 (рис.4.11).

 

 

 

 

 

 

1

 

D0

MS

 

 

 

0

 

 

 

 

 

 

D1

 

 

 

 

0

 

 

 

 

 

 

D2

 

 

y

1

 

 

y

 

D3

 

x1

 

 

 

 

 

 

 

 

 

 

 

a1

 

 

 

 

x0

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4.11. Реализация ФАЛ, зависящей от двух переменных, на мультиплексоре MS 4→1

В общем случае можно сформулировать следующее правило:

если количество логических переменных n, от которых зависит реализуемая ФАЛ, совпадает с разрядностью адресной части мультиплексора, то эти переменные подаются на адресные входы мультиплексора (старшая переменная - на старший адресный вход), а на информационные входы мультиплексора MS 2n →1 - константы 0 и 1 в соответствии с таблицей истинности реализуе-

мой ФАЛ.

Попробуем реализовать теперь ФАЛ, зависящую от трёх переменных (табл.4.3), на том же MS 4→1.

Запишем минимальную дизъюнктивную нормальную форму (МДНФ) для этой ФАЛ, воспользовавшись картой Карно, представленной на рис.4.12.

Таблица 4.3

Таблица истинности ФАЛ, зависящей от трёх переменных

набораНомер

x2

x1

x0

y

 

 

 

 

 

 

 

0

0

0

0

1

 

 

 

 

 

 

 

1

0

0

1

1

 

 

 

 

 

 

 

2

0

1

0

0

 

 

 

 

 

 

 

3

0

1

1

0

 

 

 

 

 

 

 

4

1

0

0

1

 

 

 

 

 

 

 

5

1

0

1

0

 

 

 

 

 

 

 

6

1

1

0

1

 

 

 

 

 

 

 

7

1

1

1

1

 

 

 

 

 

 

 

y = x2 x1x0 + x2 x0 + x2 x1 .

(4.8)

Преобразуем выражение (4.8) к виду, аналогичному выражению

(4.6):

y = x2 x1 x0 + x2 x1 0 + x2 x1 x0 + x2 x1 1 ,

(4.9)

где произведение x2 x1 0 введено, чтобы в выражении (4.9) были пред-

ставлены все четыре конституенты единицы двух переменных x2 и x1. Сравнивая выражения (4.9) и (4.7), опять видим их полное соответствие. Отсюда делаем вывод, что две логические переменные x2 и x1 нужно подать соответственно на адресные входы а1 и а0 MS 4→1, а информационные входы D0, D1, D2 и D3 для произвольной ФАЛ, зависящей от трёх переменных, в общем случае являются функциями от третьей пе-

ременной x0. Такими функциями являются 0, 1, x0 и x0 . Реализация данной ФАЛ представлена на рис.4.13.

y

 

x1

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

0

1

 

 

 

 

 

 

 

 

 

0

 

0

1

0

 

 

 

 

 

 

 

x0

Рис.4.12. Рабочая карта Карно для ФАЛ, зависящей от трёх переменных

Тот же результат проще получить, если в табл.4.3 выделить четыре группы по две строки в каждой и отделить переменную x0 от x2 и x1 (табл.4.4, жирные линии).

Из табл.4.4 видно, что переменные x2 и x1 образуют четыре набора, на каждом из которых функция y зависит только от одной переменной x0, причём значения y = f(x0) легко выявляются из этой таблицы.

Для общего случая можно сформулировать следующее правило:

если количество логических переменных n, от которых зависит реализуемая ФАЛ, на единицу больше разрядности адресной части мультиплексора, то данную ФАЛ можно реализовать на мультиплексоре MS 2n→1 и одном инверторе.

x0

 

 

 

 

D0

MS

 

 

 

 

 

 

0

 

 

 

 

 

 

 

D1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

D2

 

y

y

 

 

 

 

 

 

 

 

 

1

 

D3

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4.13. Реализация ФАЛ, зависящей от трёх переменных, на мультиплексоре MS 4→1

Таблица 4.4

Таблица истинности ФАЛ, зависящей от трёх переменных с выделенными группами

набораНомер

x2

x1

x0

y

 

 

 

 

 

0

0

0

0

1

 

 

 

 

 

1

0

0

1

1

 

 

 

 

 

2

0

1

0

0

 

 

 

 

 

3

0

1

1

0

 

 

 

 

 

4

1

0

0

1

 

 

 

 

 

5

1

0

1

0

 

 

 

 

 

6

1

1

0

1

 

 

 

 

 

7

1

1

1

1

 

 

 

 

 

При распространении данного метода на реализацию ФАЛ, зависящей от четырёх переменных, на том же MS 4→1, очевидно, что если две старшие переменные x3 и x2 подать соответственно на адресные входы а1 и а0, то информационные входы будут функциями двух младших переменных x1 и x0. Всего таких функций 16, из них шесть - выро-

жденные (0, 1, x1, x0, x1 , x0 ), а 10 функций зависят от двух переменных, причём для реализации последних требуются восемь различных логических элементов (И, И-НЕ, ИЛИ, ИЛИ-НЕ, ab - элемент запрета, a +b - элемент, реализующий функцию импликации, ab +ab - элемент равно-

значности и ab +ab - элемент, реализующий сумму по модулю два [2]. Итак, данная реализация потребует кроме мультиплексора, в худшем случае, восемь различных логических элементов, поэтому её, как

правило, не рекомендуется использовать на практике.

В некоторых частных случаях ФАЛ, зависящую от четырёх переменных, можно реализовать с использованием только одного мульти-

плексора MS 4→1 без каких-либо логических элементов. Рассмотрим эти случаи. Пусть требуется реализовать ФАЛ, представленную картой Карно (рис.4.14).

 

 

 

 

 

 

 

 

 

 

D2

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

0

0

y

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D3

x1

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

1

0

 

 

 

1

 

1

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

 

 

 

 

x0

 

 

 

 

 

 

 

D1

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D0

 

 

x0

 

Рис.4.14. Рабочая карта Карно

x1

 

 

 

 

 

 

 

 

для ФАЛ, зависящей от четырёх

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переменных

 

 

 

 

0

 

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

Рис.4.15. Рабочие карты Карно для информационных входов мультиплексора MS 4→1

Если две старшие переменные x3 и x2 подать на адресные входы а1 и а0 мультиплексора MS 4→1, то информационные входы D0, D1, D2 и D3 можно представить четырьмя картами Карно для двух переменных x1 и x0 (рис.4.15). Эти карты являются в данном случае строками карты Карно, представленной на рис.4.14. Из рис.4.15 следует D0 = x1x0, D1 = x0, D2 = x1 + x0 и D3 = x1. Соответствующая реализация представлена на рис.4.16.

x1

&

 

 

 

x0

 

D0

MS

 

 

 

 

 

 

 

D1

y

y

 

 

 

 

1

 

 

 

D2

 

 

 

 

 

 

 

 

D3

 

 

x3

 

a1

 

 

x2

 

 

 

 

a0

 

 

 

 

 

 

Рис.4.16. Реализация ФАЛ, зависящей от четырёх переменных, на мультиплексоре MS 4→1

Подадим теперь на адресные входы а1 и а0 соответственно переменные x1 и x0, тогда информационные входы D0, D1, D2 и D3 можно представить четырьмя картами Карно для двух переменных x3 и x2 (рис.4.17), причём эти карты являются в данном случае столбцами карты Карно, представленной на рис.4.14.

D2

D3

 

 

D1

 

 

D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

1

 

 

x3

 

1

 

 

 

0

 

 

x3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

1

 

 

0

 

 

 

 

x2

 

 

 

 

x2

 

 

 

x2

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.4.17. Второй вариант рабочих карт Карно для информационных входов мультиплексора MS 4→1

Из рис.4.17 следует D0 = 0, D1 = x2, D2 = 1 и D3 = x3. Соответствующая реализация представлена на рис.4.18.

 

 

 

 

 

 

 

 

Сравнивая рис.4.16 и рис.4.18,

 

 

 

 

 

 

 

 

можно сделать очевидный вывод о

 

 

 

 

 

 

 

 

предпочтительности

реализации,

0

 

 

D0

MS

 

 

 

представленной на рис.4.18, так как

x2

 

 

 

 

 

 

здесь не требуется никаких логиче-

 

D1

 

 

 

 

x3

 

 

 

 

 

ских элементов.

 

 

D2

 

 

 

 

 

 

 

 

 

 

y

Поиск рациональной структу-

1

 

 

y

 

D3

 

 

 

 

 

 

 

ры по данной методике в общем

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

случае потребует

анализа шести

 

a1

 

 

 

 

 

 

 

 

 

 

 

вариантов подачи двух различных

x0

 

 

 

 

 

 

a0

 

 

 

 

переменных из четырёх на адрес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ные входы MS 4→1 (здесь шесть -

Рис. 4.18. Второй вариант реали-

это число различных сочетаний из

зации ФАЛ, зависящей от четы-

четырёх переменных по две). Про-

рёх переменных, на мультиплек-

ще рациональную

структуру вы-

 

 

соре MS 4→1

 

 

явить, выполняя следующие проце-

 

 

 

 

 

 

 

 

дуры:

• записать реализуемую ФАЛ в МДНФ. В нашем случае из рис.4.14

следует:

 

y = x3x1 + x1x0 + x2x0 ;

(4.10)

определить две переменные, наиболее часто встречающиеся в различных простых импликантах выражения (4.10). В нашем случае это

переменные x1 и x0, так как они встречаются по два раза, а переменные x3 и x2 только один раз. Именно переменные x1 и x0 необходимо подать на соответствующие адресные входы а1 и а0 MS 4→1;

используя правило развертывания, законы дополнительности, одинарных элементов, поглощения и распределительный закон первого рода [4], можно преобразовать МДНФ к виду, когда в выражении для реализуемой ФАЛ присутствуют все четыре конституенты единицы двух переменных, выявленных на предыдущей процедуре. В рассматриваемом случае имеем

y = x3x1 + x1x0 + x2 x0 = x3x1 1 + x1x0 + x2 1 x0 =

= x3x1(

x0

+ x0 ) + x1x0 + x2 (

x1

+ x1)x0 =

(4.11)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= x3x1 x0 + x3x1x0 + x1x0 + x2 x1x0 + x2 x1x0 =

 

= x2

x1

x0 + x3x1

x0

+ x1x0 (1 + x3 + x2 ) = x2

x1

x0 + x3x1

x0

+ x1x0.

 

Представим теперь выражение (4.11) в виде, аналогичном выра-

жению (4.6):

y =

x1

 

x0

0 +

x1

x0 x2 + x1

x0

x3 + x1x0 1.

(4.12)

Сравнивая выражения (4.12) и (4.7), выявляем, что D0 = 0, D1 = x2, D2 = x3 и D3 = 1 (см. рис.4.18). Эту методику можно распространить и на реализацию систем двух или четырёх ФАЛ с использованием двухили четырёхразрядных мультиплексоров, имеющих общую адресную часть. Рациональный выбор переменных, подаваемых на адресные входы мультиплексоров, определяются подсчётом общего числа каждой переменной, входящей в две или четыре функции. В качестве адресных выбираются те переменные, которые встречаются наибольшее число раз во всех простых импликантах всех реализуемых ФАЛ.

Если использовать стробируемые MS 2n→1, имеющие три состояния выхода, то любую ФАЛ, зависящую от n + 2 переменных, легко реализовать на двух стробируемых мультиплексорах и двух инверторах. Один из инверторов используется в цепи стробирования одного из мультиплексоров, а другой на их информационных входах. Рассмотрим пример. Пусть требуется реализовать ФАЛ, представленную картой Карно на рис.4.19, на стробируемых мультиплексорах MS 4→1, имеющих три состояния выхода и активный уровень 0 на их

стробирующих входах.

 

 

 

 

 

 

 

 

 

 

 

Представим

карту

Карно

y

x1

 

 

 

 

 

на рис.4.19 в виде двух карт

 

 

 

 

 

 

 

 

 

 

 

 

 

Карно, зависящих от трёх

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

младших

 

переменных

 

 

1

 

0

 

1

0

 

 

(рис.4.20). Подавая переменную

x3

 

 

 

 

 

 

 

 

 

x3 непосредственно на

строби-

 

 

0

 

1

 

1

1

 

 

рующий вход одного из муль-

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

типлексоров

MS 4→1, реализу-

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

 

 

 

 

 

ется

функция

y1,

 

 

 

 

 

 

представленная

картой

Карно,

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

0

0

 

 

показанной на рис.4.20,а, и че-

 

 

 

 

 

 

рез дополнительный внешний

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

инвертор на вход другого реа-

 

 

 

 

 

x0

 

 

 

лизуется функция y2, представ-

Рис.4.19. Карта Карно для ФАЛ,

ленная картой Карно, показан-

зависящей от четырёх переменных

ной на рис.4.20,б.

y

 

x1

 

 

 

y

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

1

 

0

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

0

0

 

 

0

 

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

 

 

 

 

x0

 

 

 

 

 

 

а

 

 

 

 

 

 

б

 

Рис.4.20. Представление ФАЛ двумя картами Карно при x3 = 0 (а) и x3 = 1 (б)

Очевидно, что y = y1 + y2, причём логическая операция ИЛИ реализуется здесь как монтажная операция соединением в единую цепь выходов этих двух мультиплексоров. Подавая переменные x2 и x1 на соответствующие адресные входы а1 и а0, а переменную x0 непосредственно или через второй дополнительный внешний инвертор вместе с константами 0 и 1 на информационные входы мультиплексоров, получаем окончательную реализацию ФАЛ (рис.4.21).

Отметим, что функции y1 и y2 можно реализовать по рациональным структурам, способы получения которых описаны выше, так как на адресные входы двух мультиплексоров не обязательно подавать одни и те же переменные.

Реализацию одной ФАЛ на мультиплексоре можно рассматривать как одноразрядное ПЗУ, а систем n ФАЛ, зависящих от одних и тех же переменных, как n-разрядное ПЗУ.