Xilinx ILA 使用教程
1、调试代码(点灯程序)
module led_top(sys_clk, sys_rst_n, led); input sys_clk; // 系统时钟100MHz input sys_rst_n; // 系统复位低电平有效 output reg led; // LED ->1秒翻转一次 reg [31:0] cnt; // 计数器 localparam T_1S = 100_000_000; // 时钟周期10ns -> 计数次数 // 定时器计数 always @ (posedge sys_clk or negedge sys_rst_n)begin if (!sys_rst_n) cnt <= 32'd0; else if (cnt == T_1S - 1'b1) // 1秒循环计数 cnt <= 32'd0; else cnt <= cnt + 1'b1; // 计数器累加 end // LED 点灯实验 always @ (posedge sys_clk or negedge sys_rst_n)begin if (!sys_rst_n) led <= 1'b0; // 高电平点灯-> else if (cnt == T_1S - 1'b1) led <= ~led; // 1秒翻转一次 end endmodule
2、ILA IP 创建以及使用
2.1、添加ILA IP

1、单击 IP Catalog
2、在Search(搜索框)中搜索:ILA
3、在Debug下面选择->ILA(Integrated Logic Analysis)->双击
2.2、ILA IP 官方文档的查看

1、单击Documentation
2、在下拉选项中选择Product Guide->单击
2.3、ILA 界面简介
2.3.1、General Options 界面

1、IP Location->单击之后,可以看见创建IP 存储的位置。

2、Component Name->ILA IP的名称,在这里可以使用默认名称,也可以根据自己的风格进行更改。我在这里把这个IP 更改成led_ila。
3、Monitor Type ->这个选项指定调试那种类型的接口。两种选择“Native”和“AXI”。对于初学者而言,这里选择“Native”就可以了。
4、Number of Probes->探针的数量。我们可以把这个理解成示波器的探头,1就对应1个探头,2就对应2个探头…以此类推。这里提供的选择范围在[1,1024]。在实际使用的过程中,我们根据需要观测信号的数量来合理选择探头的数量。在这里,我选择3个探头。
5、Sample Data Depth->采样数据的深度,可以在右边下拉菜单中选择合适的深度。你就把这个理解为容量相同的储物格。储物格越多,存储的物品也就越多,对应到数据上来说,就意味着你能接收并且看到更多的数据。因为我FPGA资源剩余比较多,这里我选择4096。
6、Same No. of Comparators for all Probes ->选中为所有已启用的端口和接口启用相同数量的比较器。 此 IP 版本允许您在基本和高级触发模式下使用此选项。 这里选择默认配置就可以了。
Trigger In Port – >选中以启用可选的触发器输入端口。
8、Input Pipe Stages-> 选择要为探针添加的寄存器数量。 此参数适用于所有探头。选择默认配置就可以了。
2.3.2、Probe_ Ports 界面

1、Probe Width->探针的位宽。这里设置的探针位宽尽量和你观测的信号位宽保持一致。我这边观测三个信号,分别是sys_rst_n, led,cnt->对应的位宽分别为1,、1、32。
2、Number of Comparators->比较器的数量,这里不能被更改(前一个界面已经设置过了)。
3、Probe Trigger or Data-> 这里保持默认配置就可以。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222503.html原文链接:https://javaforall.net
