10 在线逻辑分析仪的使用

在线逻辑分析仪简介

传统的 FPGA 板级调试是将逻辑分析仪连接到 FPGA 的 IO 引脚上 ,然后将内部信号引出至 IO 引脚,再进行板级调试,这种方法的缺点是我们需要一个逻辑分析仪,且还要在 PCB 中预留测试点。在线逻辑分析仪克服了以上所有的缺点,其借用了传统逻辑分析仪的理念以及大部分的功能,并利用 FPGA 中的逻辑资源,将这些功能植入到 FPGA 的设计当中,在线逻辑分析仪的应用原理框图如下图所示:
在这里插入图片描述
其中,待测设计(Design Under Test,DUT)就是用户逻辑,它和片内的在线逻辑分析仪都位于 FPGA中。在线逻辑分析仪通过一个或多个探针(Probe)来采集希望被观察的信号,然后通过片内的 JTAG 硬核组件,将捕获到的数据传送给下载器,进而上传到 Vivado 供用户查看。Vivado 也能够按照上述数据路径,反向地向 FPGA 中的在线逻辑分析仪传送一些控制信息。
在 Vivado 中,在线逻辑分析仪的功能被称为“集成逻辑分析器(Integrated Logic Analyzer,ILA)”,它以 IP 核的形式来加入到用户设计中。Vivado 提供了三种具有不同集成层次的插入 ILA 方法:

  1. 直接在 HDL 代码中例化一个 ILA IP 核,也被称为“HDL 实例化调试探针流程”,这是集成层次最高的方法。ILA IP 核可以在 IP Catalog(IP 目录)中找到,并对其进行配置,以符合所需的调试需求,这是最直接的方法,但其灵活性也较差。在调试工作完毕之后,还需要在 HDL 源代码中删除 ILA IP 核,然后重新综合以生成最终的比特流。
  2. 在 HDL 代码中为要观察的 reg 或 wire 信号添加“mark debug”属性,然后通过“Setup Debug”向导来设置各个探针和 ILA IP 核的工作参数,工具会根据用户设置的参数,自动地生成各个 ILA IP 核,这个方法也被称为“使用 Debug 标记创建 ILA 调试环境”。用户设置的调试信息会以 Tcl XDC 调试命令的形式保存到 XDC 约束文件中,在实现阶段,Vivado 会读取这些 XDC 调试命令,并在布局布线时加入这些 ILA IP 核。在调试工作完毕之后,用户可以在 HLD 代码中删除之前添加的“Mark Debug”综合属性,并且在 XDC 文件中删除调试命令,然后再对设计进行重新编译,以生成最终的比特流。
  3. 在综合后的网表中标记要观察的信号,然后通过“Setup Debug”向导来设置各个探针和 ILA IP 核的工作参数,工具会根据用户设置的参数,自动地生成各个 ILA IP 核。这个方法也被称为“网表插入调试探针流程”。在此流程中,用户不需要修改 HDL 源代码,并且能够单独控制每个 ILA IP 核以及每个探针,这样就提供了很大的灵活性。用户设置的调试信息会以 Tcl XDC 调试命令的形式保存到 XDC 约束文件中,在实现阶段,Vivado 会读取这些 XDC 调试命令,并在布局布线时加入这些 ILA IP 核。在调试工作完毕之后,用户就可以在 XDC 文件中删除调试命令,然后再对设计进行重新编译,以生成最终的比特流。第3种方法与第二种方法的使用区别很小,只是标记信号的方式不同,第2种是在综合前标记,第三种是在综合后标记

HDL 实例化调试探针流程

  1. 点击“Flow Navigator”窗口中的“IP Catalog”按钮
    在这里插入图片描述
    这时“IP Catalog”窗口就被打开了,如下图所示:
    在这里插入图片描述
  2. 搜索栏中输入“ILA”,这时 Vivado 会自动根据关键词搜索出相应的结果,然后双击“ILA(Integrated Logic Analyzer)”
    在这里插入图片描述
    双击“ILA(Integrated Logic Analyzer)”会弹出“ILA IP”核的配置页面,ILA IP 核的默认配置页面如下图所示:
    在这里插入图片描述
  • 工具栏介绍
    在这里插入图片描述
    左上角工具栏主要有 Documentation、IP Location、Switch to Defaults 三个设置。
    (1)Documentation:IP 相关文档入口,点击后会展开相应的菜单。其中”Product Guide IP“
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值