23 / 24 · Теория
Измерьте производительность и проверьте проект
Задавайте окна наблюдения, диагностируйте остановки и ограничивайте выводы модели.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Перепроверьте числовые и временные требования
Правильное вычисление — лишь часть завершения. Проверяйте допуск входов, сохранение при остановках, конечное опустошение и границы сброса. Сообщайте окно наблюдения, принятые входы, выданные выходы, остановки входа/выхода и задержки транзакций. Предъявленные входы, отклонённые полным буфером, не должны считаться завершённой работой.
Пусть двенадцать результатов передаются между моментами сразу после фронта 0 и сразу после фронта 20 — окно из двадцати тактовых интервалов. Наблюдаемая пропускная способность — 0.6 транзакции за такт. При периоде пять наносекунд окно — 100 ns, скорость — 120 миллионов транзакций в секунду. Отличайте эту наблюдаемую скорость от структурного максимума без остановок 200 миллионов. Редкая выработка и частые остановки приёмника требуют разных исправлений при одинаковых скоростях.
Связывайте выдачу с приёмом по меткам. Tag7, принятый на фронте 4 и выданный на фронте 11, имеет задержку семь тактов, или 35 ns. Это превышает трёхтактовую задержку итогового проекта без остановок, не означая потерю. Записывайте диапазон или таблицу элементов, а не одно среднее. Утверждения о фиксированной задержке относятся только к путям без остановок.
| Наблюдение | Возможная причина | Что исследовать дальше |
|---|---|---|
| FIFO часто полна | Медленный приёмник или следующая ступень | Output-ready и valid ступеней |
| Выход часто пуст | Редкие входы или пустые такты | Принятые входы и движение ступеней |
| Длинный путь ready | Много комбинационных связей буферов | Временные характеристики реализации |
| Неверный порядок меток | Рассогласование сопутствующих полей | Метки и valid ступеней |
Более глубокая буферизация поглощает всплески, но может увеличить ожидание. Установившаяся заполненность, частота поступления и время пребывания связаны; не применяйте установившиеся средние слепо к коротким окнам заполнения, опустошения или отмены.
Проверьте разрядности, знаковость, сужение, движение valid, замену, отмену сбросом, время памяти и правила зависимостей. Успех Node устанавливает выполнение целочисленной модели, а не компиляцию HDL или время размещённой схемы. Для расширений, например насыщения, кодов операций или ответов памяти, меняйте спецификацию и эталонные проверки вместе. Расширение тракта данных должно сохранять хранение, приём и интерпретацию наряду с добавлением оператора.
Попробуйте сами
Тридцать результатов передаются за пятьдесят тактовых интервалов при периоде четыре наносекунды. Найдите наблюдаемую пропускную способность за такт и за секунду. Также найдите задержку tag3, принятого на фронте 8 и выданного на фронте 15.
Прочитать объяснение
Пропускная способность — 0.6 транзакции/такт. Окно 200 ns даёт 150 миллионов транзакций/секунду. Задержка tag3 — семь тактов, или 28 ns. Сообщайте наблюдения отдельно от максимальной производительности без остановок.