Эта страница документации описывает параметры конфигурации, которые находятся на вкладке HDL Code Generation > Optimization > Pipelining диалогового окна Параметры конфигурации. Используя параметры в этом разделе, можно улучшить сроки разработки на целевом устройстве..
Иерархическое распределённая конвейеризация расширяет возможности распределённой конвейеризации путем распределения задержек между иерархиями подсистем. Эта оптимизация перемещает задержки за Subsystem с сохранением иерархии.
По умолчанию: Off
Включите синхронизацию между иерархией подсистемы. HDL Coder™ применяет синхронизацию иерархически из Subsystem верхнего уровня. Чтобы перенести задержки внутри Subsystem, в HDL- Блока 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')
Если ваш проект содержит многоколесные пути, используйте конвейеризацию с тактовой частотой, чтобы вставить регистры трубопровода с тактовой частотой, которая выше скорости передачи данных. Эта оптимизация улучшает тактовую частоту и уменьшает использование области, не вводя дополнительную задержку. Конвейеризация с тактовой частотой не влияет на существующие задержки проекта в вашей модели. Это альтернатива использованию ограничивающих условий многоколесного пути с помощью вашего инструмента синтеза.
По умолчанию: On
Вставьте регистры конвейера с тактовой частотой для многожильных путей.
Вставьте регистры конвейера со скоростью передачи данных для мультициклических путей.
Если задано Oversampling factor больше единицы, убедитесь, что установлен флажок Clock-rate pipelining. Конвейеризация с тактовой частотой идентифицирует области в вашей модели, которые выполняются с той же медленной скоростью передачи данных и разграничены Delay блоками или блоками, которые вводят переход скорости. Генератор кода преобразует эти области в более высокую тактовую частоту путем введения блоков Repeat на вход области и блоков Rate Transition на выход области.
Свойство:
ClockRatePipelining |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'on'
|
Чтобы задать это свойство, используйте hdlset_param
или makehdl
. Чтобы просмотреть значение свойства, используйте hdlget_param
.
Для примера можно использовать ClockRatePipelining
настройка при генерации HDL-кода для symmetric_fir
подсистема внутри sfir_fixed
моделировать с использованием любого из этих методов.
Передайте свойство как аргумент в makehdl
функция.
makehdl('sfir_fixed/symmetric_fir', ... 'ClockRatePipelining','on')
Когда вы используете hdlset_param
можно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl
.
hdlset_param('sfir_fixed','ClockRatePipelining','on') makehdl('sfir_fixed/symmetric_fir')
Для выходных портов DUT вставьте регистры конвейера с тактовой частотой вместо скорости передачи данных.
По умолчанию: Off
В выходных портах DUT вставьте регистры трубопровода с тактовой частотой.
В выходных портах DUT вставьте конвейерные регистры со скоростью передачи данных.
Когда вы задаете этот параметр, убедитесь, что вы выбираете Clock-rate pipelining флажок.
Свойство:
ClockRatePipelineOutputPorts |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Чтобы задать это свойство, используйте hdlset_param
или makehdl
. Чтобы просмотреть значение свойства, используйте hdlget_param
.
Для примера можно использовать ClockRatePipelineOutputPorts
настройка при генерации HDL-кода для symmetric_fir
подсистема внутри sfir_fixed
моделировать с использованием любого из этих методов.
Передайте свойство как аргумент в makehdl
функция.
makehdl('sfir_fixed/symmetric_fir', ... 'ClockRatePipelineOutputPorts','on')
Когда вы используете hdlset_param
можно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl
.
hdlset_param('sfir_fixed','ClockRatePipelineOutputPorts','on') makehdl('sfir_fixed/symmetric_fir')
Используйте этот параметр, чтобы вставить регистры трубопровода в блоки в вашем проекте, уменьшить использование области и максимизировать достижимую тактовую частоту на целевом устройстве FPGA.
По умолчанию: Off
Вставьте адаптивные регистры трубопроводов в проект. Чтобы HDL Coder вставил адаптивные конвейеры, необходимо задать инструмент синтеза.
Не вставляйте адаптивные регистры трубопроводов.
Когда вы задаете этот параметр, на панели HDL Code Generation > Target, задайте Synthesis Tool. Если ваш проект имеет умножители, задайте Synthesis Tool и Target Frequency (MHz) для адаптивной вставки трубопровода.
Свойство:
AdaptivePipelining |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Чтобы задать это свойство, используйте hdlset_param
или makehdl
. Чтобы просмотреть значение свойства, используйте hdlget_param
.
Для примера можно использовать AdaptivePipelining
настройка при генерации HDL-кода для symmetric_fir
подсистема внутри sfir_fixed
моделировать с использованием любого из этих методов.
Передайте свойство как аргумент в makehdl
функция.
makehdl('sfir_fixed/symmetric_fir', ... 'AdaptivePipelining','on')
Когда вы используете hdlset_param
можно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl
.
hdlset_param('sfir_fixed','AdaptivePipelining','on') makehdl('sfir_fixed/symmetric_fir')
По умолчанию: Off
Предотвратите перемещение задержек проекта распределённой конвейеризацией.
Не препятствуйте перемещению задержек проекта распределённой конвейеризации.
Свойство:
PreserveDesignDelays |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Чтобы задать это свойство, используйте hdlset_param
или makehdl
. Чтобы просмотреть значение свойства, используйте hdlget_param
.
Для примера можно использовать PreserveDesignDelays
настройка при генерации HDL-кода для symmetric_fir
подсистема внутри sfir_fixed
моделировать с использованием любого из этих методов.
Передайте свойство как аргумент в makehdl
функция.
makehdl('sfir_fixed/symmetric_fir', ... 'PreserveDesignDelays','on')
Когда вы используете hdlset_param
можно задать параметр на модели, а затем сгенерировать HDL-код используя makehdl
.
hdlset_param('sfir_fixed','PreserveDesignDelays','on') makehdl('sfir_fixed/symmetric_fir')
Используйте этот параметр, чтобы сопоставить интерполяционные таблицы в вашем проекте, чтобы заблокировать ОЗУ и уменьшить использование области на целевом устройстве FPGA.
По умолчанию: On
Сопоставьте интерполяционные таблицы в вашем проекте с ОЗУ.
Не сопоставляйте интерполяционные таблицы в вашем проекте с ОЗУ.
Свойство:
LUTMapToRAM
|
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'on'
|
Чтобы задать это свойство, используйте hdlset_param
или makehdl
. Чтобы просмотреть значение свойства, используйте hdlget_param
.
Для примера можно использовать LUTMapToRAM
настройка при генерации HDL-кода для symmetric_fir
подсистема внутри sfir_fixed
моделировать с помощью одного из следующих методов:
Передайте свойство как аргумент в makehdl
функция.
makehdl('sfir_fixed/symmetric_fir', ... 'LUTMapToRAM','on')
Когда вы используете hdlset_param
можно задать параметр на модели, а затем сгенерировать HDL-код при помощи makehdl
.
hdlset_param('sfir_fixed','LUTMapToRAM','on') makehdl('sfir_fixed/symmetric_fir')