Реализация функции с 5 переменными с использованием мультиплексоров
-
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/
(Я не могу опубликовать больше двух реальных ссылок...)