嵌入式邏輯分析儀—SigbalTap II,是Altera Quartus II 自帶的嵌入式邏輯分析儀,,與Modelsim軟件仿真有所不同,是在線(xiàn)式的仿真,,更準(zhǔn)確的觀察數(shù)據(jù)的變化,,方便調(diào)試,。
很多學(xué)過(guò)單片機(jī)的孩子認(rèn)為,單片機(jī)可以在線(xiàn)單步調(diào)試,,而FPGA" style="outline-style: none; color: rgb(51, 51, 51); text-decoration: none;">FPGA是并發(fā)的,,不能單步調(diào)試,這使得FPGA的調(diào)試學(xué)習(xí)帶來(lái)了困難,。其實(shí)這個(gè)說(shuō)法不是完全正確的,。別忘了,還有SignalTap II Logic Analyzer,。有了這個(gè)嵌入式邏輯分析儀,,在調(diào)試多通道或單通道數(shù)據(jù),進(jìn)行數(shù)據(jù)采樣,、監(jiān)控等操作時(shí),,給我們帶來(lái)了很大的方便,,因此,,FPGA的學(xué)習(xí)中,利用JTAG來(lái)調(diào)試SiganlTap II將會(huì)有很大的幫助,。
二,、應(yīng)用實(shí)例
本例中用正弦波、三角波,、鋸齒波,、方波波形數(shù)據(jù)為參考,簡(jiǎn)要講解SignalTap II Logic Analyzer軟件的應(yīng)用,,步驟如下:
(1)新建工程,,設(shè)計(jì)代碼,引腳配置,,RTL圖如下

(2)新建SignalTap II 文件

(3) 設(shè)置待測(cè)信號(hào)名

(4)在node雙擊添加需要觀察的數(shù)字信號(hào);不要調(diào)入系統(tǒng)時(shí)鐘,,因?yàn)楸纠蛩阌孟到y(tǒng)時(shí)鐘來(lái)做邏輯分析儀的采樣時(shí)鐘

(5)添加系統(tǒng)采樣時(shí)鐘(類(lèi)似示波器的采樣)

(6)設(shè)置采樣深度:因?yàn)檎加肊SB/M9K,,采樣深度最好小于9K,,這里設(shè)置為2K

(7)設(shè)置采樣其實(shí)觸發(fā)位置:跳變沿觸發(fā)

(8)觸發(fā)方式:

(此處我也不是很清楚,,大概各種模式吧)
(9)設(shè)置觸發(fā)輸入:選擇觸發(fā)信號(hào)以及觸發(fā)方式,flag為觸發(fā)使能信號(hào),,實(shí)際工程中沒(méi)用,,只是signaltap ii的使能信號(hào);高電平觸發(fā),設(shè)置如下:

注意:flag為邊沿采樣信號(hào),,當(dāng)flag變化的時(shí)候,,恰好warm_data在穩(wěn)態(tài),因此將flag作為采樣的觸發(fā);當(dāng)然在低速地要求的情況下,,flag也可以省略,,SiganlTap II 會(huì)自動(dòng)根據(jù)一定頻率采樣。
(10)Save and Yes,,再次編譯,,和本工程捆綁在一起Download to Device,(當(dāng)然也可以在Settings設(shè)置);關(guān)于PIN,,如果沒(méi)有邏輯分析儀測(cè)試沒(méi)有信號(hào)輸入,,如果你懶得設(shè)置,可以不分配out的信號(hào),,但是clk和rst_n必須分配,,因?yàn)槟鞘窍到y(tǒng)的驅(qū)動(dòng)信號(hào)。
(11)設(shè)置Handware Setup,,鏈接Device

(12)Download sof文件(當(dāng)然也可以在Q II直接download)

(13)進(jìn)程—Anturon Analysis,,自動(dòng)分析

(14) 觀察輸出信號(hào),設(shè)置為模擬信號(hào),,如下,,方便觀察

(15)為什么可以那么帥。,。,。。

(16)實(shí)際測(cè)試到一段時(shí)間后,,會(huì)出現(xiàn)bug,,可能長(zhǎng)時(shí)間采樣倒是邏輯邊沿不能對(duì)齊吧,畢竟沒(méi)那么完美,,復(fù)位一下就好了,。

(17)測(cè)試ok 后,取消下圖中的enable SignalTap II Logic Analyzer ,,減少邏輯單元,,精簡(jiǎn)成本設(shè)計(jì):
