使用断点 - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文

断点是源代码中用户判定的停止点,可供您用于调试设计。

提示: 断点对于大型设计调试尤为实用,在此类设计中,使用 Step 命令(在每一行代码上都停止仿真)执行调试可能过于繁琐且耗时。

您可在 HDL 文件的可执行行内设置断点,这样即可连续运行代码直至仿真器遇到断点为止。

注释: 您可在仅含可执行代码的行上设置断点。如果您将断点置于不可执行的代码行上,则不会添加此断点。
  1. 运行仿真。
  2. 转至您的源文件,单击感兴趣的源码行左侧的空心圆 。红点 表示确认断点已设置成功。

    完成该过程后,会在代码行旁打开仿真断点按钮。

    输入 Tcl 命令:add_bp <file_name> <line_number>

    此命令会在 <file_name><line_number> 处添加断点。如需了解命令使用方法,请参阅 Vivado Design Suite 帮助或 Vivado Design Suite Tcl 命令参考指南(UG835)

    打开 HDL 源文件。

  3. 在 HDL 源文件中的可执行行上设置断点。
  4. 重复步骤 1 和 2 直至设置完所有断点。
  5. 使用“Run”(运行)选项来运行仿真:
    • 要从头开始运行,请使用Run > Restart(运行 > 重新启动)命令。
    • 使用Run > Run All(运行 > 全部运行)或Run > Run For(运行 > 运行对象)命令。

    这样仿真会运行直至到达断点,然后停止。

    HDL 源文件会显示箭头,指示断点停止点。

  6. 重复步骤 4 继续执行仿真,逐个完成每个断点,直至您对结果满意为止。

    受控制的仿真会持续运行并在您的 HDL 源文件中所设的每个断点处停止。

    设计调试期间,您还可运行Run > Step(运行 > 步进)命令来推进仿真,以便对设计进行更详细的调试。

您可从 HDL 源代码中删除单个断点或所有断点。

要删除单个断点,请单击Breakpoint(断点)按钮

要移除所有断点,请选中Run > Delete All Breakpoints(运行 > 删除所有断点),或者单击Delete All Breakpoints(删除所有断点)按钮

要删除所有断点,请执行以下操作:

  • 输入 Tcl 命令:remove_bps -all

要获取指定断点对象列表的断点信息,请执行以下操作:

  • 输入 Tcl 命令:report_bps