文章目录
摘要
文章主要介绍fpga内嵌的逻辑分析仪(ILA)的使用方法。以led工程为例,介绍几种方法,观察内部信号timer_cnt 和 led的变化。
一、ILA ip核
(1)点击 IP Catalog,在搜索框中搜索 ila,双击 ILA 的 IP。
(2)由于要采样两个信号,Probes 的数量设置为 2。
Sample Data Depth 指的是采样深度,设置的越高,采集的信号越多,同样消耗的资源也会越多。
(3)设置 Probe 的宽度,设置 PROBE0 位宽为 32,用于采样 timer_cnt。
设置 PROBE1 位宽为 4,用于采样 led。
(4)在 led.v 中例化 ila。
module led(
input sys_clk,
input rst_n,
output reg [3:0] led
);
reg [31:0] timer_cnt;
always@(posedge sys_clk or negedge rst_n)
begin
if (!rst_n)
timer_cnt <= 32'd0 ;
else if(timer_cnt >= 32'd49_999_999)
timer_cnt <= 32'd0;
else
timer_cnt <= timer_cnt + 32'd1;
end
always@(posedge sys_clk or negedge rst_n)
begin
if (!rst_n)
led <= 4'd0 ;
else if(timer_cnt >= 32'd49_999_999)
led <= ~led;
else
led <= led;
end
ila ila_inst1
(
.clk(sys_clk), // input wire clk
.probe0(timer_cnt), // input wire [31:0] probe0
.probe1(led) // input wire [3:0] probe1
);
endmodule
(5)重新生成 Bitstream、连接硬件、下载程序。
(6)弹出在线调试窗口,出现了添加的信号。
二、MARK DEBUG
在代码中添加综合属性,实现在线调试。
(1) 在 led 和 timer_cnt 的定义前面添加(* MARK_DEBUG=”true” *),保存led.v文件。
(2) 点击综合,综合结束后,点击 Set Up Debug。
(3)在 xdc 文件中即可看到添加的 ila 核约束。
(4)重新生成 Bitstream、连接硬件、下载程序。
(5)弹出在线调试窗口,出现了添加的信号。