Реализация функции с 5 переменными с использованием мультиплексоров

StackOverflow https://stackoverflow.com/questions/2129257

  •  22-09-2019
  •  | 
  •  

Вопрос

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

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

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

Спасибо!

Это было полезно?

Решение

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 на высоком уровне.

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

Другие советы

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

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

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

Поскольку я пока не могу публиковать изображения, посмотрите конкретный пример: 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/

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top