在QUARTUSII环境下有很好用的SIGAL TAPII ,在VIVADO下实现内部信号抓取可以使用所谓的DEBUG,其实就是设置DEBUG后,项目使用XDC命令自动加入了逻辑分析仪,我们这里讲讲的是主动实例化加入ILA的技巧。可以随便插入到代码的任何位置。
1,新建一个BOLCK DESIGN ,设置成为NATIVE 类型并设置好端口数量以及位宽,深度等等细节不多说。
2,端口扩展出来。
3,生成HDL_WRAPPER。后看代码:
module ILA_1_1_8_64_wrapper
(clk,
probe0,
probe1,
probe2,
probe3);
input clk;
input [0:0]probe0;
input [0:0]probe1;
input [7:0]probe2;
input [63:0]probe3;
wire clk;
wire [0:0]probe0;
wire [0:0]probe1;
wire [7:0]probe2;
wire [63:0]probe3;
ILA_1_1_8_64 ILA_1_1_8_64_i
(.clk(clk),
.probe0(probe0),
.probe1(probe1),
.probe2(probe2),
.probe3(probe3));
endmodule
生成SWRAPPER这一步的目的仅仅是为了得到红框内可以拷贝的代码。
4,复制红丝框内部分,到你具体要观测代码,括号内的信号换成你具体的信号就好。注意位宽。
5,代码结构树里面就有了对应的显示:
6,综合之后下载就可以使用HARDWARE MANAGEMENT 进行触发设置和波形查看了。其他步骤略。
-----------------
这里其实就是就是用BLOCK DESIGN文件实例化一个ILA (Intergrated Logic Analyzer 内部集成的逻辑分析仪),之后用HDL实例化,放在任何需要查看波形的位置(当然要根据查看的接口位宽设置ILA)。