Что делает мультиплексор
Мультиплексор (MUX) — цифровой переключатель: при N входах данных и log2(N) линиях выбора он направляет ровно один из входов на единственный выход. MUX 2:1 имеет 2 входа данных и 1 линию выбора; MUX 4:1 — 4 входа и 2 линии выбора, и так далее.
Построение MUX 2:1 из вентилей
При входах данных I0 и I1 и линии выбора S выход равен:
- Out = ¬S·I0 + S·I1
- Когда S=0, член ¬S·I0 пропускает I0, а S·I1 принудительно равен 0. Когда S=1, роли меняются.
Что делает демультиплексор
Демультиплексор (DEMUX) — зеркальное отражение MUX: он берёт один вход данных и направляет его ровно на один из N выходов, выбранный линиями выбора. Все остальные выходы удерживаются на 0.
Демультиплексоры часто работают в паре с декодерами, активируя ровно одну выходную линию по двоичному адресу — тот же принцип, что используется для выбора одной микросхемы памяти из многих или включения одной цифры на многоразрядном индикаторе.
Где они применяются
Мультиплексоры используются везде, где схема должна выбирать между источниками данных: выбор операндов АЛУ, порты чтения регистрового файла, арбитраж шины. В Boolflow есть готовые блоки MUX 2:1 / 4:1 / 8:1 и DEMUX 1:2 / 1:4 / 1:8 — загрузите пример с мультиплексором и переключайте биты выбора, чтобы увидеть маршрутизацию в реальном времени.