天天看點

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

部落客福利: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核的方式抓信号

2、一般情況下保持所有的參數預設就可以了。

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

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

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

4、在第一頁設定好相關的參數,這些參數的含義核.cdc檔案中參數的含義一模一樣,這裡不再過多解釋。

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

5、第二頁主要是設定要抓取的信号寬度,值得注意的是這裡可以設定大一點沒關系,因為這種方法不要求信号寬度和要抓的信号數目完全相同。

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

6、生成這個兩個IP核以後,把這兩個IP核例化到代碼中。

ISE - 采用例化ILA核的方式抓信号
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核的方式抓信号