設(shè)計(jì)人員選擇具有優(yōu)秀調(diào)試能力的FPGA器件,可以縮短開發(fā)周期并降低成本,同時(shí)顯著加快上市速度。FPGA和SoC設(shè)計(jì)人員要克服許多挑戰(zhàn),才可以把產(chǎn)品投入生產(chǎn)。
一般說來,他們首先要為自己的設(shè)計(jì)評(píng)估合適器件;然后,使用硬件描述語言(HDL)設(shè)計(jì),布局布線器件,最后,在投入生產(chǎn)之前,還要對(duì)整個(gè)FPGA進(jìn)行調(diào)試。
對(duì)于許多設(shè)計(jì),特別是工業(yè)和嵌入式市場的設(shè)計(jì)來說,可以選擇的FPGA實(shí)在多不勝數(shù)。在大多數(shù)情況下,決定選擇哪家FPGA供應(yīng)商取決于其相關(guān)的軟件開發(fā)經(jīng)驗(yàn)。雖然軟件開發(fā)經(jīng)驗(yàn)也應(yīng)該是考慮因素,但是,更重要的因素應(yīng)該是調(diào)試能力及為加速生產(chǎn)提供的支持。目前,阿爾特拉(Altera)、萊迪思(Lattice)、美高森美(Microsemi)和賽靈思(Xilinx)等供應(yīng)商都提供許多FPGA調(diào)試工具,但是,設(shè)計(jì)人員對(duì)未來的FPGA設(shè)計(jì)策略進(jìn)行評(píng)估時(shí),應(yīng)該考慮采用一種更智能的調(diào)試工具。
基礎(chǔ)調(diào)試 – 邏輯分析儀
每個(gè)主要的FPGA供應(yīng)商都提供邏輯分析儀作為調(diào)試工具。這是一種利用內(nèi)部FPGA邏輯單元和嵌入式塊存儲(chǔ)器來實(shí)施功能的技術(shù)。設(shè)計(jì)人員可以規(guī)定監(jiān)測哪種信號(hào),并設(shè)置觸發(fā)器來告訴邏輯分析儀何時(shí)開始采集數(shù)據(jù)。邏輯分析儀設(shè)置好后,設(shè)計(jì)人員必須重新按順序運(yùn)行綜合和布局布線,將功能納入到設(shè)計(jì)中。設(shè)計(jì)重新編譯和重新編程后,設(shè)計(jì)人員便可以開始觀察邏輯分析儀采集的邏輯信號(hào)。
需要注意的是,由于這些信號(hào)需要采樣,它們采集的并非數(shù)據(jù)的實(shí)時(shí)性能。邏輯分析儀只能以允許其采集數(shù)據(jù)的速度運(yùn)行,并將數(shù)據(jù)保存在內(nèi)部存儲(chǔ)器內(nèi)。由于設(shè)計(jì)必須重新編譯以插入邏輯分析儀,因此,這一過程實(shí)際上可能消除正在尋找的漏洞。雖然這看起來似乎不錯(cuò),但是,不了解原問題是什么,意味著后面再執(zhí)行合成和布局布線操作時(shí),問題可能會(huì)再次產(chǎn)生和重新出現(xiàn)。
盡管如此,設(shè)計(jì)人員能夠根據(jù)觸發(fā)條件來查看信號(hào)狀態(tài),這樣做確實(shí)可以幫助調(diào)試設(shè)計(jì)問題。采用邏輯分析儀是一個(gè)不斷迭代的過程。設(shè)計(jì)人員查找發(fā)生的問題,進(jìn)行更新,然后對(duì)設(shè)計(jì)進(jìn)行重新編譯,再審查新的結(jié)果,然后重復(fù)這個(gè)過程,直到發(fā)現(xiàn)漏洞。每個(gè)迭代和處理每個(gè)具體漏洞所需的時(shí)間都不同,由于邏輯分析儀的采樣速度,因此不一定可以找到所有問題。
下一代調(diào)試工具
由于邏輯分析儀在調(diào)試方面的限制,業(yè)界設(shè)計(jì)了新一代調(diào)試工具,以加快FPGA和板的驗(yàn)證。有些EDA供應(yīng)商在綜合工具內(nèi)集成了邏輯分析儀功能,縮短了漏洞查找迭代的時(shí)間,能夠查看設(shè)計(jì)和使觸發(fā)設(shè)置更簡單。設(shè)計(jì)人員還可以更改設(shè)計(jì),使其自動(dòng)映射回到寄存器傳送級(jí)(RTL)代碼。為了節(jié)約內(nèi)部FPGA資源,有些EDA工具可以采集多組信號(hào),并將它們多路復(fù)用。在調(diào)試過程初期,我們不知道問題的實(shí)際源頭時(shí),這樣做很有幫助。新思科技(Synopsys)在其identify邏輯分析儀和Synplify綜合工具中已經(jīng)實(shí)施了這些特點(diǎn)。盡管他們?yōu)檎{(diào)試過程提供了這些改進(jìn),但是,這些方法因需要重新編譯,因而影響原始設(shè)計(jì)和減慢信號(hào)采集,所以受到限制。
實(shí)際上,對(duì)工程師有幫助的,除了邏輯分析儀,還有示波器。這種功能允許實(shí)時(shí)顯示器件內(nèi)部信號(hào)。用探頭實(shí)時(shí)探測FPGA內(nèi)的節(jié)點(diǎn),強(qiáng)制賦予內(nèi)部信號(hào)不同值,觀察對(duì)設(shè)計(jì)的即時(shí)影響,也是十分理想的。此外,探測內(nèi)部存儲(chǔ)器的能力以及SERDES收發(fā)器探測點(diǎn)也是非常有用的。如果能夠提供所有這些能力而不影響FPGA設(shè)計(jì),將顯著簡化調(diào)試過程。
這種方法的一個(gè)實(shí)例是美高森美Libero SoC軟件中的SmartDebug工具箱,該工具箱與公司的SmartFusion2、IGLOO2和RTG4 FPGA一起使用。這個(gè)工具箱使設(shè)計(jì)人員能夠調(diào)試FPGA結(jié)構(gòu)、存儲(chǔ)塊和SERDES,就好象它們正在使用示波器一樣。采用這種智能調(diào)試,可以利用內(nèi)置在FPGA結(jié)構(gòu)中的專用探測點(diǎn),顯著加快和簡化調(diào)試過程。不需要對(duì)設(shè)計(jì)進(jìn)行重新編譯就可以選擇不同的探測點(diǎn)。增強(qiáng)的調(diào)試特點(diǎn)可訪問任何邏輯元件,使設(shè)計(jì)人員能夠?qū)崟r(shí)檢查輸入和輸出狀態(tài),不影響用戶的FPGA設(shè)計(jì)。這些特點(diǎn)包括:
-現(xiàn)場探頭:允許采用兩個(gè)專用探頭,經(jīng)配置用于觀察邏輯元件中任何輸入或輸出的探測點(diǎn)(圖1)。然后,探頭數(shù)據(jù)可發(fā)送到示波器或甚至重新引導(dǎo)回到FPGA結(jié)構(gòu),驅(qū)動(dòng)內(nèi)部邏輯分析儀。這些探測點(diǎn)是實(shí)時(shí)動(dòng)態(tài)的。探測點(diǎn)可以通過軟件在運(yùn)行中更改,不需要把FPGA重新編譯或重新編程。
-有源探頭:這種特點(diǎn)允許動(dòng)態(tài)異步讀取或?qū)懭胗|發(fā)器或探測點(diǎn)。這種能力使用戶能夠快速從內(nèi)部觀察邏輯輸出或通過寫入探測點(diǎn),快速實(shí)驗(yàn)邏輯將受到怎樣的影響??蓪⑷魏螖?shù)量的信號(hào)強(qiáng)制賦予到規(guī)定值,正如現(xiàn)場探頭一樣,不需要把FPGA重新編譯或重新編程。
探頭插入:這用于在設(shè)計(jì)中插入其它探頭,將信號(hào)輸出到FPGA封裝引腳,以對(duì)設(shè)計(jì)進(jìn)行評(píng)估和調(diào)試。這種特點(diǎn)確實(shí)需要增加布局布線,從而在I/O增加信號(hào),但并不一定需要完整的重新編譯。
圖1 現(xiàn)場探頭使用實(shí)例(來源:美高森美)
FPGA設(shè)計(jì)人員把30%或更多的時(shí)間通?;ㄔ谡{(diào)試上。根據(jù)項(xiàng)目的規(guī)模和狀態(tài),甚至需要更多的調(diào)試時(shí)間。由于調(diào)試涉及許多迭代周期,可觀察性和可控性有限,經(jīng)常要重新運(yùn)行布局布線,時(shí)序收斂和重新編程,因此調(diào)試是非常痛苦的工作。與僅使用傳統(tǒng)插入邏輯分析儀相比,智能調(diào)試工具使得工程師能夠更快地對(duì)他們的FPGA設(shè)計(jì)進(jìn)行驗(yàn)證。這些工具使得設(shè)計(jì)人員在整個(gè)設(shè)計(jì)中可以實(shí)時(shí)觀察信號(hào)和控制信號(hào)狀態(tài),顯著提高了調(diào)試速度。
最近,據(jù)一名客戶報(bào)告,他們采用內(nèi)部邏輯分析儀花了一周時(shí)間來試圖調(diào)試一個(gè)問題。但在采用智能調(diào)試工具代替后,工程師僅僅在兩個(gè)小時(shí)內(nèi)就找出了問題。最終追蹤到,這個(gè)問題來自與工程師采用邏輯分析儀時(shí)觀察的一個(gè)完全不同的設(shè)計(jì)模塊。然后工程師利用有源探頭特點(diǎn)強(qiáng)制賦予不同的數(shù)值,確保電路適當(dāng)響應(yīng)的方式,進(jìn)一步改善了設(shè)計(jì)。
對(duì)FPGA設(shè)計(jì)人員來說,增強(qiáng)調(diào)試能力是影響重大。最新的解決方案能夠顯著縮短調(diào)試驗(yàn)證時(shí)間,為FPGA提供無與倫比的可觀察性和可控性。結(jié)果使得,在選擇器件時(shí)更重視FPGA調(diào)試能力的設(shè)計(jì)人員,可以縮短開發(fā)周期,降低成本,同時(shí)顯著加快上市速度。
評(píng)論
查看更多