Этот раздел содержит параметры во вкладке HDL Code Generation> Optimization> Pipelining диалогового окна Configuration Parameters. Используя параметры в этом разделе, можно улучшить синхронизацию проекта на целевом устройстве. Включите иерархическую распределенную оптимизацию конвейеризации и задайте, приоритизировать ли распределенный алгоритм конвейеризации для числовой целостности или производительности.
Иерархическая распределенная конвейеризация расширяет осциллограф распределенной конвейеризации путем распределения задержек на иерархиях подсистемы. Эта оптимизация перемещает задержки в Подсистеме при сохранении иерархии.
Значение по умолчанию: 'off'
Позвольте повторно синхронизироваться через иерархию подсистемы. HDL Coder™ применяет повторную синхронизацию иерархически от Подсистемы верхнего уровня. Чтобы переместить задержки в Подсистеме, в HDL Block Properties, для который Подсистема, устанавливают DistributedPipelining на on
. Иерархическая распределенная конвейеризация прекращает распределять задержки, когда она достигает Подсистемы, которой установили DistributedPipelining на 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')