Уровень 14: Сердце математики

Задание

Соберите 8-битное АЛУ (ADD, AND, OR, XOR, NOT, SHL, SHR). Подсказка: декодер->операции->MUX.

АЛУ (арифметико-логическое устройство) — сердце любого процессора. Оно выполняет 7 операций над двумя 8-битными числами.

Решение

Работайте в ТРИ этапа:

ЭТАП 1 — Декодирование: Вход Opcode (число 0-6) говорит, какую операцию выполнить. Разберите Opcode через Splitter на биты — они понадобятся для управления мультиплексорами.

ЭТАП 2 — Вычисление: Запустите ВСЕ 7 операций ПАРАЛЛЕЛЬНО. Поставьте на холст и подайте входы A и B на каждый блок: - ADDER8 (сложение: A+B) - BusAND (побитовое И: A&B) - BusOR (побитовое ИЛИ: A|B) - BusXOR (побитовое XOR: A^B) - BusNOT (побитовое НЕ: ~A — нужен только вход A) - BusSHL (сдвиг влево: A<<1) - BusSHR (сдвиг вправо: A>>1)

ЭТАП 3 — Выбор: Постройте каскад из 6 BusMUX. Первый уровень выбирает в парах (ADD/AND, OR/XOR, NOT/SHL), второй и третий уровни сводят к одному результату. Выход последнего MUX — это Result.

Не забудьте про выход Zero: подключите Result к BusZero — его выход покажет 1 когда Result=0.