Vivado Turtorial 01 —— 使用vivado中debug功能(類似ISE中ChipScope)
這是轉載大佬的,也可以移植到其他開發板上。
Vivado Turtorial 01 —— 使用vivado中debug功能(類似ISE中ChipScope)
1.基於BASYS3板子,有如下程式碼:
module top( input clk, input rst, output test_clk ); parameter DIV_CNT = 2; reg clk25M; reg [31:0] cnt = 0; [email protected](posedge clk)begin if (cnt==DIV_CNT-1) begin clk25M <= ~clk25M; cnt <= 0; end else begin cnt <= cnt + 1'b1; end end assign test_clk = rst ? 1'b0 : clk25M;
管腳配置XDC檔案內容如下:
set_property PACKAGE_PIN W5 [get_ports clk] set_property IOSTANDARD LVCMOS33 [get_ports clk] set_property PACKAGE_PIN V17 [get_ports rst] set_property IOSTANDARD LVCMOS33 [get_ports rst] set_property PACKAGE_PIN L1 [get_ports test_clk] set_property IOSTANDARD LVCMOS33 [get_ports test_clk]
2.佔擊左側Run Synthesis,綜合
Picture
3.完成之後,再點選 Open Synthesized Design,開啟之後,點Tools下的Set Up Debug...
Picture
如下
Picture
4.選擇Find Nets to Add...
Picture
5.點OK
Picture
6.選中想要觀察的訊號,點OK
Picture
7.出現紅色,在紅色地方右鍵。
Picture
8.選擇Select Clock Domain
Picture
9.選擇ALL_CLOCK,然後選擇clk_IBUF或clk_IBUF_BUFG
Picture
10.選擇合適的採集深度,1024通常夠用
Picture
11.Finish
Picture
12.點選左側的Generate Bitstream
Picture
13.完成後,點Open Hardware Manager
Picture
14.將板子連線到電腦上,然後Open Target -> Auto Connect
Picture
15.在xc7a35t上面,右鍵->Program Device...
Picture
16.Program
Picture
17.點選Trigger
Picture
18.會自動彈出波形
Picture
19.此時,只有test_clk訊號,沒有rst訊號。在Debug Probes區域中,rst_IBUF上右鍵
Picture
20.Add Probes to Wave Form
Picture
21.即可看到rst也在波形中了,新增其它訊號類似
Picture
22.滑鼠點住rst_IBUF,拖拽到圖中區域放開滑鼠
Picture
23.rst_IBUF訊號會出現在框中
Picture
24.點開Compare Value下拉選單,設定如下,點選OK
Picture
25.把BASYS3板子上的SW0,拔到上面。點選Run Trigger按鈕
Picture
26.注意到這裡應該顯示Wait...
Picture
27.此時,在板子上,把SW0拔下來。注意到,這裡會一閃而過Full,然後又顯示Idle。如果沒觀察到,可以從25步驟再重來
Picture
28.再開啟波形,如下圖
Picture
29.回到這個介面,將Trigger Position 設定為500。再重複24-28步驟。然後再觀察波形中,第500個週期,波形前後資料的變化
Picture
作者:Craftor
連結:https://www.jianshu.com/p/aaae0524877e
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。