SignalTapII ELA的FPGA在線(xiàn)調試技術(shù)
如果能在FPGA內部嵌入具有外部測試設備功能的邏輯測試模塊,那么以上問(wèn)題就可以一一解決。SignalTapII就是這樣一種嵌入式邏輯分析器(embedded logicanaIyzer),簡(jiǎn)稱(chēng)為SignalTapII ELA。它是QuartusII軟件中集成的內部邏輯分析軟件,使用它可以實(shí)時(shí)觀(guān)察內部信號波形,方便用戶(hù)查找設計的缺陷。
1 SignalTapII ELA的原理
SignalTapII ELA是Quartus軟件中第二代系統級調試工具。將SignalTapII ELA代碼和系統邏輯代碼組合交由QuartusII編譯、綜合、布局布線(xiàn),生成sol文件中內含SignalTapII ELA,把sof文件配置到FPGA內。FPGA運行時(shí),一旦滿(mǎn)足待測信號的觸發(fā)條件,SignalTapII ELA就立即啟動(dòng),按照采樣時(shí)鐘的頻率捕獲待測信號數據并暫存于FPGA片內的RAM中,采樣數據不斷刷新片內存儲器,最后通過(guò)JTAG口將捕獲的信號從片內RAM傳至Quartus II實(shí)時(shí)顯示。SignalTapII ELA的原理流程如圖1所示。

實(shí)際工程中,加入SignalTapII ELA不會(huì )影響系統原有的邏輯功能。
2 SignalTapII ELA的配置
SignalTapII ELA基本配置過(guò)程如下:
①添加采樣時(shí)鐘。SignalTaplI ELA在時(shí)鐘的上升沿進(jìn)行采樣,可以使用設計系統中的任何信號作為采樣時(shí)鐘,根據Altera公司的建議最好使用同步系統全局時(shí)鐘作為采樣時(shí)鐘。但是在實(shí)際應用中,多數使用獨立的采樣時(shí)鐘,這樣能采樣到被測系統中的慢速信號,或與工作時(shí)鐘相關(guān)的信號。當然采樣時(shí)鐘的頻率要大于被測信號的最高頻率,否則被測信號波形會(huì )有較大誤差。
②定義采樣深度。采樣深度決定了待測信號采樣存儲的大小,而可以采樣的深度是根據設計中剩余的RAM塊容量和待測信號的個(gè)數決定的。若待測信號較多,則在同樣I/O Bank個(gè)數情況下采樣深度較淺。待測信號個(gè)數的增減和采樣深度的深淺會(huì )直接改變RAM塊的占用情況,采樣深度的范圍為0~128 KB。
③定義RAM類(lèi)型。設置占用片內何種RAM塊資源,隨著(zhù)采樣深度的改變,RAM塊的數據線(xiàn)和地址線(xiàn)寬度可以分割成多種組合。例如:采樣深度是1 KB,RAM數據線(xiàn)、地址線(xiàn)可以分割成2×512或4×256等多種組合。依此類(lèi)推。
④定義觸發(fā)位置。Pre trigger position表示采樣到的數據12%為觸發(fā)前,88%為觸發(fā)后;Center trigger position表示采樣的數據處于觸發(fā)前后各一半;Post trigger position表示采樣到的數據88%為觸發(fā)前,12%為觸發(fā)后。
⑤觸發(fā)條件級數設置。SignalTapII ELA支持多觸發(fā)級的觸發(fā)方式,最多可支持10級觸發(fā),幫助濾除不相干的數據,更快地找到需要的數據。若有多級觸發(fā)條件,首先分析第一級觸發(fā)條件。若第一級為T(mén)RUE,則轉到分析第二級是否滿(mǎn)足,直到分析完所有觸發(fā)條件均為T(mén)RUE才最終觸發(fā)時(shí)鐘采樣數據。
⑥觸發(fā)條件。設定約束性的觸發(fā)條件??梢栽试S單個(gè)信號的獨立觸發(fā)條件Basic,直接采用單個(gè)外部或設計模塊內部的信號;也可以允許多個(gè)節點(diǎn)信號的組合觸發(fā)條件Advanced,構成觸發(fā)函數的觸發(fā)條件方程。例如:使能信號ENA與4位輸出信號Q相與后觸發(fā),觸發(fā)條件=ENA(Q=15)。
⑦添加待測信號??梢允褂肗ode Finder中的SignalTapII ELA Filter查找所有預綜合和布局布線(xiàn)后的SignalTapII ELA節點(diǎn),添加待測的中間信號和端口信號。SignalTapII ELA不可測試的信號包括:邏輯單元的進(jìn)位信號、PLL的時(shí)鐘輸出、JTAG引腳信號、LVDS(低壓差分)信號等。
評論