Main Content

Pipeline distribution priority

Priority for the distributed pipelining and delay absorption optimizations

Renamed from Distributed pipelining priority in R2023b

Model Configuration Pane: Optimization / Pipelining


The Pipeline distribution priority parameter specifies the priority for the distributed pipelining and delay absorption optimizations.


Numerical integrity (default) | Performance
Numerical Integrity

Prioritize numerical integrity.

This option uses a conservative retiming algorithm that does not move registers across a component if the functional equivalence to the original design is unknown.


Prioritize performance over numerical integrity.

Use this option if your design requires a higher clock frequency and the Simulink® behavior does not need to strictly match the generated code behavior during the initialization cycles. This option uses a more aggressive retiming algorithm that moves registers across a component even if the functional equivalence between the modified and original designs is unknown. You can also use this option to reduce area by preventing distributed pipelining from inserting pipeline registers on stable paths.


To set this property, use the functions hdlset_param or makehdl. To view the property value, use the function hdlget_param.

For example, suppose you have a model named sfir_fixed that contains a subsystem named symmetric_fir. To set this parameter programmatically, use one of these methods:

  • Pass the property as an argument to the makehdl function.

    makehdl('sfir_fixed/symmetric_fir', ... 
  • Use hdlset_param to set the parameter on the model and then generate HDL code using makehdl.


Recommended Settings

No recommendations.

Programmatic Use

Parameter: PipelineDistributionPriority
Type: character vector
Value: 'Numerical Integrity' | 'Performance'
Default: 'Numerical Integrity'

Version History

Introduced in R2014a

expand all