exponenta event banner

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

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

Существует два способа использования hdlcoder.optimizeDesign для оптимизации тактовой частоты:

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

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

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

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

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

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

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

  3. Использует инструмент синтеза для анализа сгенерированного кода и получает данные анализа синхронизации после отображения.

  4. Обратная сторона аннотирует конструкцию с данными анализа синхронизации.

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

  6. Балансы задержек.

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

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

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

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

Папка окончательной итерации содержит:

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

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

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

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

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

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

Окончательный отчет по оптимизации, summary.html, содержит:

  • Раздел сводки, с:

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

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

  • Секция диагностики, с:

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

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

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

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

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

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

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

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

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

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

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

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

См. также