☰
【FPGA学习】在线调试方法(四)
2026/11/5 3:50:18 网站建设 项目流程

1. 在线调试简介

1.1 在线调试工具的使用

在仿真的时候;
时钟的产生是由软件产生;
若因时钟不起振导致错误;
单独使用在线调试无法实现;

调试工具:
示波器,逻辑分析仪;
在线逻辑分析仪;

不同厂商的在线逻辑分析仪:

FPGA厂商FPGA开发工具在线调试工具
XilinxVivadoILA(Integrated Logic Analyzer)
XilinxISEChipScope
AlteraQuartus IISignalTap II
紫光同创PDSDebugger
………………

在线调试工具连线示意图:
如下图所示:
通过片内的BSRAM,完成数据的存储,通过JTAG接口,与开发工具链接;
实现逻辑显示的功能;

2 Xilinx在线调试方案

  • Vivado工具集成了逻辑分析仪(ILA),用于替换外部的逻辑分析仪;
  • 添加ILA核和VIO核实现在线调试;
  • 通过JTAG接口和PC链接;

2.1 ILA

ILA(Integrated Logic Analyzer)
集成逻辑分析仪;

  • 主要用于监控逻辑内部信号和端口信号;

VIO(Virtual Input/Output)
虚拟输入输出;

  • 实时监控和驱动逻辑内部信号和端口信号;

主要使用ILA;

在FPGA内部,具有一个XADC内核;
可以通过这个硬核采集对应的电压;

2.2 添加ILA的方法

  • 添加ILA IP核,在代码中对ILA IP核进行例化;
  • 在原理图或者网表文件中添加“mark debug”属性;
  • 手动地在XDC约束文件中编写对应的TCL XDC调试命令;

上述为三个方法;

2.3 通过XADC查看各部分电压

1. 打开任务部分的硬件管理:

2. 链接板子:

3. 双击XADC:

2.4 ILA在线调试工具的使用

2.4.1 通过添加ILA IP核的调试方式

  1. 点击IP catalog,搜索ILA:
  2. 设置内容,这里主要是设置了探针的数量,以及采样的深度,采样深度类似于数据缓存宽度,可以查看对应的数据的长度;
  3. 上述的为通用设置,此部分主要设置数据的位宽:
  4. 设置ooc,也就是每个IP核都单独编译,上面那个是全编译,比较慢;
    以及对应的核心数,这里也是保持默认;
  5. 此时这部分进行编译,等待完成:
  6. 找到对应的IP核的例化模板;
  7. 按照对应检测的端口,对变量进行例化:
  8. 此时源文件下出现了对应的ILA文件:

  1. 生成比特流,等待综合执行完成,因为加入了debug文件,所以编译时间上会长很多:
  2. 点击下载,下载完成后,会出现对应的调试界面:
  3. 调试界面:
    上面的是调试的按钮;
    下面部分是触发条件的选择,可以根据细节具体查看;
  4. 在完成了调试后,还需要将对应的例化代码删除;
    若出现无法识别调试文件的报错,可以手动将Debug路径移除;
    防止占用资源:

    也就是这部分:

2.4.2 通过网表中添加信号的调试方式

  1. 如下图所示,找到对应的连线,点击加入Debug即可:

    或者通过网络进行添加:

    或者通过代码的方式添加Debug;

  2. 这里是对应的debug打开方式:

    以及对应的debug代码的存在方式,存在于xdc文件中:

  3. 添加信号后,后面的操作与之前相同,只是不同的导出IP核的方法;

补充:
在操作的过程中,如果不小心删掉了窗口,可以通过此地方来进行打开对应的窗口:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询