前言
本文基于上文的工程文件,讲述了 fpga 内嵌逻辑分析仪的使用方法,内嵌逻辑分析仪是在 fpga 开发调试过程中一个很重要的一个工具,这个工具可以帮助我们去观察内部的一些信号它的一些变化,然后帮助我们去调试从而找到问题。
一、方法1 — 使用 IP 核创建 ILA 调试环境
1、创建 ILA ip 核
①、点击左侧 PROJECT MANAGER 栏 –> IP Catalog 或者菜单栏下 Window –> IP Catalog 然后
在右侧出现的 IP Catalog 窗口下搜索 ILA,双击选择 Debug 下的 ILA 进行 IP 配置操作步骤如下图所示
②、General Options 参数设置
Component Name:设置生成 IP Core 的名称,这里设置成 ila
Number of Probes:探针数量设置,要观察 2 个信号(一个是计数器,一个是 led 灯),所以这里设置探针数量为 2
Sample Data Depth:采样数据深度,设置的数值越大采样的数据越多看到的波形数据越多但是最终占用的资源也会越多并不是设置的越大越好。这个根据实际需求进行合适的设置即可我们这里选择设置 1024。
③、Probe_Ports(0…7) 参数设置
Probe Width:探针数据信号的位宽设置,我们需要对一个 32 位的计数器和一个 1 位的 led 灯信号进行在线观察,因此这里将 PROBE0 位宽设置为 32,PROBE1 位宽设置为 1,并且可以看到左侧的图形器件引脚也跟着进行变化。点击 OK。
④、会弹出一个是否在我们的一个路径去创建 ip
⑤、点击 Generate,生成 IP 核
⑥、点击 OK
⑦、此时在 Design Sources 里面可以看到新增的一个 ila.xci 文件,点击左侧的 “>” 展开它的层级关系。
⑧、展开之后我们就可以看到顶层 .v 文件,打开 ila.v 这个文件我们可以看到 ila 模块名字
2、进行例化
①、下一步我们要做的就是例化,在 led.v 文件里面 endmodule 前添加下面的代码,点击保存后可以看到新的层级关系,led 把 ila 包含进来了,如下图所示
ila ila_inst ( .clk (sys_clk), .probe0 (timer_cnt), .probe1 (led) );
3、生成比特流文件
①、点击 Generate Bitstream
②、在弹出的对话框中可以选择任务数量,这里和 CPU 核心数有关,一般数字越大,编译越快,点击 “OK”
4、下载程序
①、点击 Open Hardware Manager
②、点击 Auto Connect
③、右键 xc7z020_1 -> Program Device
④、可以发现这里多了一个 led.ltx 文件,这是一个描述文件,描述的内容就是我们的逻辑分析仪与哪些信号进行连接,然后点击 Program
⑤、点击 Program 后可以看到这样的一个界面