Реализация 5-переменной функции с использованием мультиплексоров - PullRequest
0 голосов
/ 25 января 2010

Если у меня есть функция с 5 переменными (ниже), и я хочу реализовать ее с помощью мультиплексора, как бы я это сделал (с использованием минимально возможного мультиплексора):

f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE

Это домашнее задание, поэтому не предоставляйте решения, просто руководство о том, как это работает.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 января 2014

Поскольку вы явно упоминаете

с использованием минимально возможного мультиплексора

есть еще один способ сделать это, в котором вам нужен только 2 ^ (n-1) входной мультиплексор для реализации функции входа (поэтому, в вашем случае, MUX с 2 ^ 4 входами и 4 входами выбора будет достаточно) , Идея состоит в том, чтобы использовать первые n-1 входов таблицы истинности в качестве входов выбора для MUX, в то время как оставшиеся входы подключаются к входам данных соответствующим образом, чтобы дать желаемый результат.

Поскольку я пока не могу публиковать изображения, см. Конкретный пример: https://www.dropbox.com/s/v8osbd8gtwhtfor/n-1inputmux.png

Или как реализовать простые логические вентили с MUX: https://www.dropbox.com/s/7cqbodha7lcoi9y/n-1inputmuxbasics.png


Источники:

http: // sifaka.uwaterloo.ca/~akenning/courses/ece124/

http: // 6004.mit.edu/

(я не могу опубликовать более двух реальных ссылок ...)

0 голосов
/ 25 января 2010

5 переменных означает 2 ** 5 (32) входной мультиплексор с входами от 0 до 31. Преобразуйте члены в двоичные числа и удерживайте соответствующие входы на высоком уровне. Для B'CE имеем:

A B C D E
X 0 1 X 1

Это дает нам 4 числа, так как у нас 2 пофиг. Четыре числа:

00101 = 5
00111 = 7
10101 = 21
10111 = 23

Удерживайте входы 5, 7, 21 и 23 на верхнем уровне.

Повторите для остальных условий.

...