Vivado环境下,FPGA硬件调试方法很多,但常用方法主要围绕 ILA核展开。
ILA核简介
ILA是Vivado下的一个Debug IP核,类似于片上逻辑分析仪。在上一篇文章中,我们介绍了mark debug + set up debug,抓取信号的实时波形,调试工程;其中set up debug步骤,就是通过图形界面自动添加ILA核。
本文将介绍另一种方法:通过在RTL代码中直接例化ILA核,抓取想要观察的信号。下面以一个简单的counter模块为例,对Vivado(2014.1)下ILA核的使用进行说明。
1. RTL代码
module counter
(
input clk,
output [3:0] q
);
wire clk;
//想抓取cnt信号进行观察
(* keep ="TRUE" *)reg [3:0] cnt = 4'd0;
assign q = cnt;
always@(posedge clk)
begin
cn