Main Content

Distributed pipelining

Enable pipeline register distribution

Model Configuration Pane: HDL Code Generation / Optimization / Pipelining

Description

The Distributed pipelining parameter enables pipeline register distribution, which is a speed optimization that increases the clock speed by moving design delays or pipeline delays in a design to reduce the critical path. For more information, see Distributed Pipelining.

This optimization moves the delays across the hierarchical boundaries in a subsystem while preserving the subsystem hierarchy. Distributed pipelining does not occur between a lower-level subsystem that is a conditional, shared subsystem, or between a model reference and its parent subsystem. If there is hierarchy inside the lower-level subsystem, this optimization can distribute pipelines across hierarchical boundaries inside of the conditional subsystem, shared subsystem, or model reference.

Dependencies

Your design must contain delays that can be redistributed. You can insert delays manually or by using the HDL block properties InputPipeline or OutputPipeline on a subsystem or block.

Settings

off (default) | on
on

Distribute pipelines in your design.

off

Do not distribute pipelines in your design.

Tips

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

For example, you can use the DistributedPipelining setting when you generate HDL code for the symmetric_fir subsystem inside the sfir_fixed model by using either of these methods:

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

    makehdl('sfir_fixed/symmetric_fir', ... 
            'DistributedPipelining','on')
  • When you use hdlset_param, set the parameter on the model, and then generate HDL code by using the makehdl function.

    hdlset_param('sfir_fixed','DistributedPipelining','on')
    makehdl('sfir_fixed/symmetric_fir')

Programmatic Use

Parameter: DistributedPipelining
Type: character vector
Value: 'on' | 'off'
Default: 'off'

Version History

Introduced in R2012a

expand all