在线逻辑分析仪的使用
目录
简介
1 HDL 实例化调试探针流程
2 Hardware Manager 中观察调试信号
3 网表插入调试探针流程
简介
1 HDL 实例化调试探针流程
这时可以在“Source”窗口中看到已经出现了 ILA IP 核,如下图所示:
由于我们还没有把它例化到顶层的 HDL 代码中,所以在层次结构上它与顶层并排。下面我们将其例化到顶层的 HDL 代码中。在“Source”窗口中的“IP Sources”选项卡中双击 ILA IP 核的例化模板文本文件,找到例化模板的内容,如下图所示:
ila_0 u_ila_0 (.clk(sys_clk), // input wire clk.probe0(sys_rst_n), // input wire [0:0] probe0.probe1(led), // input wire [1:0] probe1.probe2(cnt) // input wire [25:0] probe2);
我们将 ILA 的时钟连接到了顶层时钟 sys_clk 信号上,probe0 探针连接到了 sys_rst_n,probe1 探针连接到了 led,probe2 探针连接到了 cnt。代码修改完成后如下图所示:
2 Hardware Manager 中观察调试信号
生成比特流之后,我们打开 Hardware Manager,连接到开发板,并下载比特流,如下图所示:
如果 Waveform 窗口中显示的信号不全,可以点击“Waveform – hw_ila_1”窗口中的加号,来将所有的探针信号添加到波形窗口中(如果默认已经显示所有待观察的信号,不用重复添加),如下图所示:
采集到信号后,可以点击上图中的放大和缩小的图标,来对波形数据进行放大和缩小。
波形默认以十六进制显示的,可以右击 cnt 计数器,选择“Radix”→“Unsigned Decimal”,即可切换到无符号的十进制显示,如下图所示:
下面开始触发条件的设置,在这里简要介绍一个触发的概念。前面我们介绍过,ILA 会将所采集到的探针数据存放在 RAM 中,然后通过 JTAG 和下载器上传到 Vivado。那么触发就是决定 ILA 会在什么时候将 RAM 中的探针值数据上传到 Vivado,当 ILA 检测到触发条件得到满足时,就会把 RAM 中的探针值数据上载到 Vivado,然后 Vivado 将探针数据的波形显示出来。
然后我们就可以开始进行触发动作了。在波形窗口中有 4 个触发动作,如下图所示:
将波形放大之后就可以看到 counter 的具体值,如下图所示:
此时就可以看到,在当 cnt 计数到 25_000_000 时,led 的状态就会发生跳变。读者也可以尝试再次点击“开始触发”按钮或打开“自动触发”按钮,来观察波形。
如果调试工作完毕之后,可以在 led_twinkle.v 源代码中删除对 ILA IP 核的例化,或者通过添加“/*” 和“*/”注释掉这段代码。然后重新综合并实现,以生成最终的比特流。
3 网表插入调试探针流程
网表插入调试探针流程需要在综合后的网表中,将要进行调试观察的各个信号标记“mark_debug”属性,然后通过“Setup Debug”向导来设置 ILA IP 核的参数,最后工具会根据参数来自动创建 ILA IP 核。
可以在综合之后的网表中手动选择网络并点击“mark_debug”按钮;也可以在综合之前在 HDL 代码中为想要观察的 reg 或 wire 信号添加“Mark Debug”综合属性,例如:
(* mark_debug = “true” *)reg [25:0] cnt ;
此时,Vivado 打开了“Netlist”子窗口、“Schematic”子窗口以及“Debug”子窗口。其中, “Netlist”子窗口和“Schematic”子窗口都可以用于标记要进行观察的信号,“Debug”子窗口用于显示并设置 ILA IP 核的各个参数。如下图所示:
在“Debug”子窗口中,又包含两个选项卡“Debug Cores”和“Debug Nets”。这两个选项卡都用于显示所有的已标记为“Mark_Debug”的信号。
不同之处在于,“Debug Cores”选项卡是一个更加以 ILA IP 核为中心的视图,所有已标记为“Mark_Debug”的信号并且已经被分配到 ILA 探针的信号都会被显示在各个 ILA IP 核的视图树下,已标记为“Mark_Debug”的信号但是还没有被分配到 ILA 探针的信号被显示在“Unassigned Debug Nets”下,当然也可以在其中查看和设置 ILA IP 核的各种属性和参数。
“Debug Nets”选项卡仅显示已标记为“Mark_Debug”的信号,但不显示 ILA IP 核,所有已标记为 “Mark_Debug”的信号并且已经被分配到 ILA 探针的信号都会被显示在“Assigned Debug Nets”下,已标记为“Mark_Debug”的信号但是还没有被分配到 ILA 探针的信号被显示在“Unassigned Debug Nets”下。
(1)在综合后的网表中手动为信号添加 mark_debug 属性
如果未在 HDL 代码中书写(* mark_debug = “true” *)综合属性,则需要首先标记要进行观察的信号。在综合后的网表中,信号的名称可能会发生一定的变化,以 led 信号为例,在“Netlist”子窗口中的“Nets” 目录下,找到“led_OBUF[0]”网络,右击该网络(此时右边的“Schematic”子窗口也会自动地高亮选择此网络,因为“Netlist”子窗口中的对象和“Schematic”子窗口中的对象,两者之间是交叉选择的),在弹出的菜单中心选择“Mark Debug”命令,如下图所示:
此时在“Debug”子窗口的“Debug Nets”选项卡的“Unassigned Debug Nets”目录下就会出现我们刚刚标记的“led_OBUF[0]”网络。,如下图所示:
在 HDL 代码中已经添加了“Mark Debug”综合属性的信号会被自动出现在“Debug Nets”选项卡的 “Unassigned Debug Nets”目录下,如下图所示:
接下来的页面是选择用于采样待测信号的时钟域,Vivado 会自动识别出各个待测信号所属的时钟域并将其自动设定为其采样时钟,本次添加的三个信号属于系统时钟(sys_clk)的时钟域,Vivado 也已经自动将“sys_clk_IBUF”时钟设置为了这两个信号的采样时钟,如下图所示:
设置完采样时钟后,我们点击 next,接下来的页面用于设置 ILA IP 核的全局设置,如下图所示:
网表中被标记为 Mark Debug 的信号也变为了虚线,以表示其完成了ILA IP 核的分配,如下图所示:
在出现的消息框中直接点击 OK,如下图所示:
此时,我们打开 my_test.xdc 文件,就会看到在用户约束的下面,Vivado 自动写入了用于 debug 的约束命令,如下图所示:
在线逻辑分析仪的使用相关推荐
- Vivado入门使用指南之----按键消抖(仿真与在线逻辑分析仪仿真-不使用ip)
本博文参考米联客提供的教程,不太适合一点基础都没有的小白,不会讲解代码思路,只是编译工具的使用 1,概述 本实验对前文没有进行的仿真进行测试以及在线逻辑分析使用的尝试(不使用IP).本文通过(*mar ...
- 高云软件的在线逻辑分析仪使用教程
高云软件的在线逻辑分析仪使用教程 最近Altera和Xilinx的芯片涨价太严重,经过寻找国内替代型号,发现广东高云半导体的FPGA基本可以满足项目需求(非广告,实际项目使用):所以就切换使用高云的G ...
- ChipScope在线逻辑分析仪的使用方法
一.抓取信号 1.mark_dubug方式 1.将(*mark_debug = "true"*) 添加到需要观察的信号前面. (*mark_debug = &quo ...
- Vivado使用指南之:二、如何使用VIVADO 在线逻辑分析仪
一.在想要抓取的信号之前添加(* mark_debug = "true" *).保存.编译.如: 二.编译完成之后点击set up debug. 点击下一步..... 直至出现如下 ...
- 使用在线路线逻辑分析仪ILA调试模块的小技巧
在CSDN这个BLOG中我详细给出了如何在VIVADO中插入在线逻辑分析仪进行信号获取.这里再记录一下自己用的一个小技巧: 实例化一个统一的多款口大位宽的ILA,在多处使用. 我们在一个模块内插入IL ...
- [渝粤教育] 西南科技大学 现代数字系统设计 在线考试复习资料2021版
现代数字系统设计--在线考试复习资料2021版 一.单选题 1. SOPC的中文意思是( ). A.电子设计自动化 B.硬件描述语言 C.片上可编程系统 D.片上系统 答案:看左边查询 2.XP ...
- [渝粤教育] 西南科技大学 现代数字系统设计 在线考试复习资料2021版(1)
现代数字系统设计--在线考试复习资料2021版 一.单选题 1. SOPC的中文意思是( ). A.电子设计自动化 B.硬件描述语言 C.片上可编程系统 D.片上系统 答案:看左边查询 2.XP ...
- FPGA设计开发软件ISE使用技巧之:片上逻辑分析仪(ChipScope Pro)使用技巧
URL: http://www.icbuy.com/info/news_show/info_id/182769.html 6.7 片上逻辑分析仪(ChipScope Pro)使用技巧 在FPGA的调 ...
- Vivado逻辑分析仪使用教程
Vivado 逻辑分析仪使用教程 作者:李西锐 校对:陆辉 传统的逻辑分析仪在使用时,我们需要将所要观察的信号连接到FPGA的IO管脚上,然后观察信号.当信号比较多时,我们操作起来会比较繁琐.在线逻 ...
- vivado ILA在线逻辑仪使用
目录: 1.在线逻辑分析仪简介 2.HDL 实例化调试探针流程(实验-闪烁灯) 3.Hardware Manager中观察调试信号 4.网表插入调试探针流程(实验-闪烁灯) 1.在线逻辑分析仪简介 在 ...
最新文章
- ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案
- python常用命令汇总-Python爬虫框架Scrapy常用命令总结
- java 导出excel二维表,如何轻松将EXCEL二维统计表转为数据清单?
- sklearn自学指南(part61)--调整估计器的超参数
- js serialize php 解,[转]JavaScript 版本的 PHP serialize/unserialize 完整实现
- 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装...
- 尘埃落定!熊猫互娱近20亿元投资纠纷已解决
- 21 个必须知道的机器学习开源工具!
- 关于python最大递归深度 - 998
- Redis与Django中配置使用Redis
- uva1673(后缀自动机)
- 【问题解决】Ubuntu无法进入图形页面,全屏出现OK,而且屏幕不停闪烁
- IT行业的6大热门岗位,薪酬都有多高?
- 【无人机摄影测量技术必备知识】地面像控点布设经验整理-大比例尺
- (Python)sum函数的用法
- Mysql数据恢复---闪回恢复
- 3、用手机模拟器上的Autojs连接电脑vscode
- spring cloud contract的应用实现与概念理解-服务提供者一侧的落地
- 为什么特征数据要做对数变换?
- ~《概率论》~概率的性质条件概率与事件的独立性
热门文章
- oppo小布机器人_OPPO小布助手建立GUI+VUI协作机制,创新快应用融合能力
- N个字符或数字的全排列
- MacOS Catalina 10.15.1 (19B88) — 苹果操作系统
- 计算机二级WPS Office考试大纲2021年
- Nginx定义域名访问方式
- HR最不认同的5大跳槽理由排行榜
- 美国市场数据分析初创公司Simon Data获2000万美元融资
- 再见2018,你好2019!
- protobuf 中 repeated fields 细节
- linux中reboot函数在哪,reboot()函数 Unix/Linux