ISE - 採用例化ILA核的方式抓信號

 

除了採用.cdc文件抓取信號以外,還有一種方式是採用例化ILA核的方式抓信號的時序。這種方式的詳細操作流程如下:

 

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

 

 

 

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

 

 

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

 

 

 

4、在第一頁設置好相關的參數,這些參數的含義核.cdc文件中參數的含義一模一樣,這裏不再過多解釋。

 

 

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

 

 

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

複製代碼

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

複製代碼

 

接下來就是生成bit文件並用ChipScope抓取信號了,和前一種方法一樣。

這種方法和前一種方法的區別在於這種方法只能抓取一個.v文件中的信號,而且速度生成IP核的比較慢,進入ChipScope中以後還需要自己修改端口的名字,比較浪費時間;好處就是可以100%保證抓到想抓的信號,所以對於邏輯不太複雜的單文件代碼可以採用這種方式。

 

 

發佈了116 篇原創文章 · 獲贊 310 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章