Configures various attributes of the output RTL, the type of reset used, and the encoding of the state machines. It also allows you to use specific identification in the RTL.

By default, these options are applied to the top-level design and all RTL blocks within the design. You can optionally specify a specific RTL model.


config_rtl [OPTIONS] <model_name>


-header <string>
Places the contents of file <string> at the top (as comments) of all output RTL and simulation files.
TIP: Use this option to ensure that the output RTL files contain user specified identification.
Add top level event and stall ports required by kernel profiling.
This mode tells the m_axi not to issue a write request until the associated write data is entirely available (typically, buffered into the adapter or already emitted). This can slightly increase write latency but can resolve deadlock due to concurrent requests (read or write) on the memory subsystem. The default is false.
Specifies the top level function name as the prefix value. This option is ignored if config_rtl -module_prefix is also specified. This is enabled by default.
-module_prefix <string>
Specifies a user-defined prefix to be added to all RTL entity/module names.
Enable keep attribute.
-register_reset_num <int>
Specifies the number of registers to add to reset signal. The default is 0.
-reset [none | control | state | all]
Variables initialized in the C code are always initialized to the same value in the RTL and therefore in the bitstream. This initialization is performed only at power-on. It is not repeated when a reset is applied to the design.

The setting applied with the -reset option determines how registers and memories are reset.

  • none: No reset is added to the design.
  • control: Resets control registers, such as those used in state machines and those used to generate I/O protocol signals. This is the default setting.
  • state: Resets control registers and registers or memories derived from static or global variables in the C code. Any static or global variable initialized in the C code is reset to its initialized value.
  • all: Resets all registers and memories in the design. Any static or global variable initialized in the C code is reset to its initialized value.
Causes all registers to use a asynchronous reset. If this option is not specified, a synchronous reset is used.
-reset_level (low | high)
Allows the polarity of the reset signal to be either active-Low or active-High. The default is High.


Configures the output RTL to have all registers reset with an asynchronous active-Low reset.

config_rtl -reset all -reset_async -reset_level low

Adds the contents of my_message.txt as a comment to all RTL output files.

config_rtl -header my_mesage.txt