Уровень 13: Выбор операции
Задание
Постройте селектор операций. BusMUX выбирает результат: ADD, AND или OR на основе OpSelect.
Постройте селектор, который выбирает одну из трёх арифметических операций.
Решение
На холсте УЖЕ предустановлены три вычислителя: ADDER8 (сложение), BusAND (побитовое И), BusOR (побитовое ИЛИ). Они подключены к входам A и B — каждая операция вычисляется параллельно.
Ваша задача: выбрать ПРАВИЛЬНЫЙ результат через каскад мультиплексоров. Управляющий сигнал OpSelect: 0=сложение, 1=И, 2=ИЛИ.
Шаг 1: Разберите OpSelect через Splitter на биты. Бит 0 будет выбирать между ADD и AND, бит 1 — добавлять OR в цепочку.
Шаг 2: Поставьте первый BusMUX: - Вход A = выход ADDER8 (сложение). - Вход B = выход BusAND (И). - Селектор = Splitter.Bit0. Когда OpSelect=0 → Bit0=0 → проходит ADDER8. Когда OpSelect=1 → Bit0=1 → проходит BusAND.
Шаг 3: Поставьте второй BusMUX: - Вход A = выход первого BusMUX. - Вход B = выход BusOR (ИЛИ). - Селектор = Splitter.Bit1. Когда OpSelect=2 → Bit1=1 → проходит BusOR.
Выход второго BusMUX — это Result.