Автоматическая итеративная оптимизация

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

Существует два способа использовать hdlcoder.optimizeDesign оптимизировать вашу тактовую частоту:

  • Лучшая тактовая частота: Вы задаете максимальное количество итераций, которые вы хотите, чтобы HDL Coder™ выполнил, и кодер выполняет итерации, чтобы минимизировать критический путь в вашем проекте.

  • Целевая тактовая частота: Вы задаете цель тактовой частоты для своего проекта и максимального количества итераций, которые вы хотите, чтобы HDL Coder выполнил. Кодер выполняет итерации, пока это не соответствует вашей целевой тактовой частоте или достигает максимального количества итераций.

    HDL Coder может также решить, что ваша целевая тактовая частота не достижима, потому что ваш целевой период часов меньше задержки самой многочисленной атомарной комбинационной группы логики в вашем проекте.

Как автоматические итеративные работы оптимизации

Вы задаете свою цель тактовой частоты и максимальное количество итераций. HDL Coder выполняет следующие шаги для каждой итерации:

  1. Анализирует логику в вашем проекте.

  2. Генерирует код.

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

  4. Назад аннотирует проект аналитическими данными о синхронизации.

  5. Вставляет конвейерные регистры, чтобы повредить критический путь.

  6. Задержки балансов.

  7. Сохраняет данные об итерации в новой папке.

Когда HDL Coder удовлетворил вашей цели тактовой частоты, или это достигло максимального количества итераций, это сохраняет сгенерированный код и данные об итерации в новой папке и генерирует отчет, который описывает итоговый критический путь.

Автоматическая итеративная оптимизация Выход

Когда HDL Coder выходит из цикла оптимизации, он сохраняет результаты в папке итоговой итерации, hdlsrc/your_model_name/hdlexpl/Final-timestamp.

Итоговая папка итерации содержит:

  • Сгенерированный HDL-код, в hdlsrc/your_model_name

  • Файл данных, cpGuidance.mat, то, что можно использовать с исходной моделью, чтобы регенерировать код, не повторно выполняя итеративную оптимизацию.

  • Отчет оптимизации, summary.html.

HDL Coder также сохраняет

Автоматический итеративный отчет оптимизации

HDL Coder генерирует отчет для итоговой итерации оптимизации и сохраняет ее в итоговой папке итерации, hdlsrc/your_model_name/hdlexpl/Final-timestamp.

Итоговый отчет оптимизации, summary.html, содержит следующее:

  • Итоговый раздел, с:

    • Итоговая задержка критического пути.

    • Задержка критического пути и прошедшее время для каждой итерации.

  • Диагностический раздел, с:

    • Причина остановки в итоговой итерации.

    • Модель или настройки блока, которые могут уменьшать точность анализа критического пути.

      Если ваша модель имеет эти настройки, удалите их, если это возможно, и повторно выполнитесь hdlcoder.optimizeDesign. Некоторая оптимизация, такой, как распределено конвейеризация и ограниченный выходной конвейер, изменяет размещение конвейерных регистров после того, как кодер будет анализировать критический путь.

    • Описание критического пути, которое показывает сигналы и компоненты в обоих исходная модель и сгенерированная модель, которые являются частью критического пути.

      Можно видеть сообщение, в котором говорится, что сигнал или компонент на критическом пути не могут быть прослежены до исходной модели. HDL Coder не может смочь сопоставить свое внутреннее представление вашего проекта назад к первоначальному проекту. Каждая итерация оптимизации изменяет внутреннее представление, таким образом, итоговое представление может иметь структуру, которая отличается от вашего первоначального проекта.

Требования для автоматической итеративной оптимизации

Вашим инструментом синтеза должен быть Xilinx® ISE или Xilinx Vivado®, и ваше целевое устройство должно быть FPGA Xilinx.

Ограничения автоматической итеративной оптимизации

  • В текущем релизе автоматическая итеративная оптимизация не поддерживает оборудование Altera®.

  • Выполнение автоматической итеративной оптимизации может занять много времени, в зависимости от сложности вашего проекта. Помочь смягчить стоимость времени, hdlcoder.optimizeDesign может регенерировать код от предыдущего запуска или возобновиться от прерванного запуска.

  • Автоматическая итеративная оптимизация доступна из командной строки только.

  • HDL Coder использует время выполнения посткарты, которое инструмент синтеза генерирует прежде, чем выполнить место и маршрут. Время выполнения посткарты менее точно, чем время выполнения, которое инструмент синтеза генерирует после места и маршрута, но быстрее, чтобы получить.

Смотрите также