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

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

План лекции

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

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

-Мультиплексор в режиме сдвигателя.

-Использование мультиплексора в качестве преобразователя параллельного кода в последовательный.

-Мультиплексор в составе многоканального селектора.

-Мультиплексор в составе компаратора двух чисел.

-Мультиплексор в составе контроллера состояния сложного объ-

екта.

-Мультиплексор MS 2→1 в качестве тактируемого потенциалом D- триггера.

-Мультиплексор MS 2→1 в качестве сдвигового регистра.

-Мультиплексор в режиме кольцевого счётчика.

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

 

 

 

 

 

 

личество логических переменных n,

 

D2

 

 

 

 

 

1

 

 

 

y

 

y

от которых зависит реализуемая

 

D3

 

 

 

 

 

 

 

 

 

ФАЛ, совпадает с разрядностью

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

адресной

части

мультиплексора,

 

a1

 

 

 

 

 

 

 

 

 

 

 

то эти переменные подаются на

x0

 

 

 

 

 

 

 

a0

 

 

 

 

 

адресные

входы

мультиплексора

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(старшая переменная - на стар-

Рис.4.11. Реализация ФАЛ, завися-

ший адресный вход), а на инфор-

щей от двух переменных, на муль-

мационные входы мультиплексора

 

типлексоре MS 4→1

 

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 для произвольной ФАЛ, зависящей от трёх переменных, в общем случае являются функциями от третьей пе-

y

 

x1

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

0

1

 

 

 

 

 

 

 

 

 

0

 

0

1

0

 

 

 

 

 

 

 

x0

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

ременной x0. Такими функциями являются 0, 1, x0 и x0 . Реализа-

ция данной ФАЛ представлена на рис.4.13.

Тот же результат проще получить, если в табл.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 ) x1x0 x2 (

 

x1)x0

 

x0

x1

(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.19. Карта Карно для ФАЛ, зависящей от четырёх переменных

Сравнивая выражения (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.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-разрядное ПЗУ.