可以加快硅前驗證過程的FPGA調(diào)試技術(shù)你知道哪些呢_第1頁
可以加快硅前驗證過程的FPGA調(diào)試技術(shù)你知道哪些呢_第2頁
可以加快硅前驗證過程的FPGA調(diào)試技術(shù)你知道哪些呢_第3頁
可以加快硅前驗證過程的FPGA調(diào)試技術(shù)你知道哪些呢_第4頁
可以加快硅前驗證過程的FPGA調(diào)試技術(shù)你知道哪些呢_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

可以加快硅前驗證過程的FPGA調(diào)試技術(shù),你知道哪些呢?隨著基于FPGA進(jìn)行原型設(shè)計的復(fù)雜性不斷增加,市場對更好調(diào)試技術(shù)的需求也日益增加。FPGA原型設(shè)計可用于驗證、早期軟件開發(fā)、概念證明等,因此變得非常重要。它的主要職責(zé)仍然是執(zhí)行這些任務(wù),而不是試圖找出因原型構(gòu)建錯誤而造成的問題。根據(jù)可用的設(shè)計或現(xiàn)有任務(wù)類型,可能需要不同的調(diào)試技術(shù)。采用合適的調(diào)試技術(shù)還可以縮短FPGA設(shè)計的驗證周期。本文描述了有關(guān)FPGA的一些調(diào)試技術(shù),采用這些技術(shù)可以加快驗證過程,文章同時也指出了它們的局限性。這些調(diào)試技術(shù)可以用于硅前驗證過程中所面臨的各種挑戰(zhàn)或問題,后面我們將會討論。RTL仿真在RTL還沒有完全穩(wěn)定時,原型設(shè)計的一個主要需求是訪問和監(jiān)控內(nèi)部信號的活動,這有助于找到造成問題的根源,無論問題是由于原型錯誤還是RTL本身的一些異常造成的。測試時,RTL仿真需要在模塊周圍建立一個完整的原型驗證仿真環(huán)境,能夠給予激勵,滿足內(nèi)存要求(如果有的話),監(jiān)控設(shè)計錯誤等。圖1顯示了此類RTL仿真設(shè)計模型。圖1:RTL仿真模型圖字:要求驗證計劃原型RTL仿真原型RTL模型執(zhí)行板上工作找到Bug?去除bug執(zhí)行所有工作?假設(shè)/優(yōu)勢●此調(diào)試方法非常適用,而且在處理設(shè)計規(guī)模問題時,可以進(jìn)行調(diào)整,目前驗證工具可以輕松地處理設(shè)計規(guī)模問題,但要求仿真時間不能很長,否則會使這種工作幾乎沒有ROI(投資回報率),而要配備復(fù)雜的測試臺。●如果是一個已經(jīng)獲得驗證的設(shè)計,它能重新使用現(xiàn)有的驗證測試平臺,這樣就不需要從頭開始構(gòu)建,可以節(jié)省時間和精力?!窆ぷ髦攸c(diǎn)應(yīng)該側(cè)重于調(diào)整現(xiàn)有測試平臺,以便使其不需要任何大的更改,就能夠運(yùn)行驗證測試套件?!窨梢钥s小問題,選擇只運(yùn)行失敗仿真,減少對仿真的依賴,檢查可能引起問題的信號的仿真波形。局限性●如果是大規(guī)模設(shè)計,幾乎不可能查看設(shè)計中的每個信號、監(jiān)控其行為?!癫捎眠@種方法的一個前提條件是,驗證工程師或軟件工程師應(yīng)該對設(shè)計和內(nèi)部信號具有良好的洞察?!翊朔椒ū容^費(fèi)時,而且需要軟件開發(fā)人員付出額外的努力?!裨谠O(shè)計被分區(qū)的情況下,RTL仿真可能沒有幫助。假設(shè)我們主要試圖“再利用”頂層驗證環(huán)境,并使其輕松為“受測設(shè)備原型”工作,要創(chuàng)建更多的層次和設(shè)計分區(qū),則會需要進(jìn)行額外的工作,以修改安裝在獨(dú)立驗證環(huán)境中的內(nèi)部信號探針。●調(diào)試涉及復(fù)雜處理的大規(guī)??焖倭鬏敵鰯?shù)據(jù)設(shè)計可能具有挑戰(zhàn)性,因為這個問題可能在設(shè)計層次的各個層級存在。在復(fù)雜的設(shè)計中,必須考慮一些更好、更快的調(diào)試方式,我們將在后面的章節(jié)中討論。使用邏輯分析儀的硬件調(diào)試當(dāng)調(diào)試總線位于FPGA的外部引腳上,并通過邏輯分析儀觀察它們時,硬件調(diào)試涉及內(nèi)部信號的呈現(xiàn)。這種調(diào)試技術(shù)對小型邏輯設(shè)計真的非常有幫助,因為驗證工程師也可以使用邏輯分析儀觀察到內(nèi)部設(shè)計信號,從而使調(diào)試更加方便快捷。圖2顯示了此調(diào)試模型。圖2:使用邏輯分析儀的硬件調(diào)試圖字:邏輯分析儀邏輯設(shè)計在這里,可編程的邏輯設(shè)計在目標(biāo)系統(tǒng)中高速運(yùn)行,可以在真實環(huán)境下查看邏輯行為。假設(shè)/優(yōu)勢●如無法利用驗證測試平臺仿真環(huán)境,可以采用這種方法進(jìn)行調(diào)試,因為從頭開始建立驗證測試平臺的仿真環(huán)境可能既繁瑣又費(fèi)時?!翊朔椒梢约涌煺{(diào)試過程,因為它使驗證工程師能查看內(nèi)部設(shè)計信號的活動?!翊朔椒ㄌ峁┝艘粋€進(jìn)入運(yùn)行設(shè)備的窗口,不需要執(zhí)行任何額外的軟件任務(wù)?!裼捎谒序炞C情況都在FPGA板上執(zhí)行,因此這種方法可以用于設(shè)計,否則一般需要相當(dāng)長的仿真時間。局限性●設(shè)計人員需要手工調(diào)試設(shè)計,每次都需要手工編輯進(jìn)行重復(fù)調(diào)試。調(diào)試需要內(nèi)部節(jié)點(diǎn),沒有在設(shè)計頂層就必須將它們路由到頂層。●電路板上的可用引腳數(shù)量制約著探針數(shù)量?!翊朔椒ㄐ枰谶壿嫹治鰞x查看器中輸入信號名稱,以便跟蹤所顯示的設(shè)計信號,因而變得很繁瑣?!裨O(shè)計中的路由探針可能會導(dǎo)致設(shè)備運(yùn)行或定時問題。因此,用邏輯分析儀進(jìn)行調(diào)試會非常耗時,喪失活力,不能用于調(diào)試復(fù)雜的設(shè)計。插入板上調(diào)試邏輯具有復(fù)雜邏輯實施的設(shè)計通常需要實時調(diào)試功能。這些都是更深入地洞察設(shè)計所必需的,無需建立復(fù)雜的測試平臺架構(gòu)或?qū)嵤┩獠坑布?。a)插入調(diào)試邏輯以及基于FPGA的設(shè)計只需在初始時付出一些一次性的努力,因而可以節(jié)省調(diào)試時間和原本很大的精力。這將涉及編寫驅(qū)動的綜合邏輯,監(jiān)控可以與設(shè)計本身集成、并可以移植到FPGA的IP。圖3顯示了使用板上調(diào)試邏輯的調(diào)試模型。圖3:使用板上邏輯的調(diào)試模型圖字:AHB,IPS通用界面驅(qū)動IP測試中的模塊監(jiān)控IP另外,此板上邏輯可以使存儲器映射,以便通過調(diào)試器提取結(jié)果或在運(yùn)行中驅(qū)動輸入。b)可以采用另一種方法讀取調(diào)試信號--使它們的存儲器映射。然后,可以使用調(diào)試器讀出這些值或通過CPU將這些值與這些信號的預(yù)測值進(jìn)行比較。如果從設(shè)計輸出數(shù)據(jù)出現(xiàn)的速度比讀出的速度更快,則可以實施FIFO。輸入數(shù)據(jù)能以更快的速率存儲,以更低的調(diào)試器時鐘頻率讀出。考慮到這兩個時鐘的頻率,可以確定FIFO的深度。假設(shè)/優(yōu)勢●墊或GPIO消除可能因外部連接所引起的問題,因而不需要從外部驅(qū)動激勵。●頻率沒有被外部驅(qū)動頻率限制?!耱?qū)動激勵和監(jiān)控結(jié)果是實時的,使調(diào)試速度更快。●顯示器完全不需要獲得外部引腳上的節(jié)點(diǎn),因為可以從內(nèi)部檢查它們,使用那些存儲器被映射的寄存器標(biāo)記錯誤?!癫恍枰晃募扇魏晤~外的循環(huán)來增加調(diào)試總線信號。局限性●驅(qū)動器和顯示器需要是可綜合的,因此可能無法在驗證測試平臺重新使用它們?!耱?qū)動器和顯示器所使用的邏輯可能會導(dǎo)致過度利用FPGA資源。●采用此方法可能出現(xiàn)以下情況:如果其中任何一個有內(nèi)存要求,而且超過了可用的FPGA資源,就不能實施驅(qū)動器和監(jiān)視器?!裉砑宇~外的邏輯(如驅(qū)動器或監(jiān)視器)可能導(dǎo)致難以滿足設(shè)計所需的時序要求。實時調(diào)試工具這些調(diào)試工具不需要在板的頂層提取內(nèi)部設(shè)計信號,并提供信號探測功能,以及實時調(diào)試。在此類別中有多種工具,可用于實時調(diào)試設(shè)備。選擇合適工具的最佳方式將取決于設(shè)計的復(fù)雜性和功能以及所使用的FPGA技術(shù)。這些工具在設(shè)計中用于插入探針,以便轉(zhuǎn)儲數(shù)據(jù),并可控制啟動數(shù)據(jù)存儲的特定觸發(fā)器。設(shè)計得到檢測后,通過綜合、布局、布線在某個設(shè)備上實施,這樣,工具提供的GUI界面可以用來檢查結(jié)果。使用這些工具可觀察到設(shè)計層次中的任何層級,因而不需要為了在設(shè)計頂層獲得它們而執(zhí)行額外任務(wù)。這樣的工具很少利用FPGA自身資源,像板上存儲器,用于儲存數(shù)據(jù),而且它們不需要任何外部硬件。圖4顯示了此調(diào)試方法。圖4:使用板上資源的調(diào)試工具圖字:將波形從電路板中倒出,進(jìn)行調(diào)試信號探測板上存儲器邏輯設(shè)計但這類工具所面臨的問題是:插裝探針后,設(shè)計在工作頻率和路由擁塞方面會有不可測的操作。當(dāng)然還有一些其他工具,也具有實時功能,可靈活配置運(yùn)行觸發(fā)器。這些工具都配有相關(guān)硬件,因而提供必要的數(shù)據(jù)儲存,不使用任何FPGA資源。圖5顯示了這種調(diào)試方法。圖5:使用外部硬件的調(diào)試工具圖字:信號探測將波形從電路板中倒出,進(jìn)行調(diào)試外部硬件(特定工具)邏輯設(shè)計假設(shè)/優(yōu)勢●對于I/O數(shù)量相對較大的設(shè)計可以采用此調(diào)試方法,因為它不需要在電路板的頂層提取內(nèi)部信號。●此方法可以用于設(shè)計仿真良好、但一旦集成到FPGA中、就不顯示預(yù)期行為的情況。同樣,調(diào)試這些問題需要不僅提供實時調(diào)試,而且還有信號探測功能的工具?!襁@些工具使調(diào)試過程變得相對容易,因為它們通常將波形/數(shù)據(jù)轉(zhuǎn)儲為使用最常用的仿真工具可以打開的格式?!襁@樣的調(diào)試工具還能儲存在自己的相關(guān)存儲器中捕獲的波形,它消耗FPGA板的資源,因而通常不用限制設(shè)計。局限性●必需安裝外部硬件和軟件。●調(diào)試節(jié)點(diǎn)有數(shù)量限制?!裨O(shè)計層次的可見性取決于用于儲存轉(zhuǎn)儲數(shù)據(jù)的存儲器?!窨色@得的頻率降低。解決方法之一是:采用來自一個特定分層體或模塊的插裝信號創(chuàng)建同步build,這樣,可以采用調(diào)試模塊或塊的信號在比特流上運(yùn)行一組測試。在執(zhí)行階段遇到問題后,這肯定會節(jié)省創(chuàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論