config_rtl - 2024.1 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2024-07-03
Version
2024.1 简体中文

描述

配置输出 RTL 的各种属性以及所使用的复位类型。它还允许您在 RTL 中使用特定标识。默认情况下,这些选项适用于顶层设计以及设计中的所有 RTL 块。

语法

config_rtl [OPTIONS]

选项

-deadlock_detection <none | sim | hw | hw_diagnosis>
在已导出的 IP/XO 文件的顶层 RTL 中启用仿真或综合死锁检测。其中选项如下:
  • none:禁用死锁检测
  • sim:仅对仿真启用死锁检测(默认选项)
  • hw:在已综合及可仿真的 RTL IP 中已启用死锁检测。将 ap_local_deadlockap_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
提示: AXI 协议要求采用低电平有效复位。如果您的设计使用 AXI 接口,那么该工具将定义此复位级别并显示警告,前提是 config_rtl -reset_level 设为高电平有效。

示例

将输出 RTL 配置为以异步低电平有效复位对所有寄存器进行复位。

config_rtl -reset all -reset_async -reset_level low

my_message.txt 的内容作为注释添加到所有 RTL 输出文件中。

config_rtl -header my_mesage.txt