Балансировка задержки и общие параметры оптимизации

Эта страница описывает параметры конфигурации, которые находятся на вкладке HDL Code Generation > Target > General диалогового окна Configuration Parameters. Используя параметры в этом разделе, можно использовать балансировку задержки для соответствия задержкам, введенным оптимизациями, и умножителям разделов на основе порогового значения.

Задержки на балансе

Когда вы включаете определенные оптимизации, такие как конвейеризация или совместное использование ресурсов, или задаете определенные реализации блоков и генерируете код, HDL- Coder™ вводит задержки конвейера вдоль определенных путей сигнала в вашей модели. По умолчанию параметр Balance delays включен. Генератор кода обнаруживает эти задержки трубопровода, введенные вдоль одного пути, и затем вставляет соответствующие задержки на другие пути.

Чтобы убедиться, что сгенерированная модель после генерации HDL-кода функционально эквивалентна оригинальной Simulink® модель, оставьте этот параметр включенным. Если вы отключаете эту настройку, HDL Coder генерирует предупреждение о том, что в модели валидации могут возникнуть числовые различия. Чтобы исправить это предупреждение, включите Balance delays на модели или запустите проверку модели Проверить настройку балансировки задержки.

Настройки

По умолчанию: On

На

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

Прочь

Задержка вдоль сигнальных путей может не быть сбалансированной, и сгенерированная модель может не быть функционально эквивалентной исходной модели.

Информация о командной строке

Свойство: BalanceDelays
Тип: Вектор символов
Значение: 'on' | 'off'
По умолчанию: 'on'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Чтобы просмотреть значение свойства, используйте hdlget_param.

Для примера можно включить BalanceDelays настройка при генерации HDL-кода для symmetric_fir подсистема внутри sfir_fixed моделировать с использованием любого из этих методов.

  • Передайте свойство как аргумент в makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'BalanceDelays','on')
  • Когда вы используете hdlset_paramможно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl.

    hdlset_param('sfir_fixed','BalanceDelays','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также

Преобразуйте задержку нуля неначальное значение

Настройки

По умолчанию: On

На

Преобразуйте Delay блоки с ненулевыми Initial condition в модели Simulink, чтобы Delay блоки с нулем Initial condition и некоторой дополнительной логикой в сгенерированном HDL-коде.

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

Прочь

Не преобразуйте Delay блоки с ненулевыми Initial condition в модели Simulink.

Информация о командной строке

Свойство: TransformNonZeroInitValDelay
Тип: Вектор символов
Значение: 'on' | 'off'
По умолчанию: 'on'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Чтобы просмотреть значение свойства, используйте hdlget_param.

Для примера можно задать TransformNonZeroInitValDelay свойство к on при генерации HDL-кода для symmetric_fir подсистема внутри sfir_fixed моделировать с использованием любого из этих методов.

  • Передайте свойство как аргумент в makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'TransformNonZeroInitValDelay','on')
  • Когда вы используете hdlset_paramможно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl.

    hdlset_param('sfir_fixed','TransformNonZeroInitValDelay','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также

makehdl

Порог разбиения множителя

Настройки

По умолчанию: Inf

N, где N является целым числом, большим или равным 2

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

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

Чтобы улучшить результаты отображения оборудования, установите порог разбиения умножителя на входную битовую ширину DSP или оборудования умножителя на вашем целевом устройстве.

Inf

Не разделяйте множители.

Информация о командной строке

Свойство: MultiplierPartitioningThreshold
Тип: целое число
Значение: целое число, больше или равное 0
По умолчанию: Inf

Чтобы задать это свойство, используйте hdlset_param или makehdl. Чтобы просмотреть значение свойства, используйте hdlget_param.

Для примера можно задать MultiplierPartitioningThreshold на 16 при генерации HDL-кода для symmetric_fir подсистема внутри sfir_fixed моделировать с использованием любого из этих методов.

  • Передайте свойство как аргумент в makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'MultiplierPartitioningThreshold','16')
  • Когда вы используете hdlset_paramможно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl.

    hdlset_param('sfir_fixed', 'MultiplierPartitioningThreshold','16')
    makehdl('sfir_fixed/symmetric_fir')

См. также

Удаление неиспользованных портов

Настройки

По умолчанию: On

На

Удаляет порты в проекте, которые не используются из сгенерированного HDL-кода. Эта оптимизация сохраняет неиспользованные порты в подсистеме DUT верхнего уровня. Все остальные неиспользованные порты удаляются из HDL-кода.

Прочь

Не удаляйте неиспользованные порты из HDL-кода.

Информация о командной строке

Свойство: DeleteUnusedPorts
Тип: Вектор символов
Значение: 'on' | 'off'
По умолчанию: 'on'

Чтобы задать это свойство, используйте hdlset_param или makehdl. Чтобы просмотреть значение свойства, используйте hdlget_param.

Для примера можно задать DeleteUnusedPorts свойство к off при генерации HDL-кода для symmetric_fir подсистема внутри sfir_fixed моделировать с использованием любого из этих методов.

  • Передайте свойство как аргумент в makehdl функция.

    makehdl('sfir_fixed/symmetric_fir', ... 
            'DeleteUnusedPorts','off')
  • Когда вы используете hdlset_paramможно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl.

    hdlset_param('sfir_fixed','DeleteUnusedPorts','on')
    makehdl('sfir_fixed/symmetric_fir')

См. также