Altifigence Academy

1 / 24 · Теория

Превратите уравнение в спецификацию тракта данных

Задайте разрядности, события приёма и признаки достоверности результатов вместе с арифметикой.

Определите, что гарантирует схема

Тракт данных хранит, выбирает и вычисляет значения. Контроллер определяет, какие значения перемещаются и когда. Это разные задачи проектирования, однако они не являются независимо выполняющимися программными задачами. На фронте тактового сигнала управляющие сигналы определяют обновления регистров; значения этих регистров становятся входами комбинационной логики в следующем такте. Уравнение без такого временного соглашения может дать правильное число для другой транзакции.

Наш небольшой вычислитель принимает беззнаковые восьмибитные операнды a и b и двухбитный код операции. Операция 0 складывает, 1 вычитает, 2 вычисляет AND, а 3 — XOR. Арифметические операции возвращают младшие восемь бит с отдельным признаком переноса при сложении или займа при вычитании. В дальнейших проектах также передаётся метка. Она не меняет вычисление, но идентифицирует входные данные, породившие результат, поэтому должна перемещаться вместе с ним.

Элемент спецификацииВыбор в этом курсе
Значение операндовБеззнаковые целые числа от 0 до 255
СужениеМладшие восемь бит, по модулю 256
Информация о границахПеренос ADD и заём SUB
ПриёмПередний фронт при одновременно установленных valid и ready
ПорядокРезультаты следуют порядку принятых входных данных
СбросОтбросить незавершённую работу и очистить состояние valid

При a=250, b=10 и ADD математическая сумма равна 260. На выходе получаем 4 с carry=1. Знаковая интерпретация или насыщение задали бы другое поведение. Не позволяйте случайному преобразованию в языке выбирать правило. Арифметика с циклическим переполнением может подходить счётчикам адресов, а вычисление яркости может требовать насыщения.

Путь транзакции
  1. Приём: Зафиксировать операнды, операцию и метку
  2. Вычисление: Применить заданные числовые требования
  3. Выдача: Передать результат и соответствующую метку

Выход АЛУ при снятом valid всё ещё может электрически изменяться; он не представляет транзакцию. Достоверный результат со старой меткой также ошибочен. Рассматривайте данные, метку и valid вместе. Для каждого выхода определите и смысл битов, и момент, когда потребитель может им доверять. Потактовые модели здесь проверяют функциональность и порядок, а не физические задержки вентилей. Переведите спецификацию в эталонную модель до выбора границ регистров для требуемой задержки или пропускной способности.

Попробуйте сами

Запишите восьмибитный результат ADD и перенос для a=250 и b=10. Объясните значение 4 и необходимость хранить метку вместе с результатом.

Прочитать объяснение

260=1×256+4, поэтому data=4 и carry=1. Правило младших восьми бит сводит сумму по модулю 256. Храните метку при тех же условиях приёма, остановки и выдачи, что и данные, чтобы результат оставался связан со своим входом.

Выбор действует в этом браузере. Его можно изменить внизу страницы.