Main Content

Enable-based constraints

Meet the timing requirement of the multicycle path in your model

Model Configuration Pane: Optimization / General


To meet the timing requirement of the multicycle path in your model, use enable-based constraints. The constraints are applied to a model that has Clock inputs set to Single. This option is useful for a multirate model to create a constraint file for relaxing timing of the slow-rate regions.

Enable-based constraints relax the timing requirement by enabling multiple clock cycles for data to propagate between the registers. The constraints use the timing controller enable signals to create enable-based register groups that have registers in each group driven by the same clock enable.


  • When you select the Enable-based constraints check box, make sure that Clock-rate pipelining is Off. Using enable-based multicycle path constraints is an alternative to the clock-rate pipelining optimization. You can clear the clock-rate pipelining check box in the HDL Code Generation > Optimization > Pipelining tab.

  • Set the Clock inputs to Single. You can set the clock input in the HDL Code Generation > Global settings > Clock settings > Clock inputs.

  • To generate multicycle path constraints file, oversampling factor must be greater than 1. You can specify the oversampling value in the HDL Code Generation > Global settings > Clock settings > Oversampling factor.


Off (default) | On

When you enable this setting and generate HDL code, HDL Coder™ generates a constraints file with the naming convention dutname_constraints. The format of the file name depends on the synthesis tool that you specify. The constraints file defines the timing requirements of multicycle paths. The file contains information about the clock multiples for calculating the setup and hold time information.


Do not generate a multicycle path constraints file.


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 enable the MulticyclePathConstraints 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('<model_name>', ... 
  • When you use hdlset_param, set the parameter on the model, and then generate HDL code by using makehdl.


Recommended Settings

No recommendations.

Programmatic Use

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

Version History

Introduced in R2017b