描述
配置输出 RTL 的各种属性以及所使用的复位类型。它还允许您在 RTL 中使用特定标识。默认情况下,这些选项适用于顶层设计以及设计中的所有 RTL 块。
语法
config_rtl [OPTIONS]
选项
-
-deadlock_detection <none | sim | hw | hw_diagnosis>
- 在已导出的 IP/XO 文件的顶层 RTL 中启用仿真或综合死锁检测。其中选项如下:
-
none
:禁用死锁检测 -
sim
:仅对仿真启用死锁检测(默认选项) -
hw
:在已综合及可仿真的 RTL IP 中已启用死锁检测。将ap_local_deadlock
和ap_local_block
信号添加到 IP 以启用局部和全局死锁检测。 -
hw_diagnosis
:在生成的 RTL 代码中已启用死锁检测并包含额外的诊断逻辑。
-
-
-fsm_encoding [one_hot|sequential|johnson|gray|auto|none]
- 默认值为 None。指定 RTL 属性值为“fsm_encoding”来引导 RTL 综合。
-
auto
:允许 RTL 综合工具判定最佳状态机编码。 -
gray
:使用格雷码作为状态机编码。 -
johnson
:使用约翰逊码作为状态机编码。 -
one_hot
:使用 one_hot 独热码作为状态机编码。 -
sequential
:使用顺序状态机编码。 -
none
:禁用状态机编码,状态机会作为逻辑进行综合。
-
-
-fsm_safe_state [auto_safe_state|reset_state|power_on_state|default_state|none]
- 默认值为 None。指定 RTL 属性值为“fsm_safe_state”来引导 RTL 综合。该属性会影响综合结果的质量,通常会导致面积越大性能越差。
-
auto_safe_state
:暗示采用 Hamming-3 编码。 -
default_state
:将状态机恢复到默认状态。 -
power_on_state
:将状态机恢复到 POWER_ON 状态。 -
reset_state
:将状态机恢复到 RESET 状态。 -
none
:不在 RTL 中添加属性,状态机将不包含安全状态逻辑。
-
-
-header <string>
- 将文件 <string> 的内容置于所有输出 RTL 和仿真文件的顶部(作为注释)。提示: 该选项可用于确保输出 RTL 文件包含用户指定的标识。
-
-kernel_profile
- 添加内核剖析所需的顶层事件和停滞端口。
-
-module_auto_prefix
- 指定顶层函数名称作为前缀值。如果同时指定
config_rtl -module_prefix
,则忽略该选项。默认情况下,已启用该选项。 -
-module_prefix <string>
- 指定要添加到所有 RTL 实体/模块名称的用户定义的前缀。
-
-mult_keep_attribute
- 启用 keep 属性。
-
-register_all_io
- 默认寄存所有 I/O 信号。默认值为
false
。指定该选项时启用此设置。 -
-register_reset_num <int>
- 指定要添加到复位信号的寄存器数量。在 Vivado IP 流程中,默认值为 0。对于 Vitis 内核流程,默认值为 3。
-
-reset [none | control | state | all]
- C/C++ 语言代码中变量的初始化值与 RTL 中初始化的值始终相同,因此与比特流中初始化值也始终相同。此初始化在上电时执行,对设计应用复位时不会重复此操作。
通过
-reset
选项应用的置位操作用于判定寄存器和存储器的复位方式。-
none
- 在设计中不添加复位。
-
control
- 复位控制寄存器,例如,状态机中使用的寄存器和用于生成 I/O 协议信号的寄存器。这是默认设置。
-
state
- 复位控制寄存器和从 C/C++ 语言代码中的静态变量或全局变量衍生的寄存器或存储器。C/C++ 语言代码中已初始化的任意静态变量或全局变量都复位为其初始值。
-
all
- 复位设计中的所有寄存器和存储器。C/C++ 语言代码中已初始化的任意静态变量或全局变量都复位为其初始值。
-
-
-reset_async
- 这导致所有寄存器都使用异步复位。如果不指定该选项,则使用同步复位。
-
-reset_level (low | high)
- 允许复位信号的极性设置为低电平有效或高电平有效。默认值为
High
。
示例
将输出 RTL 配置为以异步低电平有效复位对所有寄存器进行复位。
config_rtl -reset all -reset_async -reset_level low
将 my_message.txt
的内容作为注释添加到所有 RTL 输出文件中。
config_rtl -header my_mesage.txt