ILA可以添加到代码中使用,也可以添加到网络的表里使用。 在这里添加到代码中使用。 硬件平台: Xilinx AX7020
打开vivado并创建新项目(选择相应的芯片型号)。
2 .添加源文件并编写RTL代码
` time scale1ns/1ps//company ://engineer ://create date 33602019/03/291433600:40/modulename 3360 couu tool versions 3360//description ://dependen dent revision ://revision 0.01-file created//additional comments 3360 (* keep='TURE' * ) reg [3:0] cnt=4'd0; assign led=cnt; Always@(Posedgeclk ) begincnt=cnt 4'd1; 加入Endendmodule3.ILA核
在vivado项目中打开IP Catalog选项以找到ILA核
配置ila核心,主要配置4个地方。 1 .组件的名称;2 .要捕获的信号个数;3 .捕获的信号深度;4 .捕获的信号宽度。 本例的cnt为4比特。 好的!
4.IP核心配置完成,默认选择,生成
5 .将实例化ILA核心添加到RTL源代码中。 ILA核的clk信号必须连接到需要观察信号的对应的时钟域。 可以在一个RTL设计中添加多个ILA核以观察不同时钟域的信号。
` time scale1ns/1 psmodulecounter (input clk,output[3:0]q ); wire clk; (* keep='TURE' * ) reg [3:0] cnt=4'd0; 在//RTL信号之前加上(*keep='TRUE'* )表示抓住该信号assign q=cnt。 Always@(Posedgeclk ) begincnt=cnt 4'd1; Endila_1u_ILA(.clk ), probe0(CNT ); 添加endmodule6.xdc约束文件并绑定管脚
set _ property package _ pinu 18 [ get _ ports clk ] set _ propertyiostandardlvcmos 33 [ get _ ports clk ] set _ propertyiostatio set _ propertyiostandardlvcmos 33 [ get _ ports { led [2] } set _ propertyiostandardlvcmos 33 [ get ] set _ propertyiostandardlvcmos 33 [ get _ ports { led [0] } set _ property package _ pinj 16 [ get _ ports { led [3] } ]
8 .生成bit文件,然后选择Open Hadrware Manager
9 .硬件连接
10 .下载调试
11 .下载成功后自动弹出ILA波形界面,选择RUN触发器。 通过缩放可以清晰地看到波形定时。
12 .完美结束!