SignalTapII ELA的FPGA在線調(diào)試技術(shù)
如果能在FPGA內(nèi)部嵌入具有外部測(cè)試設(shè)備功能的邏輯測(cè)試模塊,那么以上問(wèn)題就可以一一解決。SignalTapII就是這樣一種嵌入式邏輯分析器(embedded logicanaIyzer),簡(jiǎn)稱(chēng)為SignalTapII ELA。它是QuartusII軟件中集成的內(nèi)部邏輯分析軟件,使用它可以實(shí)時(shí)觀察內(nèi)部信號(hào)波形,方便用戶(hù)查找設(shè)計(jì)的缺陷。
1 SignalTapII ELA的原理
SignalTapII ELA是Quartus軟件中第二代系統(tǒng)級(jí)調(diào)試工具。將SignalTapII ELA代碼和系統(tǒng)邏輯代碼組合交由QuartusII編譯、綜合、布局布線,生成sol文件中內(nèi)含SignalTapII ELA,把sof文件配置到FPGA內(nèi)。FPGA運(yùn)行時(shí),一旦滿(mǎn)足待測(cè)信號(hào)的觸發(fā)條件,SignalTapII ELA就立即啟動(dòng),按照采樣時(shí)鐘的頻率捕獲待測(cè)信號(hào)數(shù)據(jù)并暫存于FPGA片內(nèi)的RAM中,采樣數(shù)據(jù)不斷刷新片內(nèi)存儲(chǔ)器,最后通過(guò)JTAG口將捕獲的信號(hào)從片內(nèi)RAM傳至Quartus II實(shí)時(shí)顯示。SignalTapII ELA的原理流程如圖1所示。
實(shí)際工程中,加入SignalTapII ELA不會(huì)影響系統(tǒng)原有的邏輯功能。
2 SignalTapII ELA的配置
SignalTapII ELA基本配置過(guò)程如下:
①添加采樣時(shí)鐘。SignalTaplI ELA在時(shí)鐘的上升沿進(jìn)行采樣,可以使用設(shè)計(jì)系統(tǒng)中的任何信號(hào)作為采樣時(shí)鐘,根據(jù)Altera公司的建議最好使用同步系統(tǒng)全局時(shí)鐘作為采樣時(shí)鐘。但是在實(shí)際應(yīng)用中,多數(shù)使用獨(dú)立的采樣時(shí)鐘,這樣能采樣到被測(cè)系統(tǒng)中的慢速信號(hào),或與工作時(shí)鐘相關(guān)的信號(hào)。當(dāng)然采樣時(shí)鐘的頻率要大于被測(cè)信號(hào)的最高頻率,否則被測(cè)信號(hào)波形會(huì)有較大誤差。
②定義采樣深度。采樣深度決定了待測(cè)信號(hào)采樣存儲(chǔ)的大小,而可以采樣的深度是根據(jù)設(shè)計(jì)中剩余的RAM塊容量和待測(cè)信號(hào)的個(gè)數(shù)決定的。若待測(cè)信號(hào)較多,則在同樣I/O Bank個(gè)數(shù)情況下采樣深度較淺。待測(cè)信號(hào)個(gè)數(shù)的增減和采樣深度的深淺會(huì)直接改變RAM塊的占用情況,采樣深度的范圍為0~128 KB。
③定義RAM類(lèi)型。設(shè)置占用片內(nèi)何種RAM塊資源,隨著采樣深度的改變,RAM塊的數(shù)據(jù)線和地址線寬度可以分割成多種組合。例如:采樣深度是1 KB,RAM數(shù)據(jù)線、地址線可以分割成2×512或4×256等多種組合。依此類(lèi)推。
④定義觸發(fā)位置。Pre trigger position表示采樣到的數(shù)據(jù)12%為觸發(fā)前,88%為觸發(fā)后;Center trigger position表示采樣的數(shù)據(jù)處于觸發(fā)前后各一半;Post trigger position表示采樣到的數(shù)據(jù)88%為觸發(fā)前,12%為觸發(fā)后。
⑤觸發(fā)條件級(jí)數(shù)設(shè)置。SignalTapII ELA支持多觸發(fā)級(jí)的觸發(fā)方式,最多可支持10級(jí)觸發(fā),幫助濾除不相干的數(shù)據(jù),更快地找到需要的數(shù)據(jù)。若有多級(jí)觸發(fā)條件,首先分析第一級(jí)觸發(fā)條件。若第一級(jí)為T(mén)RUE,則轉(zhuǎn)到分析第二級(jí)是否滿(mǎn)足,直到分析完所有觸發(fā)條件均為T(mén)RUE才最終觸發(fā)時(shí)鐘采樣數(shù)據(jù)。
⑥觸發(fā)條件。設(shè)定約束性的觸發(fā)條件。可以允許單個(gè)信號(hào)的獨(dú)立觸發(fā)條件Basic,直接采用單個(gè)外部或設(shè)計(jì)模塊內(nèi)部的信號(hào);也可以允許多個(gè)節(jié)點(diǎn)信號(hào)的組合觸發(fā)條件Advanced,構(gòu)成觸發(fā)函數(shù)的觸發(fā)條件方程。例如:使能信號(hào)ENA與4位輸出信號(hào)Q相與后觸發(fā),觸發(fā)條件=ENA(Q=15)。
⑦添加待測(cè)信號(hào)??梢允褂肗ode Finder中的SignalTapII ELA Filter查找所有預(yù)綜合和布局布線后的SignalTapII ELA節(jié)點(diǎn),添加待測(cè)的中間信號(hào)和端口信號(hào)。SignalTapII ELA不可測(cè)試的信號(hào)包括:邏輯單元的進(jìn)位信號(hào)、PLL的時(shí)鐘輸出、JTAG引腳信號(hào)、LVDS(低壓差分)信號(hào)等。
評(píng)論