摘要:嵌入式邏輯分析儀SignalTap II是Quartus II軟件中第二代系統(tǒng)級調(diào)試工具,,它可以用來捕捉目標(biāo)芯片內(nèi)部信號節(jié)點(diǎn)處的信息,,而又不影響原硬件系統(tǒng)的正常工作。通過一個(gè)多波形信號發(fā)生器的設(shè)計(jì)實(shí)例,,詳細(xì)闡述SignalTap II的工作流程和參數(shù)設(shè)置方法,。實(shí)驗(yàn)結(jié)果表明,該測試方法操作方便,,實(shí)時(shí)性較高,,能夠加快系統(tǒng)的開發(fā)流程。
關(guān)鍵詞:SignalTap II,;測試,;信號發(fā)生器
引言
隨著微電子技術(shù)、微封裝技術(shù)和印制板制造技術(shù)的不斷發(fā)展,,印制電路板面積越來越小,,密度越來越大,復(fù)雜度越來越高,,層數(shù)越來越多,。故采用傳統(tǒng)的硬件測試方法(如外探針測試法)來測試焊接上的器件,,難度增大。而嵌入式邏輯分析儀的使用可以將高效的硬件測試手段和傳統(tǒng)的系統(tǒng)測試方法相結(jié)合,,從而解決這些問題,。嵌入式邏輯分析儀實(shí)現(xiàn)了硬件測試的軟件化,但它和驗(yàn)證邏輯正確性的軟件仿真又有所不同,。它可以用來捕捉目標(biāo)芯片內(nèi)部信號節(jié)點(diǎn)處的信息,,而又不影響原硬件系統(tǒng)的正常工作,具有無干擾,、便于升級,、使用簡單、價(jià)格低等特點(diǎn),。
1 SignalTap II原理及工作流程
SignalTap II邏輯分析儀是Quartus II軟件中第二代系統(tǒng)級調(diào)試工具,。它是一種基于邏輯分析核的嵌入式邏輯分析儀,不僅具備普通邏輯分析儀的觸發(fā),、數(shù)據(jù)采集和存儲功能,,還可訪問FPGA器件內(nèi)部的所有信號和節(jié)點(diǎn),在系統(tǒng)設(shè)計(jì)中觀察硬件和軟件的交互作用,。SignalTap II專用于Quartus II軟件,,與其他嵌入式邏輯分析儀相比,它支持的通道數(shù)最多,,抽樣深度最大,,時(shí)鐘速率最高。目前SignalTap II邏輯分析儀支持的器件系列包括:Cyclone,、Cyclone II,、Cyclone III、APEXT II,、APEX 20KE,、APEX20KC、APEX20K,、Excalibur,、Mercury、Stratix GX,、Stratix,、Stratix II、Stratix III等,。
SignalTap II的工作流程如圖1所示,。在FPGA運(yùn)行過程中,當(dāng)滿足觸發(fā)條件時(shí)SignalTap II將啟動采樣過程并將數(shù)據(jù)暫存于目標(biāo)器件中的嵌入式RAM(如ESB,、M4K)中,,采樣數(shù)據(jù)不斷刷新片內(nèi)存儲器內(nèi)容,,然后通過器件的JTAG端口將捕獲到的信號數(shù)據(jù)傳出,送入計(jì)算機(jī)Quartus II開發(fā)環(huán)境中進(jìn)行顯示和分析,。這樣開發(fā)者可以在整個(gè)設(shè)計(jì)過程中以系統(tǒng)級的速度來觀察硬件和軟件的交互作用,。此外,SignalTap II允許對設(shè)計(jì)中的所有層次的模塊的信號節(jié)點(diǎn)進(jìn)行測試,,可以使用多時(shí)鐘驅(qū)動,,而且還能通過設(shè)置以確定前后觸發(fā)捕捉信號信息的比例。
2 STP文件的參數(shù)設(shè)置
在圖1所示的SignalTap II工作流程中,,STP文件的參數(shù)設(shè)置是否恰當(dāng)將直接影響采樣與分析結(jié)果的好壞,,故它在整個(gè)流程中是極其重要的。STP文件的參數(shù)設(shè)置主要包括以下幾個(gè)方面:
①設(shè)置采樣時(shí)鐘,。采樣時(shí)鐘決定了顯示信號波形的分辨率,,它的頻率要大于被測信號的最高頻率,否則無法正確反映被測信號波形的變化,。SignalTap II在時(shí)鐘的上升沿采樣,,可以使用設(shè)計(jì)系統(tǒng)中的任何信號作為采樣時(shí)鐘,根據(jù)Altera公司的建議最好使用同步系統(tǒng)全局時(shí)鐘
作為采樣時(shí)鐘,。但是在實(shí)際應(yīng)用中,,多數(shù)使用獨(dú)立的采樣時(shí)鐘,這樣能采樣到被測系統(tǒng)中的慢速信號,,故需將系統(tǒng)時(shí)鐘進(jìn)行分頻,。
②設(shè)置被測信號??梢栽贜ode Finder窗口進(jìn)行選擇,,添加要觀察的信號。
③配置采樣深度,,確定RAM的大小。采樣深度決定了待測信號采樣存儲的大小,,它是根據(jù)設(shè)計(jì)中剩余的RAM塊容量和待測信號的個(gè)數(shù)決定的,。待測信號個(gè)數(shù)的增減和采樣深度的深淺會直接改變RAM塊的占用情況,采樣深度的范圍為0~128 KB,。SignalTap II所能顯示的被測信號波形的時(shí)間長度為Tx=N×Ts,,其中N為緩存中存儲的采樣點(diǎn)數(shù),Ts為采樣時(shí)鐘的周期,。
④設(shè)置buffer acquisition mode,。buffer acquisitionmode包括循環(huán)采樣存儲、連續(xù)存儲兩種模式,。循環(huán)采樣存儲也就是分段存儲,,將整個(gè)緩存分成多個(gè)片段(segment),,每當(dāng)觸發(fā)條件滿足時(shí)就捕獲一段數(shù)據(jù)。該功能可以去掉無關(guān)的數(shù)據(jù),,使采樣緩存的使用更加靈活,。通常選擇循環(huán)采樣存儲,需要設(shè)置觸發(fā)位置,。觸發(fā)位置允許指定在選定實(shí)例中在觸發(fā)器之前和觸發(fā)器之后應(yīng)采集的數(shù)據(jù)量,。Pre trigger position表示采樣到的數(shù)據(jù)12%為觸發(fā)前,88%為觸發(fā)后,;Center trigger position表示采樣的數(shù)據(jù)處于觸發(fā)前后各一半,;Post trigger position表示采樣到的數(shù)據(jù)88%為觸發(fā)前,12%為觸發(fā)后,;Continuous triggerposilion表示以環(huán)形緩沖的方式進(jìn)行連續(xù)采樣保存,,直到用戶中斷為止。
⑤觸發(fā)級別,。SignalTap II支持多觸發(fā)級的觸發(fā)方式,,最多可支持10級觸發(fā),為設(shè)置復(fù)雜的觸發(fā)條件提供了足夠的靈活性,,幫助驗(yàn)證檢錯,。如果設(shè)置了多觸發(fā)級別,直到所有的觸發(fā)條件順序滿足后,,才開始采集數(shù)據(jù),。
⑥觸發(fā)條件。設(shè)定約束性的觸發(fā)條件,??梢栽O(shè)定單個(gè)信號的獨(dú)立觸發(fā)條件,直接采用單個(gè)外部或設(shè)計(jì)模塊內(nèi)部的信號,;也可以允許多個(gè)節(jié)點(diǎn)信號的組合復(fù)雜觸發(fā)條件構(gòu)成觸發(fā)函數(shù)的觸發(fā)條件方程,,以協(xié)助調(diào)試工作。當(dāng)觸發(fā)條件滿足時(shí),,在SignalTap II時(shí)鐘的上升沿采樣被測信號,。例如,使能信號EN與RST相與后觸發(fā),,觸發(fā)條件=ENA&RST,。
當(dāng)完成以上設(shè)置后,重新編譯工程并將該設(shè)計(jì)下載到FPGA中,,在Quartus II中SignalTap II窗口下查看邏輯分析儀捕獲結(jié)果,,并進(jìn)行相關(guān)分析,完成系統(tǒng)測試。
3 實(shí)例分析
本文以一個(gè)多波形信號發(fā)生器為例,,具體說明使用SignalTap II進(jìn)行實(shí)時(shí)測試的具體過程,。該設(shè)計(jì)基于Altera公司Cyclone II系列的EP2C8Q208C8。在Quartus II中完成的設(shè)計(jì)如圖2所示,。
設(shè)計(jì)的多波形信號發(fā)生器可以產(chǎn)生正弦波,、三角波和方波,可以通過開關(guān)選擇輸出的波形,。系統(tǒng)采用自頂向下的設(shè)計(jì)思想,,底層采用VHDL語言編程和LPM_ROM模塊實(shí)現(xiàn),頂層采用原理圖設(shè)計(jì),。圖2中,,rst為復(fù)位信號,sel[1..0]為波形選擇信號,,clk為主時(shí)鐘,,q[7..0]為輸出信號。當(dāng)sel=“00”時(shí),,輸出正弦波,;當(dāng)sel=“01”時(shí),輸出三角波,;當(dāng)sel=“10”時(shí),,輸出方波。系統(tǒng)由分頻模塊,、正弦波模塊(地址發(fā)生器模塊和LPM_ROM模塊),、三角波模塊、方波模塊和波形選擇模塊組成,。
系統(tǒng)的RTL電路圖如圖3所示,,雙擊圖形中有關(guān)模塊,或選擇左側(cè)各項(xiàng),,可逐層了解各層次的電路結(jié)構(gòu),。
根據(jù)上述SignalTap II的工作流程,首先建立一個(gè)stp文件(stpl.stp),,接著進(jìn)行參數(shù)設(shè)置,,如圖4所示。調(diào)入待測信號q[7..0],;采樣時(shí)鐘選為主頻時(shí)鐘信號CLK(50MHz)經(jīng)過分頻后的信號CLK1(100 kHz);在Buffer acquisition mode框中的Circulate欄設(shè)定采樣深度中起始觸發(fā)的位置,,選擇前點(diǎn)觸發(fā)(Pre trigger position),;采樣深度設(shè)為1KB;觸發(fā)級別選擇1,;觸發(fā)信號選擇rst,,在Pattern欄選擇上升沿觸發(fā)方式,。然后連接實(shí)驗(yàn)開板,進(jìn)行編譯下載,。最后單擊SignalTap II面板上的Autorun Analysis按鈕,,啟動SignalTap II進(jìn)行采樣和分析。
在SignalTap II的采樣之前,,要進(jìn)行相關(guān)設(shè)置,,比如要觀察產(chǎn)生的正弦波,先將撥碼開關(guān)12(sel[1..O])設(shè)置為“00”(三角波時(shí)設(shè)置為“01”,,方波是設(shè)置為“10”),,再將撥碼開關(guān)3(rst)由0變?yōu)?,產(chǎn)生一個(gè)上升沿,,作為SignalTap II的采樣觸發(fā)信號,。這時(shí)執(zhí)行Autorun
Analysis,就能在SignalTapII數(shù)據(jù)窗觀察到來自實(shí)驗(yàn)板上FPGA內(nèi)部的實(shí)時(shí)信號,,如圖5所示,。圖中依次為正弦波、三角波和方波數(shù)據(jù),。數(shù)據(jù)窗的上沿坐標(biāo)是采樣深度的二進(jìn)制位數(shù),,全程是1024位。
為了更直觀地看到波形圖,,不需要進(jìn)行數(shù)/模轉(zhuǎn)換,,直接右鍵單擊所要觀察的總線信號名,在彈出的下拉菜單中選擇總線顯示模式“Bus Display Format”為“Line Chart”,,即可獲得如圖6所示的模擬信號波形,。
從圖5、圖6可以看出輸出結(jié)果和設(shè)計(jì)需求是一致的,,驗(yàn)證了設(shè)計(jì)的正確性,。如果采用傳統(tǒng)的硬件測試方法,在本系統(tǒng)中還需要加入D/A轉(zhuǎn)換模塊,,利用示波器觀察波形,。故利用SignalTap II進(jìn)行系統(tǒng)的硬件測試是非常方便的,可以加快系統(tǒng)的開發(fā)流程,。而在整個(gè)工作流程中,,STP文件的參數(shù)設(shè)置是至關(guān)重要的,它直接影響測試結(jié)果,。例如在本系統(tǒng)中,,采樣時(shí)鐘采用分頻后的信號,而不是采用主時(shí)鐘,因?yàn)橹鲿r(shí)鐘頻率太高,,不便于觀察輸出信號,。另外還有觸發(fā)信號的選擇,啟動采樣前開關(guān)的設(shè)置,,都會直接影響輸出信號,。
4 結(jié)論
嵌入式邏輯分析器SignalTap II克服了傳統(tǒng)硬件測試的缺點(diǎn),為系統(tǒng)測試提供了一個(gè)很好的途徑,。它具有實(shí)時(shí)性和可視性,,減少了調(diào)試驗(yàn)證的時(shí)間,加快了設(shè)計(jì)周期,。通過對Cyclone II系列EP2C8Q208C8器件的實(shí)驗(yàn),,證實(shí)該測試手段提高了系統(tǒng)的調(diào)試能力,具有很好的效果,。在調(diào)試FPGA的時(shí)候,,可以設(shè)置多個(gè)嵌入式測量模塊等其他功能,這樣可以加快系統(tǒng)的開發(fā),,為社會帶來更大的經(jīng)濟(jì)效益,。但是它需要占據(jù)FPGA資源(如RAM、LE等),,且資源消耗量與需采集的數(shù)據(jù)量成正比,,因此采集信號的深度不能過大。此外,,當(dāng)利用SignalT印II將芯片中的信號全部測試結(jié)束后,,需將SignalTap II從設(shè)計(jì)中移除,以免浪費(fèi)資源,。