嵌入式邏輯分析儀—SigbalTap II,,是Altera Quartus II 自帶的嵌入式邏輯分析儀,,與Modelsim軟件仿真有所不同,,是在線式的仿真,,更準(zhǔn)確的觀察數(shù)據(jù)的變化,,方便調(diào)試,。
很多學(xué)過單片機(jī)的孩子認(rèn)為,,單片機(jī)可以在線單步調(diào)試,,而FPGA" style="outline-style: none; color: rgb(51, 51, 51); text-decoration: none;">FPGA是并發(fā)的,不能單步調(diào)試,,這使得FPGA的調(diào)試學(xué)習(xí)帶來了困難,。其實(shí)這個說法不是完全正確的。別忘了,,還有SignalTap II Logic Analyzer,。有了這個嵌入式邏輯分析儀,在調(diào)試多通道或單通道數(shù)據(jù),,進(jìn)行數(shù)據(jù)采樣,、監(jiān)控等操作時,給我們帶來了很大的方便,,因此,,FPGA的學(xué)習(xí)中,利用JTAG來調(diào)試SiganlTap II將會有很大的幫助,。
二,、應(yīng)用實(shí)例
本例中用正弦波、三角波,、鋸齒波、方波波形數(shù)據(jù)為參考,,簡要講解SignalTap II Logic Analyzer軟件的應(yīng)用,,步驟如下:
(1)新建工程,設(shè)計代碼,,引腳配置,,RTL圖如下
(2)新建SignalTap II 文件
(3) 設(shè)置待測信號名
(4)在node雙擊添加需要觀察的數(shù)字信號;不要調(diào)入系統(tǒng)時鐘,,因?yàn)楸纠蛩阌孟到y(tǒng)時鐘來做邏輯分析儀的采樣時鐘
(5)添加系統(tǒng)采樣時鐘(類似示波器的采樣)
(6)設(shè)置采樣深度:因?yàn)檎加肊SB/M9K,采樣深度最好小于9K,,這里設(shè)置為2K
(7)設(shè)置采樣其實(shí)觸發(fā)位置:跳變沿觸發(fā)
(8)觸發(fā)方式:
(此處我也不是很清楚,,大概各種模式吧)
(9)設(shè)置觸發(fā)輸入:選擇觸發(fā)信號以及觸發(fā)方式,flag為觸發(fā)使能信號,,實(shí)際工程中沒用,,只是signaltap ii的使能信號;高電平觸發(fā),設(shè)置如下:
注意:flag為邊沿采樣信號,,當(dāng)flag變化的時候,,恰好warm_data在穩(wěn)態(tài),因此將flag作為采樣的觸發(fā);當(dāng)然在低速地要求的情況下,,flag也可以省略,,SiganlTap II 會自動根據(jù)一定頻率采樣。
(10)Save and Yes,,再次編譯,,和本工程捆綁在一起Download to Device,(當(dāng)然也可以在Settings設(shè)置);關(guān)于PIN,,如果沒有邏輯分析儀測試沒有信號輸入,,如果你懶得設(shè)置,可以不分配out的信號,,但是clk和rst_n必須分配,,因?yàn)槟鞘窍到y(tǒng)的驅(qū)動信號。
(11)設(shè)置Handware Setup,,鏈接Device
(12)Download sof文件(當(dāng)然也可以在Q II直接download)
(13)進(jìn)程—Anturon Analysis,,自動分析
(14) 觀察輸出信號,設(shè)置為模擬信號,,如下,,方便觀察
(15)為什么可以那么帥。,。,。。
(16)實(shí)際測試到一段時間后,,會出現(xiàn)bug,,可能長時間采樣倒是邏輯邊沿不能對齊吧,畢竟沒那么完美,,復(fù)位一下就好了,。
(17)測試ok 后,取消下圖中的enable SignalTap II Logic Analyzer ,,減少邏輯單元,,精簡成本設(shè)計: