在FPGA開發(fā)中,懂得使用硬件分析儀調(diào)試會讓你的開發(fā)進(jìn)度與開發(fā)效率提升很多。ILA就像是你安插在芯片內(nèi)部的一個監(jiān)控攝像頭,你把它安放在哪個位置,它就會把這個位置發(fā)生的情況記錄下來,并報告給你,讓你知曉一切。接下來就進(jìn)入正題,看看ILA是如何讓你知曉一切的,前方高能注意了啊。
舉個栗子,我們就來查看axi_stream的信號情況,先把信號“Mark Debug”一下。
在我們設(shè)置完查看信號和存儲深度等信息后,就保存,繼續(xù)綜合編譯,生成位流文件,下載。當(dāng)我們下載完后,就會出現(xiàn)如下界面,這個就是Vivado中ILA的調(diào)試界面。
下圖紅框中是ILA捕獲的基本信息,可以看到捕獲深度是8192,這個是我們之前設(shè)定的。主要是黃色框這個位置,它表示的是觸發(fā)的位置,0表示從最初開始觸發(fā),如果你想看觸發(fā)前的一些信息,就可以把它調(diào)大。比如設(shè)置為1000,那么待會顯示的信息就會是觸發(fā)信號之前的1000個時鐘的數(shù)據(jù)和觸發(fā)信號之后的7192(8192-1000)個時鐘的數(shù)據(jù)。
藍(lán)色框是采集方式,第二個符號是一個三角形和一豎,它是觸發(fā)符號,當(dāng)你設(shè)置好觸發(fā)信息后,點擊它,ILA便會不停地采集,直到遇到你設(shè)置的觸發(fā)信號才會停止采集,并把采集的數(shù)據(jù)顯示出來;第三個符號是兩個三角形,它是采集符號,點擊它便會立刻采集數(shù)據(jù),不會搭理你設(shè)置的觸發(fā)信息;第一個有個回旋的箭頭,它表示不斷采集數(shù)據(jù),點擊它后還需點第二或第三個符號,假設(shè)點擊第一個符號,再點擊第二個符號,那么ILA便會不停地觸發(fā),具體情況讀者可以自己去看。最后一個紅色正方形就是停止信號,點擊后就會停止采集數(shù)據(jù)了。
知道了操作,接下來我們看看信號,如下圖所示,最上面的紅框內(nèi)加號是添加觸發(fā)信號;下面的紅框內(nèi)加號是添加你要查看的信號;藍(lán)框內(nèi)的“與門”標(biāo)識,當(dāng)你的觸發(fā)信號有多個時,就可以使用,他有“與”、“或”、“非與”、“非或”四種選擇。比如你設(shè)置了兩個觸發(fā)信號,并都是高電平觸發(fā),然后這里選擇“與”,那么只有當(dāng)兩個信號同時為高電平時,它才會觸發(fā)。
現(xiàn)在我們點擊“+”號,把要查看的信號和觸發(fā)信號都加進(jìn)來。如下圖所示,我們把a(bǔ)xi_stream的所有信號加入進(jìn)來,同時設(shè)置valid和ready兩個信號高電平有效,再使用“與”門,這樣只有當(dāng)valid與ready都為高電平時才會實現(xiàn)觸發(fā)。
觸發(fā)信號有一個“Compare Value”選項,打開后便可以選擇觸發(fā)條件,是要等于還是不等于;數(shù)據(jù)是二進(jìn)制還是十六進(jìn)制等;值是為0還是為1或者上升沿下降沿等。
選擇好后,我們點擊觸發(fā)中的第二個符號,即三角形和一豎那個。這樣數(shù)據(jù)就出來了。
可以看到有條紅線標(biāo)有“T”,表明觸發(fā)點就是在這兒,這個點就是我們之前說的第1000的位置,前面1000個數(shù)據(jù)是觸發(fā)前的,后面7192個數(shù)據(jù)是觸發(fā)后的。我們可以放大看一下,剛好觸發(fā)線就在1000這個位置,而且也是在valid和ready同時為高時。
做完這些步驟,接下來設(shè)計者就是去分析數(shù)據(jù),看看自己的設(shè)計是否有問題了,所以后面就是你們的事了哈哈。
如果你想把此時的波形信息保存下來,后面需要的時候再調(diào)出來看的話,這是可以的,Vivado提供有這種功能。你只需要在指令欄下輸入“write_hw_ila_data my_hw_ila_data_file.ila [upload_hw_ila_data hw_ila_1]”回車即可,如下圖所示。
“write_hw_ila_data”是存ILA數(shù)據(jù)的指令;“my_hw_ila_data_file.ila”是你的文件名,你也可以改成你想要的名字;“[upload_hw_ila_data hw_ila_1]”是當(dāng)前這個ILA界面,其中“upload_hw_ila_data”是固定的,“hw_ila_1”是當(dāng)面界面名,如下圖左上角所示,名字就是“hw_ila_1”。如果你要存第二個界面,那就是“hw_ila_2”了。
然后你可以在Vivado的左邊欄,“File——Import——Import ILA Data...”,出現(xiàn)下方界面,點擊文件路徑,選擇文件,確定即可。
這樣ILA波形就會出來了,當(dāng)你下次想要查看之前的波形,就可以使用這種方法,非常好用。
至此,ILA的使用已經(jīng)全部講完,在添加ILA信號時一共有三種方法,添加完后就可以編譯下載,然后設(shè)置ILA界面,捕獲實時的數(shù)據(jù)信息。希望大家在以后的設(shè)計中能夠重視這種調(diào)試方式,它確實對實際項目開發(fā)幫助很大?,F(xiàn)在大家好好把ILA消化一下吧,后面我們再講硬件調(diào)試的另一個大腕——VIO。
-
FPGA
+關(guān)注
關(guān)注
1625文章
21637瀏覽量
601317 -
芯片
+關(guān)注
關(guān)注
453文章
50254瀏覽量
421121 -
信號
+關(guān)注
關(guān)注
11文章
2773瀏覽量
76547
原文標(biāo)題:FPGA開發(fā)要懂得使用硬件分析儀調(diào)試——ILA(4)
文章出處:【微信號:FPGAer_Club,微信公眾號:FPGAer俱樂部】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論