赞
踩
本实验用到的breath.led工程如下:
链接:https://pan.baidu.com/s/1VQQSpEjppNuTi20chFGyFw
提取码:1234
逻辑分析仪是被设计用来在不同的时间点查看和分析数字信号电平的工具。它能够捕获并记录在特定时间点或者时间段内一组或多组信号线(也就是数字电路中的各种控制信号、数据信号等)的逻辑状态(通常是高电平或低电平,分别对应于数字信号的1和0)。这些记录下来的数据可以以图形或列表的形式展示,使得用户能够观察到信号在时间上的变化情况。
想象一下,有一所大房子里发生了一件神秘事件,而房子里的每个房间都有可能藏有线索。逻辑分析仪就像是一位侦探,他要通过检查房间(信号)之间的互动来解开谜团。在没有逻辑分析仪的情况下,这位侦探需要亲自进入每个房间(信号线),使用他的侦查工具(比如示波器)去手动检查每个角落寻找线索。这不仅耗时,而且效率低下,特别是当房子非常大,房间非常多(即需要检查的信号很多)时。
首先需要在 HDL 源代码中实例化 ILA IP 核。我们点击“Flow Navigator” 窗口中的“IP Catalog”按钮,如下图所示:
“IP Catalog”窗口打开了后如下图所示:
左上角工具栏主要有 Documentation、IP Location、Switch to Defaults 三个设置 ,分别为:
1、Documentation:IP 相关文档入口
①Product Guide:IP 手册查看入口,点击可自动跳转到 Xilinx 官方文档 DocNav 软件。
②Change Log:是 IP 版本更新记录。
③Product Webpage:是 IP 相关介绍的网页版。
④Answer Records:是与 IP 相关的 Xilinx 官方疑问解答记录网页。
2、IP Location:设置 IP 的存放路径入口,点击出现如下图所示窗口,在窗口里可以通过点击“…” 更换存放路径。
3、Switch to Default:点击后所有的设置恢复到默认值。
4、Component Name:设置生成 IP Core 的名称,下面有一个提示,该提示表示通过这个界面最多可以设置 64 个探针,如果想设置更多的探针需要使用 Tcl 脚本命令去设置。
将从上到下依次介绍参数的配置:
1、General Options(常规选项)
2、Monitor Type(监视器、探针类型):ILA 探针接口类型设置,ILA 探针接口有两种类型,Native模式更通用,允许用户自由选择任何信号进行分析,适用于各种信号和逻辑的调试。AXI模式专门用于监控和分析遵循AXI协议的通信,它提供了对AXI事务的高级解析功能,适用于调试基于AXI接口的数据传输问题。
3、Number of Probes:探针数量设置,在 GUI 界面最大可设置 64 个,这个实验以呼吸灯实验代码为基础根据呼吸灯实验的需求,我们希望对 sys_rst_n、cnt_2us、cnt_2ms、cnt_2s、inc_dec_flag 和 led 信号抓取后进行线调试,所以这里需要设置探针数量为 6。
4、Sample Data Depth:采样数据深度,设置的数值越大,采样的数据越多,看到的波形数据越多,但是最终占用的资源也会越多,并不是设置的越大越好。“采样的数据越多,看到的波形数据越多”的原因是因为在数字电路调试过程中,逻辑分析仪(ILA IP核)通过对指定的信号进行采样来捕获信号在不同时间点的状态(例如,电平是高还是低)。这些采样点随后可以被用来重构信号在一段时间内的波形。
5、Same Number of Comparators for All Probe Ports:勾选此项意味着你决定所有探针端口将使用相同数量的比较器。这种设置在所有探测信号的重要性大致相等,且你希望对它们施加相同触发条件时很有用。不勾选该选项:意味着你可以为不同的探针端口设置不同数量的比较器。这在一些探针信号比其他信号更重要,或者需要更精细的触发条件控制时非常有用。不勾选时,“Number of Comparators”选项会消失,因为此时将需要为每个探针端口单独指定比较器数量。
比较器(Comparators)的作用:在ILA中,比较器用于触发(Trigger)条件的设置。比如,你可能想要在某个信号达到特定值时开始捕获数据,比较器就是用来检测这种条件是否满足的。简单来说,比较器用于比较探针信号的值与用户设置的期望值,当匹配时触发数据的捕获。
6、Trigger Out Port和Trigger In Port:"Trigger Out Port"(触发输出端口)是ILA IP核提供的一个输出信号,当ILA满足触发条件并开始捕获数据时,这个端口会发出信号。这个信号可以被用来触发其他的逻辑或调试模块开始执行某些操作。例如,你可以使用ILA的触发输出来启动另一个ILA核心或自定义逻辑开始数据的记录或分析。"Trigger In Port"(触发输入端口)正好相反,它是ILA IP核接收的一个输入信号。
7、Capture Control(捕获控制)和Advanced Trigger(高级触发):"Capture Control"涉及到如何管理ILA核心捕获数据的过程。这可以包括设置捕获的深度(即捕获多少个信号样本)、决定在触发事件发生之前或之后捕获数据的比例,以及是否连续捕获数据等。简而言之,"Capture Control"就像是一个高级的摄像机控制系统,允许你设置在特定事件发生时摄像机应如何响应——是只在事件发生后开始录制,还是在事件发生前后都记录一些画面,或者一直录制但只保存最关键的部分。Advanced Trigger"关注于定义触发捕获的条件。除了基本的触发条件(如某个信号变为高电平),高级触发还可以包括更复杂的逻辑,比如多个条件的组合(与、或、非逻辑),甚至是特定的信号模式匹配。
点击确定,配置完成后勾选Show disabled ports 选项,鼠标点击图 21.6.20 中的蓝色 ip 核,然后按住 Ctrl+滚动鼠标滚轮,通过放大可以查看详细引脚。
补充知识:
OOC(Out-of-Context)综合是一个在Vivado和其他硬件设计工具中使用的术语,它指的是将某个模块或IP核单独从整个项目或设计的上下文中提出来,进行独立的综合过程。这种方法允许设计者对特定的模块或IP核进行综合,而不需要每次都重新综合整个设计,可以显著提高开发和测试的效率。OOC 模块只会在综合顶层之前被综合一次,这样在顶层的设计迭代过程中, OOC 模块就不必跟随顶层模块而一次次产生相同结果的多余综合了。
OOC 综合完毕之后弹出下图所示窗口:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。