加速FPGA系統(tǒng)實(shí)時(shí)調(diào)試技術(shù)
選擇合適的FPGA調(diào)試方法
上述兩種方法都可以使用,采用哪種方法要視具體情況而定。挑戰(zhàn)在于確定哪種方法更適合您的設(shè)計(jì)。用戶(hù)可以問(wèn)自己下面的問(wèn)題:
預(yù)計(jì)有哪些問(wèn)題?
如果您認(rèn)為問(wèn)題僅限于FPGA內(nèi)部的功能性問(wèn)題,那么使用嵌入式邏輯分析儀可以提供要求的所有調(diào)試功能。但是,如果預(yù)計(jì)有更多的調(diào)試問(wèn)題,要求檢驗(yàn)定時(shí)余量、把內(nèi)部FPGA活動(dòng)與電路板上的其它活動(dòng)關(guān)聯(lián)起來(lái)、或要求更強(qiáng)大的觸發(fā)功能,那么使用外部邏輯分析儀更適合滿(mǎn)足調(diào)試需求。
當(dāng)FPGA芯片針腳包含超過(guò)200M的高速總線(xiàn),例如集成內(nèi)存控制器的DDRI、DDRII內(nèi)存總線(xiàn),以及集成高速SerDes的高速串行I/O總線(xiàn),信號(hào)完整性測(cè)試是保證設(shè)計(jì)成功的基礎(chǔ)。在本文的后半部分會(huì)介紹主流的測(cè)試工具和方法。
除狀態(tài)數(shù)據(jù)外,是否需要考察快速定時(shí)信息?
外部邏輯分析儀允許以高達(dá)125 ps的分辨率(8GS/s采樣)查看FPGA信號(hào)詳細(xì)的定時(shí)關(guān)系,這有助于檢驗(yàn)設(shè)計(jì)中實(shí)際發(fā)生的事件,檢驗(yàn)設(shè)計(jì)的定時(shí)余量。嵌入式邏輯分析儀只能捕獲與FPGA中已有的指定時(shí)鐘同步的數(shù)據(jù)。
需要捕獲多深的數(shù)據(jù)?
外部邏輯分析儀提供的采集內(nèi)存更深。一般在嵌入式邏輯分析儀中,最大取樣深度設(shè)為128 kb,這一數(shù)字受到器件限制。而在外部邏輯分析儀中,可以捕獲最多256Mb樣點(diǎn)。這有助于查看和分析更多的問(wèn)題及潛在原因,從而縮短調(diào)試時(shí)間。
設(shè)計(jì)中更多地受限于針腳還是受限于資源?
使用嵌入式邏輯分析儀不要求任何額外的輸出針腳,但必須使用內(nèi)部FPGA資源,實(shí)現(xiàn)邏輯分析儀功能。使用外部邏輯分析儀要求使用額外的輸出針腳,但使用內(nèi)部FPGA資源的需求達(dá)到最小(或消除了這種需求)。表1匯總了每種方法的相對(duì)優(yōu)勢(shì)。
FPGAViewTM進(jìn)行FPGA調(diào)試
FPGAView概述
外部邏輯分析儀方法有效利用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)試針腳上。這不僅耗費(fèi)時(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)行更新。
—— 一般來(lái)說(shuō),調(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è)完整的解決方案(參見(jiàn)圖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è)備。
[圖示內(nèi)容:]
PC Board: PCB電路板
Test Mux: 測(cè)試復(fù)用器
Tektronix Logic Analyzer Probe: 泰克邏輯分析儀探頭
USB Converter: USB轉(zhuǎn)換器
FPGAView™ Software: FPGAView™軟件
快速使用FPGAView
可以通過(guò)下面幾個(gè)簡(jiǎn)單的步驟使用FPGAView:
第1步. 在設(shè)計(jì)中配置和插入相應(yīng)的測(cè)試內(nèi)核
第2步. 加載測(cè)試內(nèi)核信息
第3步. 建立FPGA針腳與TLA邏輯分析儀通道的對(duì)應(yīng)關(guān)系
第4步. 進(jìn)行測(cè)量
評(píng)論