博主福利:100G+电子设计学习资源包!

​http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect​​ --------------------------------------------------------------------------------------------------------------------------

 

除了采用.cdc文件抓取信号以外,还有一种方式是采用例化ILA核的方式抓信号的时序。这种方式的详细操作流程如下:

1、添加一个新的ICON IP核。

 

ISE - 采用例化ILA核的方式抓信号_sed

 

2、一般情况下保持所有的参数默认就可以了。

ISE - 采用例化ILA核的方式抓信号_电子设计_02

 

3、再添加一个ILA 的IP核。

 

ISE - 采用例化ILA核的方式抓信号_sed_03

 

4、在第一页设置好相关的参数,这些参数的含义核.cdc文件中参数的含义一模一样,这里不再过多解释。

ISE - 采用例化ILA核的方式抓信号_sed_04

 

5、第二页主要是设置要抓取的信号宽度,值得注意的是这里可以设置大一点没关系,因为这种方法不要求信号宽度和要抓的信号数目完全相同。

ISE - 采用例化ILA核的方式抓信号_ico_05

 

6、生成这个两个IP核以后,把这两个IP核例化到代码中。

ISE - 采用例化ILA核的方式抓信号_sed_06

module led_top
(
input I_clk ,
input I_rst_n ,
output reg [3:0] O_led_out
);

always @(posedge I_clk or negedge I_rst_n)
begin
  if(!I_rst_n)
    O_led_out <= 4'd0 ;
  else
    O_led_out <= O_led_out + 1'b1 ;
end

wire [35:0]   CONTROL0;
wire [7:0]  TRIG;

icon icon_debug (
.CONTROL0(CONTROL0) // INOUT BUS [35:0]
);

ila ila_debug (
.CONTROL(CONTROL0), // INOUT BUS [35:0]
.CLK(I_clk), // IN
.TRIG0(TRIG) // IN BUS [7:0]
);

assign TRIG[0]=I_rst_n;
assign TRIG[4:1]=O_led_out;

endmodule

ISE - 采用例化ILA核的方式抓信号_ico_07

接下来就是生成bit文件并用ChipScope抓取信号了,和前一种方法一样。

这种方法和前一种方法的区别在于这种方法只能抓取一个.v文件中的信号,而且速度生成IP核的比较慢,进入ChipScope中以后还需要自己修改端口的名字,比较浪费时间;好处就是可以100%保证抓到想抓的信号,所以对于逻辑不太复杂的单文件代码可以采用这种方式。