Altifigence Academy
Проектирование цифровых схемБесплатно · Средний

Проектирование RTL: тракты данных и конвейеры

Определите числовые требования и поведение по тактам, затем спроектируйте АЛУ, контроллер, конвейер и буферизацию ready-valid. Четыре лабораторные работы с исполняемыми эталонными моделями проверяют арифметические границы, остановки, FIFO и порядок обработки перед итоговым проектом потоковых вычислений.

Тракты данныхКонвейерыReady-validFIFOФункциональная верификация
Моё обучение

Чему вы научитесь

  • Различать требования к разрядности, знаковости, переносу и переполнению
  • Планировать регистровые передачи, управление конечным автоматом и работу синхронной памяти
  • Вычислять задержку, пропускную способность и интервал запуска
  • Обрабатывать остановки ready-valid и граничные состояния FIFO без потерь
  • Создавать проверки с таблицей ожидаемых результатов для конфликтов и сброса
  • Проверять итоговый проект потоковых вычислений автономными моделями

Перед началом

Упражнения в браузере используют учебные модели и не компилируют и не запускают HDL. Для отдельного запуска исходного кода следуйте руководству Digital Design Studio для вашей ОС и войдите в аккаунт, если этого требует операция.

Установка и первый запуск ↗ · Загрузки ↗

Программа

  1. Числовые и арифметические требования
    • Превратите уравнение в спецификацию тракта данныхТеория

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

    • Разрядности, знаковое расширение и переполнениеТеория

      На числовых примерах разграничьте интерпретацию, расширение и сужение.

    • Лабораторная работа: эталонная модель восьмибитного АЛУПрактика

      Проверьте ADD, SUB, AND, XOR, перенос и заём в автономной исполняемой программе.

    • Проверка: перенос и знаковое переполнениеПроверка знаний

      Различайте числовые границы при беззнаковой и знаковой интерпретации.

  2. Регистровые передачи и управление
    • Читайте регистровые передачи на тактовых фронтахТеория

      Разделяйте старое и следующее состояние и прослеживайте сохранение значений сигналами разрешения.

    • Планируйте общие ресурсы конечным автоматомТеория

      Сложите четыре значения одним сумматором, определив переходы состояний и фиксацию данных.

    • Временные требования к запросам и ответам памятиТеория

      Различайте синхронное чтение, задержанные метки и конфликты одинакового адреса.

    • Проверка: сохранение готового результатаПроверка знаний

      Отделяйте выдачу в состоянии DONE от приёма следующего запроса.

  3. Временные характеристики и пропускная способность конвейера
    • Храните полную транзакцию на границах конвейераТеория

      Разделяйте сложение и масштабирование, согласуя valid, метку и разрядности.

    • Задержка, пропускная способность и интервал запускаТеория

      Вычисляйте задержку одной транзакции отдельно от установившейся частоты завершений.

    • Лабораторная работа: проследите две ступени и пустые тактыПрактика

      Вычисляйте следующее состояние из старого и сравнивайте выходные метки, значения и фронты.

    • Проверка: смысл II=1Проверка знаний

      Не путайте количество ступеней с установившейся пропускной способностью.

  4. Управление потоком ready-valid
    • События приёма и стабильность при остановкахТеория

      Назначьте обязанности источника и приёмника и сохраняйте задержанные полезные данные.

    • Спроектируйте эластичный регистр на одно местоТеория

      Принимайте данные в пустое место или заменяйте одновременно потреблённый элемент.

    • Лабораторная работа: проверьте 1024 шаблона остановокПрактика

      Проверьте удержание, замену и освобождение для всех десятизначных тактовых шаблонов ready.

    • Проверка: подсчёт задержанной транзакцииПроверка знаний

      Различайте длительность valid и фактическое количество подтверждённых передач.

  5. FIFO и границы конфликтов
    • Пустая и полная FIFO и одновременные передачиТеория

      Отделяйте заполненность от указателей и задавайте добавление/извлечение на границах.

    • Зависимости, ресурсные конфликты и обходная передачаТеория

      Сравните остановки и обходную передачу, когда операции нужен предыдущий результат.

    • Сохраняйте учёт транзакций при очистке и сбросеТеория

      Отделяйте отмену от выдачи и согласуйте valid с очередями ожидаемых результатов.

    • Проверка: замена в полной FIFOПроверка знаний

      Вычислите заполненность и порядок при одновременных push и pop.

  6. Верификация и потоковый вычислитель
    • Совместите таблицу ожидаемых результатов с локальными инвариантамиТеория

      Проверяйте значения, порядок, заполненность и стабильность остановок по принятым транзакциям.

    • Итоговая лабораторная работа: FIFO и двухступенчатый потоковый вычислительПрактика

      Соедините входную FIFO глубины два, две эластичные ступени и таблицу ожидаемых результатов.

    • Измерьте производительность и проверьте проектТеория

      Задавайте окна наблюдения, диагностируйте остановки и ограничивайте выводы модели.

    • Итоговая проверка: остановки без потерь и опустошениеПроверка знаний

      Совместите арифметику, учёт незавершённой работы и условия завершения.

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