首页 > 编程知识 正文

vivado2018使用教程pdf,24M的逻辑分析仪怎么用的

时间:2023-05-04 09:36:22 阅读:161868 作者:4364

目录(1、在线逻辑分析仪简介2、HDL实例化调试探头流程(实验-闪光灯) 3、用硬件管理器观察调试信号4、插入网络表调试探头流程)实现

1、在线逻辑分析仪简介

在线逻辑分析仪借用了传统逻辑分析仪的理念和大部分功能,利用FPGA的逻辑资源,将这些功能编入FPGA的设计中。 一般来说,在线逻辑分析仪的应用原理框图如下图所示。

测试对象设计(Design Under Test,DUT )是用户逻辑,位于片上在线逻辑分析器和FPGA。 联机逻辑分析器用一个或多个探测器收集要观察的信号,通过片内的JTAG硬核组件将捕获的数据发送到下载器,然后上载到Vivado IDE供用户查看。 根据上述的数据路径,Vivado IDE还可以反向地向FPGA的在线逻辑分析器发送控制信息。

在Vivado中,在线逻辑分析器的功能称为“集成逻辑分析器(ILA )集成逻辑分析器”,作为IP核心内置于用户设计中。 我想知道Vivado提供了三种具有不同集成级别的ILA插入方法,主要有两种:

第一种方法是直接在HDL代码中实例化ILA IP核,也称为“HDL 实例化调试探针流程”,这是集成水平最高的方法。 ILA IP核位于IP目录(IP目录)中,配置为满足所需的调试要求。 这是最直接的方法,但灵活性也很低。 调试工作完成后,必须从HDL源代码中删除ILA IP核,然后重新集成并实现以生成最终的比特流。

第二种方法是在统一的网表中,分别标记进行调试观察的各信号,通过简单的“Setup Debug”向导设置各探测器和ILA IP核的工作参数,工具根据用户设置的参数设置各ILA IP核的工作参数该方法也被称为“网表插入调试探针流程”。 此过程提供了很大的灵活性,因为用户不需要更改HDL源代码,就可以分别控制每个ILA IP核和每个探测器。 用户设置的调试信息作为Tcl XDC调试命令保存在XDC约束文件中。 在实现阶段,Vivado将读取这些XDC调试命令,并在布局路由时添加这些ILA IP核。 调试工作完成后,用户可以通过从集成的网列表中删除ILA IP核或从XDC文件中删除调试命令来实现设计并生成最终的比特流。

2、HDL实例化调试探测器流程(实验-闪烁)“HDL实例化调试探测器流程”需要在HDL源代码中实例化ILA IP核。 单击" IP Catalog "按钮,在搜索栏中输入" ILA "后,Vivado会根据关键字自动搜索相应的结果,然后双击" ILA ) " integrag " "

将显示" ILA IP "核心配置页面,如下图所示。

IP核的配置包括两个子页面:“一般选项”和“代理_端口(0…0 )”,其中“一般选项”页面用于ILA IP核的整体设置

在" General Options "页面的" Number of Probes "栏中,设置所需的探测器数量。 通常,一个探针用于连接一个测量对象信号。 Sample Data Depth用于设置采样深度,ILA将在每个采样时钟下捕获的探测信号的值发送到RAM。

在probe_ports(0…0 )页面中,要设置每个探测器的参数,通常只需设置探测器宽度(probe width 1…4096 )一栏。

只需单击" Generate ",Vivado此时将开始对此ILA IP核进行OOC集成。

Vivado的输出上下文(OOC )集成独立于顶层设计单独集成,OOC模块在集成顶层之前仅集成一次。 这样,在顶层设计的迭代过程中,OOC模块就不需要遵循顶层模块,并且可以进行额外的集成,一次产生相同的结果。 因此,OOC进程可以减少设计周期,消除设计迭代,并存储和重用综合结果。

复制图中红色框的模板代码并将其粘贴到led_twinkle.v顶层HDL代码中,以将ILA时钟和探测信号连接到顶层设计。 实例化ILA IP核心的代码如下:

ILA_0u_ILA_0(.clk(sys_clk ),/inputwireclk.probe0) sys_rst_n ),/inputwire[0:0]probe源至此,我们成功了

用“HDL 实例化调试探针流程”将 ILA IP 核添加到了设计中。接下来就可以将比特流下载到 FPGA 中,并对信号进行在线观察。

3、Hardware Manager中观察调试信号


生成比特流之后,我们打开 Hardware Manager,连接到开发板,并下载比特流。在弹出的窗口中,Vivado 会自动识别比特流文件和具有调试探针信息的.ltx 文件。

​ .ltx 文件存储了调试探针的信息,用来传递给 Vivado IDE,它是从我们的设计中被提取出来的。若实现后的设计中包含了ILA IP 核,则在下载比特流时,Vivado 会自动识别出.ltx 文件。

​ 直接点击“Program”,此时 Vivado 会自动打开 ILA 的调试窗口,如下图所示:

下面开始触发条件的设置,在这里简要介绍一个触发的概念。前面我们介绍过,ILA 会将所采集到的探针数据存放在 RAM 中,然后通过 JTAG 和下载器上传到 Vivado。那么触发就是决定 ILA 会在什么时候将 RAM 中的探针值数据上传到 Vivado,当 ILA 检测到触发条件得到满足时,就会把 RAM 中的探针值数据上载到 Vivado,然后 Vivado 将探针数据的波形显示出来。

然后我们就可以开始进行触发动作了。在波形窗口中有 4 个触发动作,如下图所示

从左至右依次是:(1)自动触发开关、(2)开始触发、(3)立即触发、(4)停止触发。

​ 我们这里直接点击“开始触发”按钮,而不打开“自动触发”开关。然后由于 cnt 计数器每隔 500ms就会计数到 25_000_000,所以我们几乎马上就可以看到波形窗口中出现了波形,如下图所示:

添加复位信号,设置为下降沿触发,等待复位信号

复位键按下,立即更新窗口信息

4、网表插入调试探针流程(实验-闪烁灯)

网表插入调试探针流程需要在综合后的网表中,将要进行调试观察的各个信号标记“mark_debug”属性,然后通过“Setup Debug”向导来设置 ILA IP 核的参数,最后工具会根据参数来自动创建 ILA IP 核。

可以在综合之后的网表中手动选择网络并点击“mark_debug”按钮;也可以在综合之前在 HDL 代码中为想要观察的 reg 或 wire 信号添加“Mark Debug”综合属性,例如:

(* mark_debug = “true” *)reg [25:0] cnt ;

(* mark_debug = “true” )” 必须紧挨在变量声明的前面。这样,在综合完成之后并打开综合后的设计时,cnt 信号就自动被标记了“Mark Debug”属性。此外,被添加了(mark_debug = “true” )属性的 reg或 wire 信号不会被工具优化掉。

在“Debug”子窗口中的“Debug Cores”选项卡中,可以看到 Vivado已经添加了 ILA IP 核。

在“网表插入调试探针流程”中,用户设置的调试信息最终会以 Tcl XDC 调试命令的形式保存到 XDC 约束文件中。Vivado 会从 XDC 约束文件中读取这些 XDC 调试命令,并在布局布线时加入这些 ILA IP 核。

至此,我们就成功地使用“网表插入调试探针流程”将 ILA IP 核添加到了设计中。接下来就可以实现设计并生成比特流,最后将比特流下载到 FPGA 中,以对信号进行在线观察。
操作方法和“HDL 实例化调试探针”的观察波形信号一样,没有任何区别.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。