exponenta event banner

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

На этой странице описываются параметры конфигурации, находящиеся на вкладке Создание кода 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')

См. также

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')

См. также

Удалить неиспользуемые порты

Настройки

По умолчанию: Вкл.

На

Удаление неиспользуемых портов в конструкции из сгенерированного кода 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')

См. также