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 themakehdl
function.hdlset_param('sfir_fixed','DistributedPipelining','on') makehdl('sfir_fixed/symmetric_fir')
Programmatic Use
Parameter:
DistributedPipelining |
Type: character vector |
Value:
'on' | 'off' |
Default:
'off' |