Программа Python для реализации мультиплексора 2:4

Опубликовано: 25 Сентября, 2022

Предварительное условие: мультиплексоры в цифровой логике.

Введение :
Это комбинационная схема, которая имеет много входов данных и один выход в зависимости от управления или выбора входов. Мультиплексоры также известны как «селектор данных n, параллельный последовательный преобразователь, схема «многие в одну», универсальная логическая схема». Мультиплексоры в основном используются для увеличения объема данных, которые могут быть отправлены по сети в течение определенного времени и полосы пропускания.

Здесь, если у нас есть четыре входа, как упоминалось выше, у нас будет log 4 (основание 2) = 2 входных строки. поэтому для каждого уникального значения выбора мультиплексора S0 и S1 мы выберем входную линию и дадим ее в качестве вывода. Приведенная ниже таблица истинности объясняет выбор входного порта.

Обычно десятичное значение S0S1 дает порт выбора. нам даны s[] (селекторы) и I[](входы), наша задача состоит в том, чтобы выбрать входной порт на основе селекторов и напечатать значение в этом порту в качестве вывода.
Для преобразования двоичного кода в десятичный см. — Преобразование двоичного кода в десятичный.

Пример -

Input : I[ ]={0,1,1,1]
            s[ ]={1,0}

Output : 1

Explanation : Here s[0]=1,s[1]=0, so its decimal value will be (1*(2**1))+(0*(2**0))=2. so we have to output the value given at pin I2. That is I[2]=1 so the output is 1.

Input : I[ ]={1,1,1,0}
            s[ ]={1,1}

Output : 0

Explanation : Here s[0]=1,s[1]=1, so its decimal value will be (1*(2**1))+(1*(2**0))=3. so we have to output the value given at input I3. That is I[3]=0 so the output is 0.

Input : I[ ]={0,1,1,0}
           s[ ]={0,1}

Output : 1

Explanation : Here s[0]=0,s[1]=1, so its decimal value will be (0*(2**1))+(1*(2**0))=1. so we have to output the value given at input I1. That is I[1]=1 so the output is 1.

Подход :

  • Здесь мы должны преобразовать селекторы в десятичное значение.
  • поэтому, чтобы преобразовать строки селектора в десятичное число, мы должны умножить (s[0]*(2**1))+(s[1]*(2**0)).
  • Получение этого индекса десятичного значения из входного массива I[] дает результат.