Эта страница документации описывает параметры конфигурации, которые находятся во вкладке 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')
Если ваш проект содержит мультивелосипедные дорожки, используйте конвейеризацию тактовой частоты, чтобы вставить регистры трубопровода на тактовой частоте, которая быстрее, чем скорость передачи данных. Эта оптимизация улучшает тактовую частоту и уменьшает использование области, не вводя дополнительную задержку. Конвейеризация тактовой частоты не влияет на существующие задержки проекта вашей модели. Это - альтернатива использованию ограничений мультивелосипедной дорожки с вашим инструментом синтеза.
Значение по умолчанию: 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')
Используйте этот параметр, чтобы сопоставить интерполяционные таблицы в вашем проекте с блоком RAM и уменьшать использование области на целевом устройстве FPGA.
Значение по умолчанию: On
Сопоставьте интерполяционные таблицы в своем проекте к RAM.
Не сопоставляйте интерполяционные таблицы в своем проекте к RAM.
Свойство:
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')