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