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