Распределенная конвейеризация

Этот раздел содержит параметры во вкладке HDL Code Generation> Optimization> Pipelining диалогового окна Configuration Parameters. Используя параметры в этом разделе, можно улучшить синхронизацию проекта на целевом устройстве. Включите иерархическую распределенную оптимизацию конвейеризации и задайте, приоритизировать ли распределенный алгоритм конвейеризации для числовой целостности или производительности.

Иерархическая распределенная конвейеризация

Иерархическая распределенная конвейеризация расширяет осциллограф распределенной конвейеризации путем распределения задержек на иерархиях подсистемы. Эта оптимизация перемещает задержки в Подсистеме при сохранении иерархии.

Настройки

Значение по умолчанию: 'off'

На

Позвольте повторно синхронизироваться через иерархию подсистемы. HDL Coder™ применяет повторную синхронизацию иерархически от Подсистемы верхнего уровня. Чтобы переместить задержки в Подсистеме, в HDL Block Properties, для который Подсистема, устанавливают DistributedPipelining на on. Иерархическая распределенная конвейеризация прекращает распределять задержки, когда она достигает Подсистемы, которой установили DistributedPipelining на off.

'off'

Распределяет конвейеры в Подсистеме, если вам установили DistributedPipelining на on для той Подсистемы.

Зависимость

Если вы устанавливаете флажок Preserve design delays, распределенная конвейеризация не перемещает задержки проекта.

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

Свойство: HierarchicalDistPipelining
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'off'

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

Например, можно включить установку HierarchicalDistPipelining, когда вы генерируете HDL-код для подсистемы symmetric_fir в модели sfir_fixed с помощью любого из этих методов.

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

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

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

Смотрите также

Распределенный приоритет конвейеризации

Задайте приоритет для своего распределенного алгоритма конвейеризации.

Настройки

Значение по умолчанию: Numerical Integrity

Numerical Integrity

Приоритизируйте числовую целостность при распределении конвейерных регистров.

Эта опция использует консервативный алгоритм повторной синхронизации, который не перемещает регистры через компонент, если функциональная эквивалентность первоначальному проекту неизвестна.

Performance

Приоритизируйте производительность по числовой целостности.

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

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

Свойство: DistributedPipeliningPriority
Ввод: символьный вектор
Значение: 'NumericalIntegrity' | 'Performance'
Значение по умолчанию: 'NumericalIntegrity'

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

Например, можно использовать установку DistributedPipeliningPriority, когда вы генерируете HDL-код для подсистемы symmetric_fir в модели sfir_fixed с помощью любого из этих методов.

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

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

    hdlset_param('sfir_fixed','DistributedPipeliningPriority','Performance')
    makehdl('sfir_fixed/symmetric_fir')

Смотрите также