使用 MARK_DEBUG 保留调试探测信号线名称 - 2023.2 简体中文

Versal 自适应 SoC 系统集成和确认方法指南 (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 简体中文

您可在 RTL 阶段或综合后添加调试信号标记。信号线上的 MARK_DEBUG 属性可避免对信号线进行复制、重定时、移除或以其他方式进行最优化。您可在顶层端口、信号线、层级模块端口和层级模块内部信号线上应用 MARK_DEBUG 属性。这种方法很有可能能够在综合后保留 HDL 信号名称。带有调试标记的信号线在综合后会显示在Debug(调试)窗口中的Unassigned Debug Nets(未分配的调试信号线)文件夹下。

mark_debug 属性添加到 HDL 文件中,如下所示:

VHDL:

attribute mark_debug : string;
attribute mark_debug of sine   : signal is "true";

Verilog:

(* mark_debug = "true" *) wire sine;

您还可在综合后网表中添加要调试的信号线。这些方法无需修改 HDL 源文件。但可能因网表最优化涉及吸收或合并设计结构而导致综合后未能保留原始 RTL 信号。完成综合后,可采用以下任一方式添加要调试的信号线:

  • 选中Netlist(网表)或Schematic(板级原理图)窗口等任一设计视图中的信号线,然后选择Mark Debug(标记调试)。
  • 选中任一设计视图中的信号线,然后将其拖放到Unassigned Debug Nets文件夹中。
  • Set Up DebugWizard(设置调试向导)中使用信号线选择器。
  • 使用Properties(属性)窗口或 Tcl 控制台来设置 MARK_DEBUG 属性。
    set_property mark_debug true [get_nets -hier [list {sine[*]}]]

    这样会对当前打开的网表应用 mark_debug 属性。这是一种灵活方法,因为可通过 Tcl 命令开启或关闭 MARK_DEBUG。