- •Введение
- •1 Структурная схема
- •2 Форматирование таблиц истинности
- •3 Вычислительный блок
- •4 Описание схемы на hdl
- •1. 1. Блок входной синхронизации и хранения данных (красный)
- •5. Коммутатор результатов и задание лимитов (синий)
- •6. Выходной каскад и Конечный автомат (фиолетовый)
- •Заключение
- •2. Блок преобразования gcr-кода (зелёный)
- •3. Блок побитовой логики (оранжевый)
- •4. Блок арифметического сложения (жёлтый)
2. Блок преобразования gcr-кода (зелёный)
Декодирование по таблице Commodore GCR.Компоненты: Мультиплексоры Mux0–Mux4.Логика: На селекторные входы поступают младшие 5 бит data[4..0]. На информационные входы поданы константы, формирующие таблицу истинности. Выход — 5-битный resOP0[4..0].
3. Блок побитовой логики (оранжевый)
Выполняет побитовую логическую операцию объединения (A ∪ B̅) с инверсией части разрядов.
Компоненты: Три элемента ИЛИ (resOP1[2], resOP1[1], resOP1[0]).
Логика работы: Старшие биты
data[5..3]логически комбинируются с инвертированными младшими битамиdata[2..0].
4. Блок арифметического сложения (жёлтый)
Реализует вычисление арифметических функций с расширением разрядности.
Компоненты: Сумматоры
Add1иAdd2.Логика работы: Выполняется сложение вида A + B + 1, где в качестве операндов выступают разделенные триплеты данных: старшая тройка
data[5..3]и младшая тройкаdata[2..0]. За счет переносов и архитектуры сумматоров разрядность выходного значения увеличивается (расширение сетки для предотвращения переполнения).
5. Коммутатор результатов и задание лимитов (синий)
Этот узел выбирает, какой именно результат вычислений пойдет на выход, и сколько бит нужно будет передать.
Компоненты: Мультиплексоры Mux5–Mux9 (выбор результата).Логика выбора: Код op[1..0] управляет мультиплексорами Mux5–Mux9, выбирая один из источников: rescount, resOP0, resOP1, resOP2. Результат — res[4..0].
6. Выходной каскад и Конечный автомат (фиолетовый)
Преобразование параллельного результата в последовательный поток, синхронизированный с C_int.
Компоненты управления:
Регистр stout[1..0] — состояние автомата (3 состояния: 0, 1, 2).
Счётчик cnt[2..0] — счётчик выданных бит.
Компаратор LessThan0 — сравнение cnt < max_cnt.
Логика автомата: По фронту C_int автомат последовательно выдаёт биты res(cnt) через мультиплексоры Mux10, Mux11, Mux12, Mux13, Mux14, Mux15. Мультиплексоры dout-0 и dout-1 коммутируют биты в последовательный поток.
Выходные регистры:
dout-reg0 — последовательный выход dout.
C_out-reg0 — строб готовности данных C_out.
Заключение
В результате лабораторной работы был разработан вычислительный блок, реализующий задачу проверки Commodore GCR-кода (код 01), выполнение логической побитовой операции A ∪ B̅ (код 10) и арифметической операции A+B+1 (код 11). Вход схемы осуществляется нарастающим фронтом параллельным кодом при синхронном сбросе. Выход реализован последовательным кодом младшими разрядами вперёд (LSB) по убывающему фронту при активном уровне сигнала read = 1.
Помимо этого было проведено моделирование работы устройства и описание схемы на языке VHDL. Результаты моделирования совпали с таблицей истинности.
Также были выполнены описание структурной и функциональной схем, моделирование схемы в САПР Quartus II, а также построение и описание RTL-схемы по коду VHDL.
