Verilog——Chipscope簡單實用的使用方法
FPGA程式設計也避免不了需要進行線上調試工作,XILINX的ISE提供了Chipscope工具進行線上調試。
但之前查閱了很多Chipscope的調試方法,總是覺得這些方法很多都複雜冗長。最近尋找到一種較為簡單的Chipscope的線上調試方法。
Chipscope線上調試的兩個步驟:
- 生成Chipscope檔案(生成的檔案可以儲存起來,以後重複利用)
- 項目中Chipscope線上調試
1. 生成Chipscope檔案
本步驟生成的四個檔案可以儲存起來,在以後其他項目中直接拷貝過去,并将這四個檔案添加到項目中。

最後生成的四個檔案分别是:
- chipscope_ila.v
- chipscope_ila.ngc
- chipscope_icon.v
- chipscope_icon.ngc
2.項目中Chipscope線上調試
1) 代碼修改
将上一步驟中最後生成的四個檔案加入到要調試的項目中,然後根據程式中出現的問題推斷大概是哪個module的哪些信号(以rd_req和rd_cmd信号為例)出現問題,然後在有問題的module中加入調試代碼:
//DEBUG
//---------------------------------------------------------------------
wire [ 35:0] CONTROL0 ;
wire [255:0] TRIG0 ;
chipscope_icon icon_debug(
.CONTROL0 (CONTROL0) //INOUT BUS[35:0]
);
chipscope_ila ila_filter_debug(
.CONTROL (CONTROL0 ),
.CLK (clk50M ),
.TRIG0 (TRIG0 )
);
//以上代碼直接複制粘貼
//=====================================================================
//以下代碼請根據自己的程式進行修改
//---------------------------------------------------------------------
assign TRIG0[0] = rd_req ;//待觀測信号
assign TRIG0[4:1] = rd_cmd ;//待觀測信号
完成代碼修改後重新編譯工程,并連接配接仿真器下載下傳程式。
2)啟動Chipscope
- 點選Xilinx Designer Tools -> Analyzer啟動Chipscope
Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 - 啟動後點選下面的按鈕與電路闆連接配接
Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 - 彈出下面的對話框單擊ok
Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 - 進入到Chipscope主界面。Chipscope的主界面主要包括工程視窗、信号視窗、觸發條件設定序列槽、波形視窗。
Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 - 在主界面首先對波形視窗waveform的信号進行設定。主要是對DataPort各個信号進行組合和命名,使debug代碼中輸出的信号和觀測資料接口對應起來。右鍵單擊信号選擇Rename即可重命名: 選擇多個信号後右鍵單擊選擇Move to Bus -> New Bus即可将選擇的多個信号組合起來。
Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 Verilog——Chipscope簡單實用的使用方法Verilog——Chipscope簡單實用的使用方法 - 然後對Trigger Setup觸發條件設定視窗内的信号進行觸發條件設定。找到Trigger Setup序列槽下面Match視窗裡面的觸發信号,對觸發條件Value進行設定,觸發條件包括:
符号 | 觸發條件 |
---|---|
X | 不定值(預設) |
邏輯0 | |
1 | 邏輯1 |
R | 上升沿 |
F | 下降沿 |
N | 非沿 |
- 完成觸發條件設定後點選“▶”開始調試,當遇到設定的觸發條件時Waveform視窗會展現捕捉到的波形,這樣就可以開始觀察波形尋找bug了。如果不對觸發條件進行修改,即全部都是X,波形視窗會展現波形,但可能不是想要的。