嵌入式邏輯分析儀在FPGA設(shè)計(jì)中的應(yīng)用
1 引言
目前在設(shè)計(jì)和驗(yàn)證超高密度fpga時(shí)一般采用邏輯分析儀、示波器和總線分析儀,通過測(cè)試頭和連接器把信號(hào)送到儀器上,設(shè)計(jì)者必須提供足夠的i/o引腳進(jìn)行全方位的檢測(cè),以及配置足夠的引腳。加入額外的邏輯,以便能選擇信號(hào)來驅(qū)動(dòng)i/o引腳進(jìn)行測(cè)試。這種方法雖能減少測(cè)試時(shí)所需配置的i/o引腳數(shù)量,但步驟繁瑣。此外,隨著fpga復(fù)雜度的增加,i/o引腳大都采用細(xì)間距工藝技術(shù),使得引出i/o引腳變得很困難,本文所介紹的方法是在fpga設(shè)計(jì)中插入邏輯分析核,他具有普通邏輯分析儀的功能,包括觸發(fā)、數(shù)據(jù)采集和存儲(chǔ)等。利用邏輯分析核,用戶可以訪問fpga器件內(nèi)部所有信號(hào)和節(jié)點(diǎn),來自內(nèi)部邏輯電路的信號(hào)可以通過fpga中的高速互連轉(zhuǎn)移到內(nèi)部存儲(chǔ)器。這些信號(hào)以系統(tǒng)時(shí)鐘速率傳送,延遲很小。
altera公司的quartus ⅱ軟件中的signaltap ⅱ就是這樣一種基于邏輯分析核的嵌入式邏輯分析儀,他滿足了fpga開發(fā)中硬件調(diào)試的要求,并且具有無干擾、便于升級(jí)、使用簡(jiǎn)單等特點(diǎn)。
2 signaltap ⅱ 的特點(diǎn)和使用方法
signaltap ⅱ 邏輯分析儀是第二代系統(tǒng)級(jí)調(diào)試工具,能夠獲取、顯示可編程片上系統(tǒng)(sopc)的實(shí)時(shí)信號(hào),幫助設(shè)計(jì)者在其系統(tǒng)設(shè)計(jì)中觀察硬件和軟件的交互作用,在可編程邏輯市場(chǎng)上,上,signaltap ⅱ 邏輯分析儀專用于quartus ⅱ 軟件,與其他嵌入式邏輯分析儀相比,他支持的通道數(shù)最多,抽樣深度最大,時(shí)鐘速率最高。quartus ⅱ 軟件4.0以及以后版本還提供了圖形界面,定義了特定觸發(fā)條件邏輯,實(shí)現(xiàn)更高的精度,解決問題的能力更強(qiáng)。signaltap ⅱ 嵌入式邏輯分析儀不需要對(duì)用戶設(shè)計(jì)文件進(jìn)行任何的外部探測(cè)或者修改,就可以得到內(nèi)部節(jié)點(diǎn)或者i/o引腳的狀態(tài),目前signaltap ⅱ 邏輯分析儀支持的器件系列包括:stratix ⅱ,stratix,stratix gx,cyclone ⅱ,cyclone,apex ⅱ,apex 20ke,apex 20kc,apex 20k,excalibur和mercury。
在設(shè)計(jì)中嵌入signaltap ⅱ邏輯分析儀有2種方法:第一種方法是建立一個(gè)signaltap ⅱ(.stp),然后定義stp文件的詳細(xì)內(nèi)容;第二種方法是用mega wizard plun-in manager建立并配置stp文件,然后用mega wizard實(shí)例化一個(gè)hdl輸出模塊,圖1給出了用這兩種方法建立和使用signaltap ⅱ邏輯分析儀的過程。
圖2所示為signaltap ⅱ的編輯窗,以此介紹設(shè)置signaltap ⅱ文件的基本流程。
設(shè)置采樣時(shí)鐘 采樣時(shí)鐘決定了顯示信號(hào)波形的分辨率。采樣時(shí)鐘在上升沿處采集數(shù)據(jù),建議最好使用全局時(shí)鐘而不要使用門控時(shí)鐘作為采樣時(shí)鐘。
設(shè)置被測(cè)信號(hào) 可以使用node finder中的filter查找所有綜合和布局布線的signaltap ⅱ節(jié)點(diǎn),添加要觀察的信號(hào),邏輯分析儀不可測(cè)試的信號(hào)包括:邏輯單元的進(jìn)位信號(hào)、pll的時(shí)鐘輸出、jtag引腳信號(hào)、lvds(低壓差分)信號(hào)。
設(shè)置采樣深度 存儲(chǔ)每一個(gè)信號(hào)所需要的采樣數(shù),采樣深度的范圍從0-128kb。設(shè)置buffer acquisition mode buffer acquisition mode包括的circular和segmented兩種模式,每當(dāng)觸發(fā)條件滿足使就捕獲一段數(shù)據(jù),該功能可以去掉無關(guān)的數(shù)據(jù),使采樣緩存的使用更加靈活。
觸發(fā)級(jí)數(shù) signaltap ⅱ支持多級(jí)觸發(fā)的觸發(fā)方式。,最多可支持10級(jí)觸發(fā)。
觸發(fā)類型 可以選擇basic和advanced兩種類型,如果選擇basic,在stp文件中必須為每個(gè)信號(hào)設(shè)置觸發(fā)模式,signaltap ⅱ邏輯分析儀中有6種觸發(fā)模式可供選擇;如果選擇advanced,則設(shè)計(jì)者必須為邏輯分析儀建立觸發(fā)條件表達(dá)式。
3 實(shí)例分析
本文以一個(gè)正弦信號(hào)發(fā)生器為例,具體說明使用嵌入式邏輯分析儀進(jìn)行實(shí)時(shí)測(cè)試的具體過程,本文的設(shè)計(jì)實(shí)例是基于altera公司cyclone系列的ep1c6q240c8。
圖3是正弦信號(hào)發(fā)生器的結(jié)構(gòu)圖,其頂層設(shè)計(jì)文件由vhdl語言設(shè)計(jì)完成,及設(shè)計(jì)包含2個(gè)部分:rom的地址信號(hào)發(fā)生器,由6位計(jì)數(shù)器擔(dān)任;一個(gè)正弦數(shù)據(jù)rom,由lpm_rom模塊構(gòu)造,lpm_rom底層是fpga的eab,esb和m4k等模塊,地址發(fā)生器的時(shí)鐘clk的輸入頻率f0與每個(gè)周期的波形數(shù)據(jù)點(diǎn)數(shù)(以64點(diǎn)為例)以及d/a輸出的頻率關(guān)系是:f=f0/64,硬件描述語言設(shè)計(jì)的正弦信號(hào)發(fā)生器所對(duì)應(yīng)的rtl電路圖如圖4所示。
根據(jù)上述signaltap ⅱ的使用步驟,首先調(diào)入待測(cè)信號(hào),這里,選擇2組信號(hào):8位輸出總線信號(hào)dout和地址發(fā)生計(jì)數(shù)器內(nèi)部鎖存器總線q1信號(hào),對(duì)signaltap ⅱ的參數(shù)進(jìn)行設(shè)置,邏輯分析儀的采集時(shí)鐘選為工程的主頻時(shí)鐘信號(hào)clk,采樣深度設(shè)為1kb,根據(jù)待觀察信號(hào)的要求,在buffer acquisition mode框中的circulate欄設(shè)定采樣深度中起始觸發(fā)的位置,最后選擇觸發(fā)信號(hào)和觸發(fā)方式,根據(jù)實(shí)際的設(shè)計(jì)要求,在trigger框中的trigger欄選擇1;選中trigger前面的復(fù)選框,并在source欄選擇觸發(fā)信號(hào),在此選擇地址計(jì)數(shù)器的最高位q1[5]作為觸發(fā)信號(hào),在pattern欄選擇上升沿觸發(fā)方式。
外部實(shí)驗(yàn)開發(fā)系統(tǒng)連接好,進(jìn)行編譯下載,單擊signaltap ⅱ面板上的autorun analysis按鈕,啟動(dòng)signaltap ⅱ進(jìn)行采樣和分析,這時(shí)就可以從signaltap ⅱ數(shù)據(jù)窗通過jtag口觀察到來自實(shí)驗(yàn)板上fpga內(nèi)部的實(shí)時(shí)信號(hào),該實(shí)例的輸出信號(hào)如圖5所示。
4 結(jié)語
通過以上實(shí)例,不難發(fā)現(xiàn)采用altera公司的signaltap ⅱ嵌入式邏輯分析儀為芯片測(cè)試提供了一個(gè)很好的途徑可以大大降低設(shè)計(jì)成本,加快設(shè)計(jì)周期。用戶無需外接專用儀器,就可以通過fpga器件內(nèi)部所有信號(hào)和節(jié)點(diǎn)的捕獲對(duì)系統(tǒng)故障進(jìn)行分析和判斷,需要注意的是,signaltap
ⅱ嵌入式邏輯分析需工作在jtag方式,在調(diào)試完成后,需將signaltap ⅱ移除設(shè)計(jì),以免浪費(fèi)資源??梢灶A(yù)見,signaltap
ⅱ嵌入式邏輯分析儀必將在fpga設(shè)計(jì)中獲得廣泛應(yīng)用。
評(píng)論