Эта страница описывает параметры конфигурации, которые находятся на вкладке 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')
По умолчанию:
Inf
Разбиение умножителей так, что N является максимальной шириной входного бита умножителя.
Этот параметр задает максимальную входную ширину бита для умножителя. Если, по меньшей мере, один из входов в умножитель имеет ширину бита, большую, чем пороговое значение, генератор кода разделяет умножитель на меньшие умножители.
Чтобы улучшить результаты отображения оборудования, установите порог разбиения умножителя на входную битовую ширину DSP или оборудования умножителя на вашем целевом устройстве.
Не разделяйте множители.
Свойство:
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')