Multicycle Path Constraints Parameters
This page describes configuration parameters that reside in the HDL Code Generation > Optimization > General tab of the Configuration Parameters dialog box. Synthesis tools require that data propagates from a source register to a destination register within one clock cycle. Multicycle paths cannot complete their execution within one clock cycle and cannot meet the timing requirements. To meet the timing requirement of multicycle paths, use the multicycle path constraints parameters to generate a register-to-register path information file or to generate enable-based constraints that use the timing controller enable signals.
Enable-based constraints
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.
Settings
Default: Off
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.Off
Do not generate a multicycle path constraints file.
Dependency
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.
Command-Line Information
Parameter:
MulticyclePathConstraints |
Type: character vector |
Value:
'on' | 'off' |
Default:
'off' |
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>', ... 'MulticyclePathConstraints','on')
When you use
hdlset_param
, set the parameter on the model, and then generate HDL code by usingmakehdl
.hdlset_param('<model_name>','MulticyclePathConstraints','on') makehdl('<model_name>')
See Also
Register-to-register path info
Generate a text file that reports multicycle path constraint information. The text file
describes one or more multicycle path constraints that are agnostic to the synthesis tool.
You must convert this information to the format required by the synthesis tool. It is
recommended that you use the enable-based constraints setting instead to meet the timing
requirements of multicycle paths. When you use that setting, the generated constraints are
more robust for name changes in synthesis tools, and are supported on Xilinx
Vivado
, Xilinx ISE
, and Altera Quartus
II
.
Settings
Default: Off
- On
Generate a text file that reports multicycle path constraint information for use with synthesis tools.
The file name for the multicycle path information file is derived from the name of the DUT and the postfix
'_constraints'
,DUTname
_constraints.txt
For example, if the DUT name is
symmetric_fir
, the name of the multicycle path information file issymmetric_fir_constraints.txt
.- Off
Do not generate a multicycle path information file.
Command-Line Information
Parameter:
MulticyclePathInfo |
Type: character vector |
Value:
'on' | 'off' |
Default:
'off' |
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 MulticyclePathInfo
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>', ... 'MulticyclePathInfo','on')
When you use
hdlset_param
, set the parameter on the model, and then generate HDL code by usingmakehdl
.hdlset_param('<model_name>','MulticyclePathInfo','on') makehdl('<model_name>')
Compatibility Considerations
Starting in R2021b, it is not recommended to use Register-to-register path
info for generating multicycle path information. This option is removed from
the HDL Code Generation > Optimization tab in HDL Coder
Properties. It is recommended to use Enable-based constraints for generating multicycle
path information. You can still enable this option in the MATLAB command-line interface by
using hdlset_param
or makehdl
commands.