На этой странице документации описаны параметры конфигурации, которые находятся на вкладке Создание кода HDL (HDL Code Generation) > Оптимизация (Optimization) > Конвейерная обработка (Pipelining) диалогового окна Параметры конфигурации (Configuration Parameters). Используя параметры в этом разделе, можно улучшить время проектирования на целевом устройстве..
Иерархическая распределенная конвейерная обработка расширяет область распределенной конвейерной обработки за счет распределения задержек по иерархиям подсистем. Эта оптимизация перемещает задержки в подсистеме при сохранении иерархии.
По умолчанию: Откл.
Включить ресинхронизацию по иерархии подсистем. HDL Coder™ применяет ресинхронизацию иерархически из подсистемы верхнего уровня. Чтобы переместить задержки в подсистему, в свойствах блока HDL для этой подсистемы установите значение «Pipelining». on. Иерархическая распределенная конвейерная обработка прекращает распределение задержек, когда она достигает подсистемы, для которой установлено значение Pipelining off.
Распределяет трубопроводы в подсистеме, если для параметра Pipelining установлено значение on для этой подсистемы.
Если установлен флажок «Сохранить задержки проектирования», распределенная конвейерная обработка не перемещает задержки проектирования.
Свойство:
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')
Если конструкция содержит пути с несколькими циклами, используйте конвейер тактовой частоты для вставки регистров конвейера с тактовой частотой, превышающей скорость передачи данных. Эта оптимизация улучшает тактовую частоту и уменьшает использование области без дополнительной задержки. Конвейеризация тактовой частоты не влияет на существующие в модели задержки проектирования. Это альтернатива использованию ограничений многоцикловой траектории с помощью инструмента синтеза.
По умолчанию: Вкл.
Вставка регистров трубопроводов с тактовой частотой для многоцикловых путей.
Вставка регистров трубопровода на скорости передачи данных для многоцикличных путей.
Если указан коэффициент избыточной дискретизации, превышающий единицу, убедитесь, что установлен флажок Конвейерирование тактовой частоты. Конвейеризация тактовой частоты идентифицирует области в модели, которые работают с той же медленной скоростью передачи данных и ограничены блоками задержки или блоками, которые вводят переход скорости. Генератор кода преобразует эти области в более высокую тактовую частоту путем введения блоков повтора на входе области и блоков перехода скорости на выходе области.
Свойство:
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 вставьте регистры конвейера на тактовой частоте вместо скорости передачи данных.
По умолчанию: Откл.
На выходных портах 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.
По умолчанию: Откл.
Вставьте адаптивные регистры трубопроводов в проект. Для вставки адаптивных трубопроводов в кодер HDL необходимо указать инструмент синтеза.
Не вставляйте адаптивные регистры трубопроводов.
При указании этого параметра в меню «Создание кода HDL» > «Targetpane» укажите инструмент синтеза. Если в конструкции имеются множители, укажите инструмент синтеза и целевую частоту (МГц) для адаптивной вставки трубопровода.
Свойство:
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')
По умолчанию: Откл.
Предотвращение задержек в проектировании распределенных трубопроводов.
Не следует препятствовать перемещению распределенных трубопроводов из-за задержек проектирования.
Свойство:
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.
По умолчанию: Вкл.
Сопоставьте таблицы поиска в проекте с оперативной памятью.
Не сопоставляйте таблицы подстановки в проекте с оперативной памятью.
Свойство:
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')