当前位置: 首页 > news >正文

fpga内嵌逻辑分析仪使用方法

文章目录

  • 前言
  • 一、方法1 — 使用 IP 核创建 ILA 调试环境
    • 1、创建 ILA ip 核
    • 2、进行例化
    • 3、生成比特流文件
    • 4、下载程序
    • 5、进行在线调试
  • 二、方法2 — 使用 Debug 标记创建 ILA
    • 1、Debug 标记相关信号
    • 2、综合操作
    • 3、设置 Set Up Debug
    • 4、生成比特文件
    • 5、下载程序
    • 6、进行在线调试


前言

本文基于上文的工程文件,讲述了 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 后可以看到这样的一个界面
在这里插入图片描述

5、进行在线调试

①、点击 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 显示了逻辑分析仪的状态,有空闲状态、等待触发状态、触发成功状态
请添加图片描述

二、方法2 — 使用 Debug 标记创建 ILA

1、Debug 标记相关信号

①、先将上述 led.v 中新增的 ila 例化代码屏蔽
在这里插入图片描述
②、点击 Language Templates,弹出的窗口点击搜索,输入 mark 会出现 Mark Signal for Debug(MARK_DEBUG),点击 Mark Signal for Debug(MARK_DEBUG),复制 Preview 中所显示的 (* MARK_DEBUG=“true” *)
在这里插入图片描述
③、粘贴到 led.v 中,按照下图方式粘贴,并进行保存
在这里插入图片描述

2、综合操作

①、点击 Run Synthesis,弹出的窗口点击 OK
在这里插入图片描述
②、点击 “OK”
在这里插入图片描述
③、综合完成,点击 Cancel
在这里插入图片描述

3、设置 Set Up Debug

①、点击 Set Up Debug,弹出的窗口选择 Next
在这里插入图片描述
②、这里我们就可以看到我们源文件里面添加的调试的信息,然后点击 Next
在这里插入图片描述
③、下面也是设置采样的数据深度,我们保持默认,点击 Next
在这里插入图片描述
④、点击 Finish
在这里插入图片描述
⑤、保存一下设置,弹出的窗口点击 OK
在这里插入图片描述
⑥、我们再看一下 led.xdc 约束文件,并 Reload 以下,可以看到新增了如下信息
在这里插入图片描述
这些信息代表我们创建一个一个 debug_core ila,就是把里面的一些信号连接在一起了

4、生成比特文件

①、点击 Generate Bitstream,弹出的窗口点击 Yes
在这里插入图片描述
②、选择 Open Hardware Manager 并点击 OK
在这里插入图片描述

5、下载程序

同第一种方法

6、进行在线调试

同第一种方法,操作及界面也完全相同
在这里插入图片描述


我的qq:2442391036,欢迎交流!


http://www.lryc.cn/news/170434.html

相关文章:

  • 第14章 结构和其他数据形式
  • vue 把echarts封装成一个方法 并且从后端读取数据 +转换数据格式 =动态echarts 联动echarts表
  • Python基础08 面向对象的基本概念
  • APP自动化之Poco框架
  • c++拷贝构造【显式调用】和运算符=重载构造【隐式调用】解析
  • 无涯教程-JavaScript - LCM函数
  • Java多线程篇(3)——线程池
  • 那些年我们遇到过的关于excel的操作
  • Angular变更检测机制
  • Redis之String类型
  • 使用redis中的zset实现滑动窗口限流
  • Linux下C语言使用 netlink sockets与内核模块通信
  • excel中的引用与查找函数篇3
  • 【Linux学习笔记】 - 常用指令学习及其验证(下)
  • 面试官:请说说flex布局_番茄出品.md
  • ChatGLM DeepSpeed/P-Tuning v2 调参
  • Leetcode每日一题:打家劫舍系列Ⅰ、Ⅱ、Ⅲ、Ⅳ(2023.9.16~2023.9.19 C++)
  • 容易对一个异性产生依赖感怎么办?
  • Windows10/11无线网卡WIFI驱动详细下载安装教程
  • 面向面试知识--Lottery项目
  • SpringBoot接口中如何直接返回图片数据
  • c语言进阶部分详解(指针进阶1)
  • 计算机竞赛 大数据商城人流数据分析与可视化 - python 大数据分析
  • 各种电机驱动原理
  • 人脸图像数据增强
  • Android 查看按键信息的常用命令详解
  • 【Java 基础篇】Properties 结合集合类的使用详解
  • 数字孪生体标准编程
  • 力扣 -- 394. 字符串解码
  • 面试官:什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路