[推薦]嵌入式邏輯分析儀在FPGA測(cè)試中的應(yīng)用(圖)
邏輯分析儀自1973年問世以來,在短短幾十年的時(shí)間內(nèi)得到了迅速的發(fā)展。傳統(tǒng)邏輯分析儀利用芯片的引腳對(duì)信號(hào)采樣,并送到顯示部分對(duì)系統(tǒng)進(jìn)行分析,但對(duì)于無引腳的封裝類型,傳統(tǒng)邏輯分析儀很難有效的監(jiān)測(cè)系統(tǒng)內(nèi)部信號(hào)。而在FPGA測(cè)試中,嵌入式邏輯分析儀(ELA)的出現(xiàn)解決了內(nèi)部信號(hào)的在線調(diào)試問題。ELA綜合了嵌入式技術(shù)和邏輯分析儀技術(shù),將邏輯分析IP核嵌入到FPGA中,在不引出內(nèi)部信號(hào)的情況下即可方便的對(duì)系統(tǒng)進(jìn)行調(diào)試。常用的嵌入式邏輯分析儀有Altera公司的SignalTap II、Xilinx公司的ChipScope Pro以及Lattice公司的ispTRACY等。本文以Altera公司的SignalTap II為例,對(duì)嵌入式邏輯分析儀的工作原理及在線調(diào)試進(jìn)行探討。
ELA的工作原理及特點(diǎn)
嵌入式邏輯分析儀的組成框圖如圖1所示,主要分為硬件部分和軟件部分。硬件部分由待測(cè)設(shè)計(jì)(DUT)、嵌入到FPGA中的ELA IP核、RAM存儲(chǔ)單元以及JTAG接口組成;軟件部分由用戶設(shè)計(jì)軟件和集成在其中的ELA在線調(diào)試軟件組成。ELA的工作原理為:設(shè)置ELA在線調(diào)試軟件中需要監(jiān)測(cè)的信號(hào)、觸發(fā)邏輯、采樣深度和時(shí)鐘信號(hào)等各項(xiàng)參數(shù);把設(shè)置好的ELA文件與用戶設(shè)計(jì)編譯綜合后一起下載到FPGA中;運(yùn)行ELA,如果滿足觸發(fā)條件,ELA就在時(shí)鐘的上升沿對(duì)被測(cè)信號(hào)采樣,并儲(chǔ)存在RAM存儲(chǔ)單元中;當(dāng)采樣完數(shù)據(jù),即可通過JTAG接口將數(shù)據(jù)上傳到SignalTap II中進(jìn)行在線調(diào)試。
圖1 嵌入式邏輯分析儀的組成框圖
嵌入式邏輯分析儀能夠方便地對(duì)設(shè)計(jì)進(jìn)行在線調(diào)試,及時(shí)發(fā)現(xiàn)系統(tǒng)內(nèi)部所存在的問題,無須對(duì)設(shè)計(jì)文件進(jìn)行任何修改就可以得到內(nèi)部節(jié)點(diǎn)或者I/O引腳的狀態(tài)。例如,SignalTap II 支持多達(dá)1024個(gè)通道,采樣深度高達(dá)128Kb,時(shí)鐘支持超過200MHz,每個(gè)分析儀均有10級(jí)觸發(fā)輸入/輸出,從而增加了采樣的精度。
嵌入式邏輯分析儀在FPGA的測(cè)試中應(yīng)用極為廣泛,能夠?qū)ο到y(tǒng)實(shí)時(shí)監(jiān)測(cè)。本文以交通燈控制器的設(shè)計(jì)為例,對(duì)SignalTap II應(yīng)用于FPGA的在線調(diào)試進(jìn)行了探討。設(shè)計(jì)中所使用的FPGA芯片為Altera公司Cyclone系列中的EP1C12Q240C8,它支持SignalTap II,有12 060個(gè)邏輯單元,存儲(chǔ)位的大小為239 616,能夠較好的支持各種復(fù)雜的設(shè)計(jì)。
ELA的應(yīng)用設(shè)計(jì)流程如下。
1 Stp文件的創(chuàng)建
在交通燈控制器的設(shè)計(jì)完成并編譯綜合后,即可創(chuàng)建一個(gè)SignalTap II文件(stp文件)。通常有兩種方式來建立stp文件,一是直接建立stp文件,并利用SignalTap II Editor配置邏輯分析儀的各項(xiàng)參數(shù);二是利用MegaWizard Plug-in Manager生成和配置stp文件。相比于第二種方式,第一種更為簡(jiǎn)單,只需在File中選擇New,單擊Other Files,選擇SignalTap II File即可,如圖2所示。
圖2 Stp文件的載入
2 ELA的設(shè)置
將stp文件加入到設(shè)計(jì)中后,就可以對(duì)其進(jìn)行設(shè)置,流程如下。
①添加被測(cè)信號(hào)。通過Node Finder中的SignalTap II Filter查找設(shè)計(jì)中所有預(yù)綜合和布局布線后的信號(hào),選擇需要觀察的信號(hào),在本設(shè)計(jì)中,可以全部選定。
②設(shè)置采樣時(shí)鐘。在設(shè)置采樣時(shí)鐘時(shí),可以使用其中任何一個(gè)信號(hào)作為采樣時(shí)鐘,但不能用布局布線后的信號(hào),為獲得更準(zhǔn)確的采樣數(shù)據(jù),采樣時(shí)鐘應(yīng)選擇全局時(shí)鐘。
③確定采樣深度。SignalTap II的采樣深度最大可達(dá)128Kb。在選擇采樣深度時(shí),必須考慮到FPGA的內(nèi)存大小,此處選擇1Kb的采樣深度。
④設(shè)置緩沖獲得模式。通過設(shè)置緩沖獲得模式,用戶可以指定在SignalTap II觸發(fā)前和觸發(fā)后所捕獲的數(shù)據(jù)量,緩沖獲得模式主要有環(huán)形模式和分段緩沖模式。在此選擇環(huán)形模式的預(yù)觸發(fā)位置。
⑤設(shè)置觸發(fā)條件。SignalTap II支持基本觸發(fā)和高級(jí)觸發(fā)的功能。在基本觸發(fā)中,它支持10級(jí)觸發(fā)級(jí)數(shù),對(duì)于每一級(jí)觸發(fā),可以根據(jù)設(shè)計(jì)的需要設(shè)置不同的觸發(fā)電平。
本設(shè)計(jì)對(duì)SignalTap II的設(shè)置如圖3所示,其中采樣深度為1Kb,緩沖獲得模式選擇環(huán)形模式的預(yù)觸發(fā)位置,觸發(fā)條件為基本觸發(fā);此外,采樣時(shí)鐘選擇為全局時(shí)鐘。這些設(shè)置能夠準(zhǔn)確地對(duì)本設(shè)計(jì)進(jìn)行在線調(diào)試,有效地監(jiān)測(cè)內(nèi)部信號(hào)。
圖3 SignalTap II設(shè)置窗口
3 設(shè)計(jì)下載
當(dāng)設(shè)置完stp文件并編譯綜合后,軟件將ELA IP嵌入設(shè)計(jì)里面,同設(shè)計(jì)一起下載到FPGA中。在器件列表中,邏輯分析儀會(huì)自動(dòng)探測(cè)編程硬件,如果在保存設(shè)計(jì)前已經(jīng)選好了FPGA中所使用的芯片,就會(huì)自動(dòng)給出已經(jīng)選好的器件,若沒有選擇,則需要在器件列表中選擇。當(dāng)器件連接成功,在SOF(SRAM Object File)管理器中選擇需要下載的SOF文件,單擊下載按鈕即可將設(shè)計(jì)下載到FPGA中,如圖4所示。
圖4 設(shè)計(jì)下載窗口
4 在線調(diào)試
在線調(diào)試即利用JTAG接口將數(shù)據(jù)上傳到調(diào)試軟件中,根據(jù)實(shí)時(shí)運(yùn)行的結(jié)果來對(duì)設(shè)計(jì)進(jìn)行調(diào)試。本設(shè)計(jì)所實(shí)現(xiàn)的功能是在時(shí)鐘信號(hào)的控制下,根據(jù)當(dāng)前的狀態(tài)決定下一個(gè)時(shí)鐘周期的輸出,即紅燈、綠燈和黃燈的開啟。在綠燈開啟時(shí),紅燈和黃燈關(guān)閉,而在紅燈開啟時(shí),綠燈及黃燈關(guān)閉。兩組紅、綠、黃燈為輸出信號(hào),8個(gè)狀態(tài)為內(nèi)部信號(hào)。
圖5 SignalTap II數(shù)據(jù)窗的實(shí)時(shí)監(jiān)測(cè)信號(hào)
設(shè)計(jì)中所得到的波形如圖5所示,從圖5中可以看出,對(duì)于第一組燈,在state.st3時(shí),黃燈開啟,綠燈及紅燈都關(guān)閉,一個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st4,黃燈關(guān)閉,同時(shí)紅燈開啟;四個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st0,紅燈關(guān)閉,同時(shí)綠燈開啟,黃燈繼續(xù)關(guān)閉;三個(gè)時(shí)鐘周期后,再次跳轉(zhuǎn)到state.st3,黃燈開啟,綠燈關(guān)閉;一個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st4,黃燈關(guān)閉,紅燈開啟。對(duì)于第二組,其紅綠燈的轉(zhuǎn)換也是一樣的不斷循環(huán),這樣就實(shí)現(xiàn)了紅綠黃燈的交替變化。
在線調(diào)試得到的波形與交通燈控制器設(shè)計(jì)中所要求的功能完全吻合,在上述調(diào)試過程中,嵌入式邏輯分析儀對(duì)內(nèi)部的8個(gè)狀態(tài)能夠很好的監(jiān)測(cè),保證了設(shè)計(jì)的正確。
在調(diào)試過程中,用戶可以很方便的開始或暫停ELA,對(duì)內(nèi)部信號(hào)進(jìn)行分析。如果需要修改設(shè)置,如采樣深度或觸發(fā)條件,只需停止運(yùn)行ELA,完成修改后重新編譯綜合即可,縮短了調(diào)試時(shí)間。
評(píng)論