基于FPGA系統(tǒng)易測(cè)試性的研究
外部邏輯分析儀探測(cè)要比嵌入式邏輯分析儀方法要求的探測(cè)復(fù)雜一些。必須確定怎樣使用邏輯分析儀探頭探測(cè)FPGA內(nèi)部信號(hào),而不能使用電路板上已有的JTAG連接器。最簡(jiǎn)便的方式是在電路板中增加一個(gè)測(cè)試連接器,這可以簡(jiǎn)便地把FPGA信號(hào)與系統(tǒng)中的其他信號(hào)關(guān)聯(lián)起來(lái)。
3.3 成本與靈活性
盡管外部邏輯分析儀的購(gòu)買(mǎi)價(jià)格確實(shí)要高于嵌入式邏輯分析儀,但使用外部邏輯分析儀可以解決更加廣泛的問(wèn)題。邏輯分析儀不僅可以用于FPGA調(diào)試,還可以用來(lái)解決其他數(shù)字設(shè)計(jì)挑戰(zhàn),它被公認(rèn)為是進(jìn)行通用數(shù)字系統(tǒng)硬件調(diào)試的最佳工具。外部邏輯分析儀能夠?qū)崿F(xiàn)更加靈活的采集模式和觸發(fā)功能。通過(guò)外部邏輯分析儀,可以設(shè)置最多16個(gè)不同的觸發(fā)狀態(tài)(每一個(gè)狀態(tài)含有16個(gè)條件判斷分支),每一個(gè)通道提供256 MB的內(nèi)存,并且可以在定時(shí)分析模式下以高達(dá)125 ps的分辨率(8 GS/s采樣) 捕獲數(shù)據(jù)。
4 FPGAView進(jìn)行FPGA調(diào)試
外部邏輯分析儀方法有效地利用了FPGA的處理能力,并根據(jù)需要重新對(duì)設(shè)備配置,將有用的內(nèi)部信號(hào)路由到通常很少的針腳上。這是一種非常有用的方法,但它也有一定的局限性:用戶(hù)每次需要查看一套不同的內(nèi)部信號(hào)時(shí),都必須改變?cè)O(shè)計(jì)(在RTL級(jí)或使用FPGA編輯器工具),把希望的信號(hào)組路由到調(diào)試針腳上。這不僅耗時(shí),而且如果要求重新匯編設(shè)計(jì),還會(huì)改變?cè)O(shè)計(jì)的定時(shí),可能會(huì)隱藏需要解決的問(wèn)題。當(dāng)更改FPGA內(nèi)部測(cè)試信號(hào)時(shí),在外部邏輯分析儀上的被測(cè)信號(hào)名稱(chēng)需要手工進(jìn)行更新。一般說(shuō)來(lái),調(diào)試針腳數(shù)量很少,內(nèi)部信號(hào)與調(diào)試針腳之間1:1的關(guān)系限制著設(shè)計(jì)查看能力和洞察力。為克服這些局限性,出現(xiàn)了一種新的FPGA調(diào)試方法,它不僅提供了外部邏輯分析儀方法的所有優(yōu)勢(shì),還消除了主要局限性。FPGAView軟件在與泰克TLA系列邏輯分析儀配套使用時(shí),為調(diào)試FPGA和周邊硬件電路提供了一個(gè)完整的解決方案,如圖2所示。
這種組合可以時(shí)間關(guān)聯(lián)的查看FPGA的內(nèi)部活動(dòng)和外部活動(dòng);迅速改變FPGA內(nèi)部探點(diǎn),而無(wú)須重新匯編設(shè)計(jì);每個(gè)針腳監(jiān)測(cè)多個(gè)內(nèi)部信號(hào);在TLA邏輯分析儀上自動(dòng)更新切換的內(nèi)部信號(hào)名稱(chēng)。此外,F(xiàn)PGAView可以在一臺(tái)設(shè)備中處理多個(gè)測(cè)試內(nèi)核(適合監(jiān)測(cè)不同的時(shí)鐘域),并可以在一個(gè)JTAG鏈上處理多臺(tái)FPGA設(shè)備。
5 快速使用FPGAView
使用FPGAView的步驟如下所述:
(1)插入內(nèi)核
這步是配置測(cè)試內(nèi)核,把它插入到FPGA設(shè)計(jì)中。例如,在使用Altera或Xilinx器件時(shí),可以使用FPGA開(kāi)發(fā)工具提供的邏輯分析儀接口編輯器,創(chuàng)建最適合自己需求的測(cè)試核。
對(duì)大多數(shù)的測(cè)試內(nèi)核,可以指定下述參數(shù):
①針腳數(shù)量(pin count):表示希望專(zhuān)用于邏輯分析儀接口的針腳數(shù)量;
②組數(shù)(bank count):表示希望映射到每個(gè)針腳上的內(nèi)部信號(hào)數(shù)量;
③輸出/捕獲模式(output/capture mode):選擇希望執(zhí)行的采集類(lèi)型;可以選擇組合邏輯/定時(shí)模式(combina-tion/timing)或寄存器/狀態(tài)模式(registered/state);
④時(shí)鐘(clock):如果用戶(hù)選擇了registered/state的捕獲模式,這一選項(xiàng)允許選擇測(cè)試內(nèi)核的取樣時(shí)鐘;
⑤通電狀態(tài)(power-up state):這個(gè)參數(shù)允許指明用于邏輯分析儀接口的針腳的通電狀態(tài)。
(2) 把測(cè)試內(nèi)核信息加載到FPGAView中
從FPGAView軟件窗口中,可以與JTAG編程電纜建立連接,并且連接到TLA系列邏輯分析儀(TLA邏輯分析儀使用Windows平臺(tái))或PC工作站上。
在使用ALTERA FPGA芯片時(shí),按打開(kāi)(Open)工具條按鈕,調(diào)出一個(gè)文件瀏覽器,選擇QuartusⅡLAI Editor軟件以前生成的邏輯分析儀接口(.lai)文件。這樣就加載了與LAI核心有關(guān)的所有信息,包括每一組的信號(hào)數(shù)量、組數(shù)和信號(hào)名稱(chēng),另外如果設(shè)備中的LAI內(nèi)核多于一個(gè),那么還包括每個(gè)LAI內(nèi)核的信息。
(3) 把FPGA針腳映射到邏輯分析儀上
映射FPGA針腳和TLA邏輯分析儀探頭之間的物理連接。FPGAView可以自動(dòng)更新邏輯分析儀上顯示的信號(hào)名稱(chēng),與測(cè)試內(nèi)核當(dāng)前監(jiān)測(cè)的信號(hào)相匹配。為此,簡(jiǎn)單地點(diǎn)擊探頭(probes)按鈕,將出現(xiàn)一個(gè)拖放窗口,把測(cè)試內(nèi)核輸出信號(hào)名稱(chēng)與邏輯分析儀上的相應(yīng)通道連接起來(lái)。對(duì)某條目標(biāo)連接,這個(gè)通道分配過(guò)程只需一次。
(4) 進(jìn)行測(cè)量
使用組(bank)列表下拉菜單,選擇想要測(cè)量的組。一旦選擇了組,F(xiàn)PGAView會(huì)通過(guò)JTAG接口與FPGA通信,并配置測(cè)試內(nèi)核,以便選擇希望的組。
FPGAView還將這些通道名稱(chēng)通過(guò)對(duì)TLA系列邏輯分析儀的控制進(jìn)行自動(dòng)分配,從而可以簡(jiǎn)便地理解測(cè)量結(jié)果。為測(cè)量不同的一套內(nèi)部信號(hào),用戶(hù)只需選擇不同的信號(hào)組。全功能TLA系列邏輯分析儀會(huì)自動(dòng)地把這些FPGA信號(hào)與系統(tǒng)中的其他信號(hào)關(guān)聯(lián)起來(lái)。
在TLA邏輯分析儀中,針對(duì)設(shè)計(jì)人員關(guān)心的各種時(shí)間信息,提供了業(yè)內(nèi)獨(dú)有的定時(shí)參數(shù)自動(dòng)測(cè)量功能,通過(guò)鼠標(biāo)簡(jiǎn)單地拖放操作,能夠得到周期、頻率、占空比、脈沖寬度、通道/通道延遲、邊沿計(jì)數(shù)、周期計(jì)數(shù)、違規(guī)計(jì)數(shù)、周期抖動(dòng)、以及周期間抖動(dòng)等信息。
6 結(jié)論
調(diào)試針對(duì)Altera和Xilinx的FPGA系統(tǒng)時(shí)用嵌入式邏輯分析儀和外部邏輯分析儀這2種方法各有其優(yōu)勢(shì)和不足,而FPGAView等新方法進(jìn)一步提高了外部邏輯分析儀方法的吸引力。能夠快速方便地移動(dòng)探點(diǎn),而不需重新匯編設(shè)計(jì),同時(shí)能夠把內(nèi)部FPGA信號(hào)活動(dòng)與電路板級(jí)信號(hào)關(guān)聯(lián)起來(lái),能夠較好地滿(mǎn)足產(chǎn)品開(kāi)發(fā)周期的要求。
評(píng)論