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. Знаковая интерпретация или насыщение задали бы другое поведение. Не позволяйте случайному преобразованию в языке выбирать правило. Арифметика с циклическим переполнением может подходить счётчикам адресов, а вычисление яркости может требовать насыщения.
- Приём: Зафиксировать операнды, операцию и метку
- Вычисление: Применить заданные числовые требования
- Выдача: Передать результат и соответствующую метку
Выход АЛУ при снятом valid всё ещё может электрически изменяться; он не представляет транзакцию. Достоверный результат со старой меткой также ошибочен. Рассматривайте данные, метку и valid вместе. Для каждого выхода определите и смысл битов, и момент, когда потребитель может им доверять. Потактовые модели здесь проверяют функциональность и порядок, а не физические задержки вентилей. Переведите спецификацию в эталонную модель до выбора границ регистров для требуемой задержки или пропускной способности.
Попробуйте сами
Запишите восьмибитный результат ADD и перенос для a=250 и b=10. Объясните значение 4 и необходимость хранить метку вместе с результатом.
Прочитать объяснение
260=1×256+4, поэтому data=4 и carry=1. Правило младших восьми бит сводит сумму по модулю 256. Храните метку при тех же условиях приёма, остановки и выдачи, что и данные, чтобы результат оставался связан со своим входом.