FPGA已經(jīng)成為當今數(shù)字化系統(tǒng)硬件設計的核心,全球90%以上的嵌入式系統(tǒng)設計工程師正在使用FPGA進行著各種各樣的設計。FPGA的快速發(fā)展,為測試廠商帶來了新的機遇和挑戰(zhàn),針對FPGA的各種創(chuàng)新測試技術和解決方案不斷問世。 基于內(nèi)核FPGA調(diào)試方案應運而生
安捷倫公司數(shù)字測試資深技術/市場工程師 冀衛(wèi)東 為滿足日益復雜的數(shù)字化系統(tǒng)的設計要求,F(xiàn)PGA的密度及復雜性也在急速增長,越來越多的系統(tǒng)或子系統(tǒng)功能在FPGA內(nèi)部實現(xiàn),其先進的功能和高集成度使FPGA成為極具吸引力的解決方案,進而也使得基于內(nèi)核的FPGA測試方案浮出水面。 仿真不能發(fā)現(xiàn)所有問題 雖然FPGA的功能在不斷增加,但芯片的面積卻是有限的,提供的針腳數(shù)量卻沒有以相同比例提高。由于關鍵的硬件和軟件的交互工作通常發(fā)生在FPGA的內(nèi)部,使得查看FPGA內(nèi)部信號的需求不斷提高,而專門為提供這種查看能力可以使用的針腳數(shù)量卻十分有限,這就使得調(diào)試很成問題。
FPGA廠商都提供了仿真工具,仿真對于ASIC設計團隊至關重要。但隨著設計的復雜程度不斷加深,系統(tǒng)的復雜性使得系統(tǒng)驗證和調(diào)試的時間在增長,針對SoC類型的FPGA設計,這個步驟占整個設計周期的50%,為了保證測量的置信度,在線幾秒鐘的運行操作,可能會需要設計者幾天甚至幾周的仿真。
仿真能發(fā)現(xiàn)和排除較為明顯的錯誤,但不能發(fā)現(xiàn)所有的問題,尤其是:難以預料的邊緣的情況;難以仿真FPGA與系統(tǒng)中的其他部分的相互配合情況;難以仿真布線所造成的對信號完整性的影響所導致的錯誤;不能仿真異步的事件;難以達到100%的代碼覆蓋等等,使得FPGA的設計者在仿真和系統(tǒng)原型之間徘徊不前,導致研發(fā)進度的推遲。 基于內(nèi)核的FPGA調(diào)試方案 傳統(tǒng)的FPGA測試方法是將內(nèi)部被測節(jié)點連到外部管腳,再通過邏輯分析探頭連接到外部的邏輯分析儀的對應通道,根據(jù)被測信號的管腳位置和名稱對邏輯分析通道進行命名。這種方法可充分利用邏輯分析儀的強大功能。但也存在著局限性,如1對1的連接和測量:每個FPGA調(diào)試管腳對應一個內(nèi)部信號節(jié)點;固定的內(nèi)部信號節(jié)點,要改變新的測量節(jié)點,必須重新設計,不但費時費力而且會由此改變信號的原有時序;每次改變被測信號都要停下來重新連接儀器,重新定義信號的管腳位置和名稱,這是非常繁瑣的工作。
FPGA的管腳是寶貴的資源,專用于調(diào)試的管腳通常非常少,一般是幾個到32個左右,這個端口成為路由輸出內(nèi)部信號進行測量的重要管道。專用于調(diào)試的每個管腳,只對應內(nèi)部單一的被測信號。若要增加或改變被測的信號,需要改變設計,重新合成,重新安排管腳的位置,重新布線,不僅會消耗大量的時間,還可能會改變電路的原有時序。內(nèi)核輔助調(diào)試為實現(xiàn)迅速而且深入的測試提供了一種極具吸引力的方法。
內(nèi)核輔助調(diào)試通過為FPGA內(nèi)置用于測量的電路,以便更好、更迅速地實現(xiàn)測量。已經(jīng)有大量的工程師使用了這種方法,他們在片內(nèi)增加自己設計的多路復用器,以便通過固定數(shù)量的管腳訪問更多的FPGA內(nèi)部信號。相當多的設計團隊目前仍在繼續(xù)使用這種方法。盡管這種方法在固定數(shù)量的管腳上提高了信號的訪問能力,但它在協(xié)助設置外部儀器方面(如示波器或邏輯分析儀)沒有任何措施。此外,每個團隊必須設計一種方法來控制這個多路復用器,這種額外的設計工作不但增加了工作量,而且占用了很多內(nèi)部資源,而這些資源本來可以更好地用來設計FPGA,而不是用于調(diào)試電路的設計。
現(xiàn)在,許多FPGA廠商都提供了商用版的用于芯片上調(diào)試的內(nèi)核,從而大大降低了在FPGA內(nèi)生成這些內(nèi)核的工作量,這些內(nèi)核甚至可以在開發(fā)流程的后期再增加進去。FPGA廠商提供的芯片上調(diào)試內(nèi)核采用JTAG作為通信接口,這種內(nèi)核使用FPGA的內(nèi)部資源,構建成內(nèi)置的邏輯分析儀(ILA),它進行FPGA內(nèi)部信號的測量,并把數(shù)據(jù)存儲在FPGA的內(nèi)部存儲器里,通過JTAG通信接口將數(shù)據(jù)送出到調(diào)試軟件如ChipScopePro或Quartus II等進行分析,而不占用任何芯片管腳。
使用這種調(diào)試內(nèi)核,在設計環(huán)境中選擇要測量的信號,一般通過netlist來實現(xiàn)。它是在沒有剩余管腳進行調(diào)試的唯一查看方法,測量數(shù)據(jù)被存儲在寶貴的芯片內(nèi)的存儲器里,且容量受限,為調(diào)試提供的存儲容量限制著測量的深度。這種內(nèi)核僅提供狀態(tài)分析,不能提供定時分析。由于設計本身在很大程度上占用了芯片內(nèi)部資源和內(nèi)部的存儲器,會影響FPGA的原有設計,若調(diào)試之后去掉這個內(nèi)核,同樣會改變內(nèi)部電路的時序,所以盡管占用內(nèi)部資源,很多工程師完成調(diào)試后,寧愿將其留在FPGA內(nèi)部。 軟件仿真和測試并行不悖
NI中國市場經(jīng)理 朱君 基于FPGA測試工具的必要性來自于整個行業(yè)的趨勢:產(chǎn)品自定義的要求越來越高、上市時間要越來越短,同時還需要不斷在產(chǎn)品中增加新的功能。為了達到這些要求,工程師身上的壓力也越來越大,他們需要更快地開發(fā)產(chǎn)品、增加新功能,并要確保產(chǎn)品質(zhì)量。因此我們看到,以軟件為中心的產(chǎn)品正在成為市場主流,比如最新的iPhone。以軟件為中心的產(chǎn)品讓工程師們可以在不需要重新設計硬件的情況下增加新的功能,并且提高自定義的可能性。
基于FPGA的產(chǎn)品就非常順應這一大趨勢,工程師們不需要重新設計硬件,僅在軟件層面上重新編程并再次發(fā)布到目標硬件,即可改變硬件特性。為了實現(xiàn)這樣的目標,NI采用的途徑是提供全系列的工具和平臺來降低用戶學習和使用的復雜性,也就是說用戶只要在NI的平臺上操作即可充分采用這些商業(yè)技術,并享受它們帶來的優(yōu)勢?,F(xiàn)在NI的產(chǎn)品應用于從系統(tǒng)設計、原型到發(fā)布的研發(fā)全過程。
基于FPGA的CompactRIO平臺是一種為高性能和高可靠性應用所專門設計的、可重配置的控制和采集系統(tǒng),該平臺集成了一個嵌入式實時處理器、高性能的FPGA,并具有多種可熱插拔的工業(yè)I/O模塊及內(nèi)置的信號調(diào)理功能。每一個I/O模塊都直接連接到FPGA,提供對于定時和I/O信號處理的底層自定義功能。
這一平臺最大的挑戰(zhàn)在于用戶在使用之前需要掌握專業(yè)的FPGA編程知識。NI相信隨著FPGA平臺日益成為行業(yè)的必需,關鍵問題在于要為工程師簡化學習和使用的復雜性。NI一直在這方面進行大量的工作,用戶通過NI的軟硬件平臺,無須直接掌握FPGA專業(yè)編程技能便可充分利用到FPGA的優(yōu)勢。
EDA工具的軟件仿真和測試兩者之間并無沖突。通常在開發(fā)周期的前期階段,設計和仿真是產(chǎn)品設計過程中的重要環(huán)節(jié)。然后這個周期進入原型階段,工程師們需要從設計轉(zhuǎn)到I/O。通常工程師們面對的挑戰(zhàn)不同,他們在不同階段采用的工具也不同。NI的目標一直是通過提供同一個平臺來彌補以上提到的不同工具間的鴻溝。圖形化編程平臺LabVIEW本身包括FPGA模塊,可發(fā)布到CompactRIO等原型平臺上;同時也可以連接到NI Mulitsim等EDA軟件?! —毩⑦壿嫹治鰞x
方案應是首選
泰克亞太區(qū)D&M市場開發(fā)經(jīng)理 孫志強 當前FPGA的調(diào)試手段主要有:軟件仿真、板級在線調(diào)試。其中后者又分嵌入式邏輯分析儀方案和外部標準邏輯分析儀方案。
仿真能夠縮短調(diào)試時間,發(fā)現(xiàn)和排除顯而易見的錯誤,但是仿真并不能發(fā)現(xiàn)所有的問題。
嵌入式邏輯分析儀方案又受到以下資源的限制:內(nèi)核尺寸限制;不得不使用片內(nèi)存儲單元存儲采集的數(shù)據(jù);存儲深度極度受限;僅僅支持狀態(tài)分析方式(同步),只能同步采樣:采樣率取決于FPGA的特定時鐘,不能使用更高的定時采樣頻率,最終得到的時序精度不高。
因此,在以下情況,我們推薦使用獨立的邏輯分析儀方案:1.大量的定時問題,內(nèi)部節(jié)點信號和外部板級信號關聯(lián),更強大的觸發(fā)能力。2.需要高分辨率的定時信息。3.需要捕獲較深的信息儲存。4.引腳考慮。
針對以高速高性能FPGA應用為代表的現(xiàn)代高速串行系統(tǒng)、現(xiàn)代高速數(shù)字系統(tǒng),泰克公司擁有十分完整的測試測量方案,從測試考慮角度不同,Tektronix的FPGA測試測量方案可分三類:
第一類,基于邏輯分析儀的實時板級在線調(diào)試方案。相比較嵌入式的調(diào)試方案,該方案不受FPGA調(diào)試內(nèi)核尺寸、內(nèi)存資源限制;同時支持同步和異步兩種分析方式;可同時關聯(lián)FPGA內(nèi)外信號,加快分析調(diào)試速度。
第二類,基于高性能示波器的實時信號完整性測試方案。
實時示波器方案:高達20GHz帶寬、4通道同時50GS/s采樣率和高達200M存儲深度的實時示波器。
取樣示波器方案:擁有業(yè)界最低噪聲、高達70GHz以上帶寬電取樣模塊和50GHzTDR模塊。
第三類,基于混合示波器的混合信號環(huán)境測試調(diào)試方案。