На этой странице описываются параметры конфигурации, находящиеся на вкладке Создание кода HDL > Цель > Общие диалогового окна Параметры конфигурации. Используя параметры в этом разделе, можно использовать балансировку задержки для сопоставления задержек, введенных оптимизациями, и множители секционирования на основе порогового значения.
Если включить определенные оптимизации, такие как конвейерная обработка или совместное использование ресурсов, или указать определенные реализации блоков и генерировать код, HDL Coder™ вводит задержки конвейера вдоль определенных сигнальных путей в модели. По умолчанию параметр Задержки баланса включен. Генератор кода обнаруживает эти задержки трубопровода, введенные вдоль одного пути, и затем вставляет соответствующие задержки на другие пути.
Чтобы убедиться, что созданная модель после генерации кода HDL функционально эквивалентна исходной модели Simulink ®, оставьте этот параметр включенным. Если этот параметр отключен, кодер HDL генерирует предупреждение о том, что в модели проверки могут возникать числовые различия. Чтобы исправить это предупреждение, включите параметр Задержки баланса в модели или запустите параметр Балансировка задержки проверки модели.
По умолчанию: Вкл.
Включает балансировку задержки в модели. Если кодер HDL обнаруживает введение новых задержек по одному тракту, соответствующие задержки вставляются по другим трактам. Когда балансировка задержки включена, создаваемая модель функционально эквивалентна исходной модели.
Задержка вдоль сигнальных путей может быть не сбалансирована, а сгенерированная модель может быть функционально не эквивалентна исходной модели.
Свойство:
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')
По умолчанию: Вкл.
Преобразование блоков задержки с ненулевым начальным условием в модели Simulink в блоки задержки с нулевым начальным условием и некоторой дополнительной логикой в сгенерированном коде HDL.
Используя это преобразование, HDL Coder может более эффективно выполнять оптимизации, такие как совместное использование, распределенная конвейерная обработка и конвейерная обработка тактовой частоты, и предотвращать запуск утверждения в модели проверки.
Не преобразовывайте блоки задержки с ненулевым начальным условием в модели 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')
По умолчанию: Вкл.
Удаление неиспользуемых портов в конструкции из сгенерированного кода 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')