嵌入式邏輯分析儀在FPGA設計中的應用
1 引言
目前在設計和驗證超高密度f(wàn)pga時(shí)一般采用邏輯分析儀、示波器和總線(xiàn)分析儀,通過(guò)測試頭和連接器把信號送到儀器上,設計者必須提供足夠的i/o引腳進(jìn)行全方位的檢測,以及配置足夠的引腳。加入額外的邏輯,以便能選擇信號來(lái)驅動(dòng)i/o引腳進(jìn)行測試。這種方法雖能減少測試時(shí)所需配置的i/o引腳數量,但步驟繁瑣。此外,隨著(zhù)fpga復雜度的增加,i/o引腳大都采用細間距工藝技術(shù),使得引出i/o引腳變得很困難,本文所介紹的方法是在fpga設計中插入邏輯分析核,他具有普通邏輯分析儀的功能,包括觸發(fā)、數據采集和存儲等。利用邏輯分析核,用戶(hù)可以訪(fǎng)問(wèn)fpga器件內部所有信號和節點(diǎn),來(lái)自?xún)炔窟壿嬰娐返男盘柨梢酝ㄟ^(guò)fpga中的高速互連轉移到內部存儲器。這些信號以系統時(shí)鐘速率傳送,延遲很小。
altera公司的quartus ⅱ軟件中的signaltap ⅱ就是這樣一種基于邏輯分析核的嵌入式邏輯分析儀,他滿(mǎn)足了fpga開(kāi)發(fā)中硬件調試的要求,并且具有無(wú)干擾、便于升級、使用簡(jiǎn)單等特點(diǎn)。
2 signaltap ⅱ 的特點(diǎn)和使用方法
signaltap ⅱ 邏輯分析儀是第二代系統級調試工具,能夠獲取、顯示可編程片上系統(sopc)的實(shí)時(shí)信號,幫助設計者在其系統設計中觀(guān)察硬件和軟件的交互作用,在可編程邏輯市場(chǎng)上,上,signaltap ⅱ 邏輯分析儀專(zhuān)用于quartus ⅱ 軟件,與其他嵌入式邏輯分析儀相比,他支持的通道數最多,抽樣深度最大,時(shí)鐘速率最高。quartus ⅱ 軟件4.0以及以后版本還提供了圖形界面,定義了特定觸發(fā)條件邏輯,實(shí)現更高的精度,解決問(wèn)題的能力更強。signaltap ⅱ 嵌入式邏輯分析儀不需要對用戶(hù)設計文件進(jìn)行任何的外部探測或者修改,就可以得到內部節點(diǎn)或者i/o引腳的狀態(tài),目前signaltap ⅱ 邏輯分析儀支持的器件系列包括:stratix ⅱ,stratix,stratix gx,cyclone ⅱ,cyclone,apex ⅱ,apex 20ke,apex 20kc,apex 20k,excalibur和mercury。
在設計中嵌入signaltap ⅱ邏輯分析儀有2種方法:第一種方法是建立一個(gè)signaltap ⅱ(.stp),然后定義stp文件的詳細內容;第二種方法是用mega wizard plun-in manager建立并配置stp文件,然后用mega wizard實(shí)例化一個(gè)hdl輸出模塊,圖1給出了用這兩種方法建立和使用signaltap ⅱ邏輯分析儀的過(guò)程。

圖2所示為signaltap ⅱ的編輯窗,以此介紹設置signaltap ⅱ文件的基本流程。

設置采樣時(shí)鐘 采樣時(shí)鐘決定了顯示信號波形的分辨率。采樣時(shí)鐘在上升沿處采集數據,建議最好使用全局時(shí)鐘而不要使用門(mén)控時(shí)鐘作為采樣時(shí)鐘。
設置被測信號 可以使用node finder中的filter查找所有綜合和布局布線(xiàn)的signaltap ⅱ節點(diǎn),添加要觀(guān)察的信號,邏輯分析儀不可測試的信號包括:邏輯單元的進(jìn)位信號、pll的時(shí)鐘輸出、jtag引腳信號、lvds(低壓差分)信號。
設置采樣深度 存儲每一個(gè)信號所需要的采樣數,采樣深度的范圍從0-128kb。設置buffer acquisition mode buffer acquisition mode包括的circular和segmented兩種模式,每當觸發(fā)條件滿(mǎn)足使就捕獲一段數據,該功能可以去掉無(wú)關(guān)的數據,使采樣緩存的使用更加靈活。
觸發(fā)級數 signaltap ⅱ支持多級觸發(fā)的觸發(fā)方式。,最多可支持10級觸發(fā)。
觸發(fā)類(lèi)型 可以選擇basic和advanced兩種類(lèi)型,如果選擇basic,在stp文件中必須為每個(gè)信號設置觸發(fā)模式,signaltap ⅱ邏輯分析儀中有6種觸發(fā)模式可供選擇;如果選擇advanced,則設計者必須為邏輯分析儀建立觸發(fā)條件表達式。
3 實(shí)例分析
本文以一個(gè)正弦信號發(fā)生器為例,具體說(shuō)明使用嵌入式邏輯分析儀進(jìn)行實(shí)時(shí)測試的具體過(guò)程,本文的設計實(shí)例是基于altera公司cyclone系列的ep1c6q240c8。
圖3是正弦信號發(fā)生器的結構圖,其頂層設計文件由vhdl語(yǔ)言設計完成,及設計包含2個(gè)部分:rom的地址信號發(fā)生器,由6位計數器擔任;一個(gè)正弦數據rom,由lpm_rom模塊構造,lpm_rom底層是fpga的eab,esb和m4k等模塊,地址發(fā)生器的時(shí)鐘clk的輸入頻率f0與每個(gè)周期的波形數據點(diǎn)數(以64點(diǎn)為例)以及d/a輸出的頻率關(guān)系是:f=f0/64,硬件描述語(yǔ)言設計的正弦信號發(fā)生器所對應的rtl電路圖如圖4所示。


根據上述signaltap ⅱ的使用步驟,首先調入待測信號,這里,選擇2組信號:8位輸出總線(xiàn)信號dout和地址發(fā)生計數器內部鎖存器總線(xiàn)q1信號,對signaltap ⅱ的參數進(jìn)行設置,邏輯分析儀的采集時(shí)鐘選為工程的主頻時(shí)鐘信號clk,采樣深度設為1kb,根據待觀(guān)察信號的要求,在buffer acquisition mode框中的circulate欄設定采樣深度中起始觸發(fā)的位置,最后選擇觸發(fā)信號和觸發(fā)方式,根據實(shí)際的設計要求,在trigger框中的trigger欄選擇1;選中trigger前面的復選框,并在source欄選擇觸發(fā)信號,在此選擇地址計數器的最高位q1[5]作為觸發(fā)信號,在pattern欄選擇上升沿觸發(fā)方式。
外部實(shí)驗開(kāi)發(fā)系統連接好,進(jìn)行編譯下載,單擊signaltap ⅱ面板上的autorun analysis按鈕,啟動(dòng)signaltap ⅱ進(jìn)行采樣和分析,這時(shí)就可以從signaltap ⅱ數據窗通過(guò)jtag口觀(guān)察到來(lái)自實(shí)驗板上fpga內部的實(shí)時(shí)信號,該實(shí)例的輸出信號如圖5所示。

4 結語(yǔ)
通過(guò)以上實(shí)例,不難發(fā)現采用altera公司的signaltap ⅱ嵌入式邏輯分析儀為芯片測試提供了一個(gè)很好的途徑可以大大降低設計成本,加快設計周期。用戶(hù)無(wú)需外接專(zhuān)用儀器,就可以通過(guò)fpga器件內部所有信號和節點(diǎn)的捕獲對系統故障進(jìn)行分析和判斷,需要注意的是,signaltap
ⅱ嵌入式邏輯分析需工作在jtag方式,在調試完成后,需將signaltap ⅱ移除設計,以免浪費資源??梢灶A見(jiàn),signaltap
ⅱ嵌入式邏輯分析儀必將在fpga設計中獲得廣泛應用。
評論