簡(jiǎn)述嵌入式邏輯分析儀在FPGA測(cè)試中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
邏輯分析儀是利用時(shí)鐘從測(cè)試設(shè)備上采集和顯示數(shù)字信號(hào)的儀器,最主要作用在于時(shí)序判定。由于邏輯分析儀不像示波器那樣有許多電壓等級(jí),通常只顯示兩個(gè)電壓(邏輯1和0),因此設(shè)定了參考電壓后,邏輯分析儀將被測(cè)信號(hào)通過(guò)比較器進(jìn)行判定,高于參考電壓者為High,低于參考電壓者為L(zhǎng)ow,在High與Low之間形成數(shù)字波形。邏輯分析儀與示波器相同,是通過(guò)采集指定的信號(hào),并通過(guò)圖形化的方式展示給開(kāi)發(fā)人員,開(kāi)發(fā)人員根據(jù)這些圖形化信號(hào)按照協(xié)議分析出是否出錯(cuò)。盡管圖形化的顯示已經(jīng)給開(kāi)發(fā)人員帶來(lái)不少的方便,但是人工將一串串信號(hào)分析出來(lái)不僅麻煩而且極易出錯(cuò)。在這個(gè)科技高速發(fā)展的社會(huì),一切都在追求高效率。自動(dòng)化、智能化已經(jīng)成為協(xié)議分析的發(fā)展方向。在這個(gè)思想的指引下各種測(cè)試儀器的協(xié)議分析功能出現(xiàn)并發(fā)展起來(lái)。目前大多數(shù)開(kāi)發(fā)人員通過(guò)邏輯分析儀等測(cè)試工具的協(xié)議分析功能可以很輕松的發(fā)現(xiàn)錯(cuò)誤、調(diào)試硬件、加快開(kāi)發(fā)進(jìn)度,為高速度、高質(zhì)量完成工程提供保障。邏輯分析儀的工作過(guò)程就是數(shù)據(jù)采集、存儲(chǔ)、觸發(fā)、顯示的過(guò)程,由于它采用數(shù)字存儲(chǔ)技術(shù),可將數(shù)據(jù)采集工作和顯示工作分開(kāi)進(jìn)行,也可同時(shí)進(jìn)行,必要時(shí),對(duì)存儲(chǔ)的數(shù)據(jù)可以反復(fù)進(jìn)行顯示,以利于對(duì)問(wèn)題的分析和研究。
ELA的工作原理及特點(diǎn)
一個(gè)嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對(duì)象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡(jiǎn)單,如手機(jī)上的一個(gè)微小型的電機(jī),當(dāng)手機(jī)處于震動(dòng)接收狀態(tài)時(shí)打開(kāi);也可以很復(fù)雜,如SONY智能機(jī)器狗,上面集成了多個(gè)微小型控制電機(jī)和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動(dòng)作和感受各種狀態(tài)信息。嵌入式邏輯分析儀的組成框圖如圖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ǔ)單元中。
圖1嵌入式邏輯分析儀的組成框圖
嵌入式邏輯分析儀能夠方便地對(duì)設(shè)計(jì)進(jìn)行在線調(diào)試,及時(shí)發(fā)現(xiàn)系統(tǒng)內(nèi)部所存在的問(wèn)題,無(wú)須對(duì)設(shè)計(jì)文件進(jìn)行任何修改就可以得到內(nèi)部節(jié)點(diǎn)或者I/O引腳的狀態(tài)。例如,SignalTap II支持多達(dá)1024個(gè)通道,采樣深度高達(dá)128Kb,時(shí)鐘支持超過(guò)200MHz,每個(gè)分析儀均有10級(jí)觸發(fā)輸入/輸出,從而增加了采樣的精度。
ELA在FPGA測(cè)試中的應(yīng)用
嵌入式邏輯分析儀在FPGA的測(cè)試中應(yīng)用極為廣泛,能夠?qū)ο到y(tǒng)實(shí)時(shí)監(jiān)測(cè)。設(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文件)。通常有兩種方式來(lái)建立stp文件,一是直接建立stp文件,并利用SignalTap II Editor配置邏輯分析儀的各項(xiàng)參數(shù);二是利用MegaWizard Plug-in Manager生成和配置stp文件。如圖2所示。
圖2 Stp文件的載入
2 ELA的設(shè)置
將stp文件加入到設(shè)計(jì)中后,就可以對(duì)其進(jìn)行設(shè)置,流程如下。
①添加被測(cè)信號(hào)。通過(guò)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è)置緩沖獲得模式。通過(guò)設(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)選好的器件,若沒(méi)有選擇,則需要在器件列表中選擇。當(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é)果來(lái)對(duì)設(shè)計(jì)進(jìn)行調(diào)試。本設(shè)計(jì)所實(shí)現(xiàn)的功能是在時(shí)鐘信號(hào)的控制下,根據(jù)當(dāng)前的狀態(tài)決定下一個(gè)時(shí)鐘周期的輸出,即紅燈、綠燈和黃燈的開(kāi)啟。
圖5 SignalTap II數(shù)據(jù)窗的實(shí)時(shí)監(jiān)測(cè)信號(hào)
設(shè)計(jì)中所得到的波形如圖5所示,從圖5中可以看出,對(duì)于第一組燈,在state.st3時(shí),黃燈開(kāi)啟,綠燈及紅燈都關(guān)閉,一個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st4,黃燈關(guān)閉,同時(shí)紅燈開(kāi)啟;四個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st0,紅燈關(guān)閉,同時(shí)綠燈開(kāi)啟,黃燈繼續(xù)關(guān)閉;三個(gè)時(shí)鐘周期后,再次跳轉(zhuǎn)到state.st3,黃燈開(kāi)啟,綠燈關(guān)閉;一個(gè)時(shí)鐘周期后,跳轉(zhuǎn)到state.st4,黃燈關(guān)閉,紅燈開(kāi)啟。對(duì)于第二組,其紅綠燈的轉(zhuǎn)換也是一樣的不斷循環(huán),這樣就實(shí)現(xiàn)了紅綠黃燈的交替變化。
在線調(diào)試得到的波形與交通燈控制器設(shè)計(jì)中所要求的功能完全吻合,在上述調(diào)試過(guò)程中,嵌入式邏輯分析儀對(duì)內(nèi)部的8個(gè)狀態(tài)能夠很好的監(jiān)測(cè),保證了設(shè)計(jì)的正確。
在調(diào)試過(guò)程中,用戶可以很方便的開(kāi)始或暫停ELA,對(duì)內(nèi)部信號(hào)進(jìn)行分析。如果需要修改設(shè)置,如采樣深度或觸發(fā)條件,只需停止運(yùn)行ELA,完成修改后重新編譯綜合即可,縮短了調(diào)試時(shí)間。