本文基于上文的工程文件,讲述了 fpga 内嵌逻辑分析仪的使用方法,内嵌逻辑分析仪是在 fpga 开发调试过程中一个很重要的一个工具,这个工具可以帮助我们去观察内部的一些信号它的一些变化,然后帮助我们去调试从而找到问题。
①、点击左侧 PROJECT MANAGER 栏 –> IP Catalog 或者菜单栏下 Window –> IP Catalog 然后在右侧出现的 IP Catalog 窗口下搜索 ILA,双击选择 Debug 下的 ILA 进行 IP 配置操作步骤如下图所示
②、General Options 参数设置
③、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 模块名字
①、下一步我们要做的就是例化,在 led.v 文件里面 endmodule 前添加下面的代码,点击保存后可以看到新的层级关系,led 把 ila 包含进来了,如下图所示
ila ila_inst
(
.clk (sys_clk),
.probe0 (timer_cnt),
.probe1 (led)
);
①、点击 Generate Bitstream
②、在弹出的对话框中可以选择任务数量,这里和 CPU 核心数有关,一般数字越大,编译越快,点击 “OK”
①、点击 Open Hardware Manager
②、点击 Auto Connect
③、右键 xc7z020_1 -> Program Device
④、可以发现这里多了一个 led.ltx 文件,这是一个描述文件,描述的内容就是我们的逻辑分析仪与哪些信号进行连接,然后点击 Program
⑤、点击 Program 后可以看到这样的一个界面
①、点击 Run trigger for this ILA core,并将计数器以 10 进制方式显示,c+rl + 鼠标滚轮调整界面,可以看到如下图所示:
这些数据都是真实的数据,不同于仿真,我们目前是在板子上进行运行,可以看到实际的运行的情况
②、做一个触发
以计数器做一个触发
根据计数器的最大值做一个触发
③、再点击 Run trigger for this ILA core,可以看到触发到的情况,以及 led 从 0 变为 1
此外为了方便我们观察波形情况,当我们想看后面的数据多一些可以把 Trigger poisition in window 的值调小一点,如果向看前面的数据可以把 Trigger poisition in window 的值调大一些
④、也可以尝试一下循环触发的模式,先点击 Toggle auto re-trigger mode for this ILA core 后再点击 Run trigger for this ILA core
可以看到进行循环触发,且左侧 hw_ila_1 显示了逻辑分析仪的状态,有空闲状态、等待触发状态、触发成功状态
①、先将上述 led.v 中新增的 ila 例化代码屏蔽
②、点击 Language Templates,弹出的窗口点击搜索,输入 mark 会出现 Mark Signal for Debug(MARK_DEBUG),点击 Mark Signal for Debug(MARK_DEBUG),复制 Preview 中所显示的 (* MARK_DEBUG=“true” *)
③、粘贴到 led.v 中,按照下图方式粘贴,并进行保存
①、点击 Run Synthesis,弹出的窗口点击 OK
②、点击 “OK”
③、综合完成,点击 Cancel
①、点击 Set Up Debug,弹出的窗口选择 Next
②、这里我们就可以看到我们源文件里面添加的调试的信息,然后点击 Next
③、下面也是设置采样的数据深度,我们保持默认,点击 Next
④、点击 Finish
⑤、保存一下设置,弹出的窗口点击 OK
⑥、我们再看一下 led.xdc 约束文件,并 Reload 以下,可以看到新增了如下信息
这些信息代表我们创建一个一个 debug_core ila,就是把里面的一些信号连接在一起了
①、点击 Generate Bitstream,弹出的窗口点击 Yes
②、选择 Open Hardware Manager 并点击 OK
同第一种方法
我的qq:2442391036,欢迎交流!