FPGA開發(fā)過程中,能夠方便的觀察模塊中信號的時序變化對邏輯的開發(fā)有很重要的意義。在quartus中的signal
tap
就是能夠方便的抓取模塊中的信號,這類似與ISE的chipscope,但是在vivado中就沒有了,必須內(nèi)部例化ila,抓取的數(shù)據(jù)也不太方便,所以個人對vivado的使用還是感覺不太方便。言歸正傳,這里將詳細講解signal
tap的使用,我使用的quartus版本為10.1.
1.創(chuàng)建并設(shè)置STP文件
STP是signal tap的縮寫,在quartus界面中點擊file,選中new,彈出下面框:

選中SignalTap II
Logic A nalyzer File點擊OK,彈出下面框:

2.在STP文件中添加實例(instance)
添加方法:在上圖中的instance窗口中點擊右鍵,選擇create instance。
默認情況下,STP中有一個默認名為auto_signaltap_0的instance,雙擊auto_signaltap_0可以修改為自己定義的名字。
3.在instance中添加觀測節(jié)點(nodes)
點擊Edit,選中Add Nodes...(此處有一個需要注意的:上面的步驟必須在打開一個工程后操作,否則Edit中的Add
Nodes...將會是灰色,無法選中) ,然后彈出:

這個時候就需要添加你所需要抓取的信號。Look
in中選擇抓取的信號所在的模塊,F(xiàn)ilter修改為:
SignalTap
II:pre-synthesis.(這兩步非常重要,否則的話在Nodes
Found中會提示non-mathcad),在Named中輸入所需抓取的信號名(貌似必須是全名),點擊List,在Nodes
Found中就會出現(xiàn)該信號,雙擊該信號,該信號就會出現(xiàn)在Selected
Nodes里面。同樣在Named中輸入另外需要抓取的信號,使之出現(xiàn)在Selected
Nodes里面。添加完所有的信號后,點擊OK。

4.為instance添加采樣時鐘
點擊軟件中下部的Setup按鍵,在右邊會出現(xiàn):

點擊上圖的clk旁邊的[...]將會彈出與上面一樣的Noder
Finder窗口,選擇好合適的時鐘信號。然后設(shè)置一些基本的參數(shù):
采樣深度,Sample depth
個人建議選大些,但是又不能超過FPGA資源,不然在后面的編譯會報錯。
RAM類型,這個默認為auto,不用管
觸發(fā),Trigger 這個在初期使用signal
tap就選擇默認,后期可以根據(jù)具體信號波形來設(shè)置。
5.重新編譯添加了signal tap工程
在quartus10.1中一般在上面的步驟都做好后,關(guān)閉signal
tap窗口一直點擊OK就行。為了確保工程中的確添加了我們剛剛新建的stp文件,可以打開工程,選中Entity中的頂層,右鍵點擊settings,就會出現(xiàn):

選中左邊的SignalTap II Logic
Analyzer,在右邊[...]選中剛剛新建的stp文件。
6.編譯和下載代碼
按照一般的方法,編譯和生成sof文件。下載代碼需要在SignalTap
II 中下載,雙擊stp文件,就會彈出:

給板子上電,并且連上JTAG線(有的稱為仿真器)。界面就會變成:

點擊右上角的SOF Manager后面的[...],選擇好剛剛生成的SOF文件,然后點擊program
device。
7.抓取數(shù)據(jù),觀測波形
在下載好sof后,點擊Instance Manager旁邊的run
analyzer(也就是紅色的三角標(biāo)志),就會彈出:

界面上就是抓取出來的信號波形,此時完成了signal
tap的基本操作。
理論分析:
1.SignalTap II 的優(yōu)缺點(摘自《altera
FPGA/CPLD設(shè)計(基礎(chǔ)篇)》(第2版))
優(yōu)點:
1.不占用額外的I/O管腳
2.不占用PCB上的空間
3.不破壞信號的完整性
4.相對傳統(tǒng)邏輯分析儀設(shè)備,SignalTap II
免費試用。
缺點:SignalTap II
中抓取數(shù)據(jù)的深度取決于RAM剩余大小,特別是在低端的FPGA中,特別是學(xué)習(xí)板中,由于RAM太小,抓取的數(shù)據(jù)太少,SignalTap
II 基本對設(shè)計沒有幫助。
2.觸發(fā)位置的選擇
以前似乎有四種選擇,現(xiàn)在好像只能找到三種:
1.Pre trigger
position
:采樣的數(shù)據(jù)12%為觸發(fā)前,88%為觸發(fā)后
2.Center trigger position
:采樣的數(shù)據(jù)50%為觸發(fā)前,50%為觸發(fā)后
3.Post
trigger
position
:采樣的數(shù)據(jù)88%為觸發(fā)前,12%為觸發(fā)后