SoC FPGA器件在一個器件中同時集成了處理器和FPGA體系結(jié)構(gòu)。將兩種技術(shù)合并起來具有很多優(yōu)點,包括更高的集成度、更低的功耗、更小的電路板面積,以及處理器和FPGA之間帶寬更大的通信等等。這一同類最佳的器件發(fā)揮了處理器與FPGA系統(tǒng)融合的優(yōu)勢,同時還保留了獨立處理器和FPGA方法的優(yōu)點。
目前,市場上主要有三種SoC FPGA,它們的處理器都是完全專用的“硬核”處理器子系統(tǒng),而不是FPGA架構(gòu)中的軟核知識產(chǎn)權(quán)(IP)。所有這三種器件都采用了全功能ARM處理器,具有完整的存儲器層次結(jié)構(gòu),以及專用外設(shè),啟動、運行和工作都與“普通”的ARM處理器一樣。
Microsemi SmartFusion2 SoC FPGA基于ARM Cortex-M3嵌入式處理器,主要面向微控制器應(yīng)用。Altera SoC和Xilinx Zynq-7000器件使用了雙核ARM Cortex-A9應(yīng)用處理器。除了處理器,SoC FPGA還有豐富的外設(shè)、片內(nèi)存儲器、FPGA類型的邏輯陣列,以及大量的I/O。
這幾種可編程SoC產(chǎn)品表面上看來來都一樣。它們都在一個器件中集成了ARM處理器、各種外設(shè)和FPGA。而實際上,仔細(xì)的評估這些器件,更深入的了解數(shù)據(jù)資料是非常關(guān)鍵的。應(yīng)針對具體應(yīng)用來評估底層體系結(jié)構(gòu)及其內(nèi)涵。SoC FPGA體系結(jié)構(gòu)非常重要。仔細(xì)的檢查和思考會發(fā)現(xiàn)在體系結(jié)構(gòu)上有很多明顯的不同。
設(shè)計人員應(yīng)如何選擇?本文介紹了在為應(yīng)用選擇最佳可編程SoC時應(yīng)進(jìn)行的設(shè)計考慮,綜合考慮后作出工程決定。選擇標(biāo)準(zhǔn)主要集中在六個方面:系統(tǒng)性能、系統(tǒng)可靠性和靈活性、系統(tǒng)成本、功耗、未來發(fā)展路線圖、開發(fā)工具。
1.系統(tǒng)性能
SoC FPGA體系結(jié)構(gòu)的兩方面最終決定在不同的單元之間能否高效的傳送數(shù)據(jù):互聯(lián),以及片內(nèi)和片外存儲器帶寬。
SoC體系結(jié)構(gòu)要考慮的第一項是Level-3 (L3)互聯(lián)。顧名思義,L3是L1和L2 Cache之下的一級數(shù)據(jù)傳輸層。L3互聯(lián)的重要性體現(xiàn)在,它是提高性能的交換中心。
不同SoC FPGA供應(yīng)商在L3系統(tǒng)互聯(lián)上的特性有所不同。Altera SoC FPGA提供由三種交換架構(gòu)構(gòu)成的L3系統(tǒng)互聯(lián)——L3主交換、L3主機(jī)外設(shè)交換、L3從機(jī)外設(shè)交換,使用ARM的AMBA NIC-301網(wǎng)絡(luò)互聯(lián)基礎(chǔ)結(jié)構(gòu)來實現(xiàn),如圖1所示。
圖1.Altera SoC FPGA互聯(lián)體系結(jié)構(gòu)
Altera SoC使用精簡分層總線,無阻塞交換體系結(jié)構(gòu)減小了延時?;ヂ?lián)設(shè)計支持來自多個主機(jī)的同時多路會話,提供足夠的帶寬,因此,每一主機(jī)能夠連續(xù)運行(“無阻塞”)。對于仲裁,能夠為每一主機(jī)分配優(yōu)先級,指導(dǎo)總線仲裁。使用最近使用(LRU)算法對優(yōu)先級相同的主機(jī)進(jìn)行仲裁。其他廠家的SoC FPGA體系結(jié)構(gòu)可能使用多級層次,這需要分布式仲裁,但這會帶來延時。分布式仲裁類似于有多個數(shù)據(jù)流仲裁。這種方法要求使用中心服務(wù)質(zhì)量(QoS)模塊以確保主機(jī)不會擁塞。分布式仲裁也有調(diào)整問題,會與DDR存儲器控制器端口仲裁沖突。
SoC FPGA體系結(jié)構(gòu)最顯著的優(yōu)勢是處理器與FPGA的片內(nèi)緊密耦合。為實現(xiàn)這種性能優(yōu)勢,處理器至FPGA互聯(lián)應(yīng)有足夠的帶寬(寬度和速度),選擇類型合適的互聯(lián)也非常重要,這不能成為系統(tǒng)數(shù)據(jù)傳輸?shù)钠款i。
在結(jié)構(gòu)方面,在其他廠家SoC FPGA器件中,數(shù)據(jù)通路和控制通路會競爭并占用帶寬。處理器需要訪問FPGA邏輯中硬件加速器并對其進(jìn)行設(shè)置。如果這些控制會話過程與數(shù)據(jù)流出現(xiàn)競爭,那將會阻塞大吞吐量數(shù)據(jù)流,輸入數(shù)據(jù)連續(xù)處理的過程會出現(xiàn)中斷。相似的,寬帶數(shù)據(jù)流會延時控制信號,增加了控制延時。
為防止出現(xiàn)這種情況,Altera SoC FPGA采用了第二個低延時、無阻塞“輕量”互聯(lián)橋接。處理器通過這一簡單的32位ARM Advanced eXtensible Interface (AXI)接口來訪問FPGA中的控制寄存器,不會阻塞或者影響大吞吐量數(shù)據(jù)流,如圖2中的藍(lán)色部分所示。同時,處理器和FPGA之間的寬帶數(shù)據(jù)連接支持32位、64位以及128位寬度會話,如圖2中的紅色部分所示。
圖2.Altera SoC FPGA含有大吞吐量數(shù)據(jù)通路和無阻塞低延時控制通路
2.系統(tǒng)可靠性和靈活性
高度集成的SoC FPGA還有助于建立更可靠的系統(tǒng)。兩個重要的方面體現(xiàn)了SoC FPGA器件的不同之處:系統(tǒng)中有多少存儲器保護(hù)? SoC FPGA怎樣應(yīng)對軟件缺陷?
對錯誤探測、糾正和監(jiān)視的需求已經(jīng)成為當(dāng)今設(shè)計的發(fā)展趨勢。隨著存儲器容量和密度的不斷增長,對錯誤檢查和糾正的需求也在增長,也越來越重要。大部分現(xiàn)代系統(tǒng)包括專用硬件來幫助實現(xiàn)數(shù)據(jù)完整性。
從SoC FPGA角度看,這包括糾錯碼,即ECC保護(hù)——它不僅僅是存儲器控制器保護(hù)的一部分,而且還集成在處理器的片內(nèi)存儲器、高速緩存,以及外設(shè)緩沖中。ECC電路使系統(tǒng)更可靠,系統(tǒng)不受意外數(shù)據(jù)錯誤或者數(shù)據(jù)損壞的影響。
表1總結(jié)了Altera SoC的硬件ECC與其它廠家的對比
表1.SoC FPGA中的ECC
值得重點介紹的另一方面是NAND閃存。NAND閃存適用于文件系統(tǒng)存儲,但有時候可靠性不如NOR閃存。因此,NAND閃存的ECC被用于消除錯誤。早期版本的NAND閃存控制器包括單比特ECC保護(hù)。這雖然有一些優(yōu)點,但是CPU必須參與其中,CPU必須通過軟件管理ECC,導(dǎo)致對性能有明顯的影響。大部分現(xiàn)代NAND閃存控制器都包括多比特ECC保護(hù)。特別是,在Altera SoC FPGA中實現(xiàn)的NAND閃存控制器包括對512字節(jié)段的4比特、8比特和16比特硬件糾錯,以及對1,024字節(jié)段的24比特硬件糾錯。這實現(xiàn)了功能更強(qiáng)更需要的保護(hù)功能,而且不會降低性能。
存儲器保護(hù)通常是先進(jìn)的處理器具有的一種特性。不論是被稱為存儲器管理單元(MMU)還是存儲器保護(hù)單元(MPU),處理器的存儲器保護(hù)單元都能夠防止錯誤或者非法的處理器會話讀取或者損害其他的存儲器區(qū)域。在Cortex-A9處理器中,ARM的TrustZone技術(shù)擴(kuò)展了這一保護(hù)概念,為安全敏感的系統(tǒng)提供了系統(tǒng)級方法。
某些SoC FPGA將存儲器保護(hù)擴(kuò)展到了FPGA。為什么這一存儲器保護(hù)來自FPGA,又用于FPGA呢?處理器和FPGA可以共享一個外部DDR存儲器接口,以便降低成本,減小電路板空間,節(jié)省功耗。假設(shè)定制FPGA邏輯恰好覆寫了一段屬于處理器數(shù)據(jù)、應(yīng)用程序代碼,或者操作系統(tǒng)(OS)內(nèi)核的存儲器,那么會怎樣呢?這會導(dǎo)致系統(tǒng)故障或者將處理器指向錯誤的方向。
為防止出現(xiàn)這種情況,為操作系統(tǒng)和嵌入式應(yīng)用軟件指定了特定的存儲器區(qū)域,而其他存儲器區(qū)域可以專門用于基于FPGA的功能,如圖3所示。通過存儲器保護(hù),基于FPGA的功能不會損壞操作系統(tǒng)或者嵌入式軟件區(qū)域。
圖3.DDR存儲器保護(hù),處理器和FPGA共享公共的存儲器。
看門狗定時器可以防止出錯的軟件將系統(tǒng)阻塞。在以前的雙芯片分立方案,即處理器加FPGA的解決方案中,如果處理器運行出錯導(dǎo)致看門狗復(fù)位,F(xiàn)PGA仍然能夠運行。體系結(jié)構(gòu)設(shè)計良好的SoC FPGA必須支持同樣的“獨立”行為,而且還提供選擇給系統(tǒng)設(shè)計人員來決定是否重新配置FPGA。在很多情況下,很關(guān)鍵的是當(dāng)處理器自己復(fù)位時,F(xiàn)PGA邏輯需要繼續(xù)監(jiān)視并響應(yīng)外部激勵。因此,在這種條件下,檢查FPGA怎樣重新配置非常重要。
如表2所示,Altera SoC支持處理器和FPGA的復(fù)位電路單獨工作。由系統(tǒng)設(shè)計人員決定是否在CPU復(fù)位時重新配置FPGA。而其他SoC FPGA則在處理器復(fù)位時必須重新配置。
表2.SoC FPGA中的CPU復(fù)位
靈活性是很多設(shè)計人員選擇使用FPGA的主要原因之一??扇婢幊痰腟oC將設(shè)計靈活性擴(kuò)展到了系統(tǒng)級。選擇SoC FPGA時要考慮的三種體系結(jié)構(gòu):處理器啟動和FPGA配置優(yōu)先級可選、片內(nèi)FPGA接口、封裝引腳兼容。
處理器啟動和FPGA配置的多種選擇——對靈活性的需求首先從啟動開始。SoC FPGA中有三種:“CPU最先啟動”方式;或者先配置FPGA,再通過FPGA邏輯啟動CPU方式;以及完全獨立的處理器啟動和FPGA配置機(jī)制的方式。目前,Altera SoC FPGA是唯一設(shè)計支持所有這三種選擇的ARM Cortex-A9處理器SoC FPGA。
靈活性也擴(kuò)展到片內(nèi)FPGA接口上。有時候應(yīng)用程序需要特性豐富的標(biāo)準(zhǔn)接口;有時候則要求簡單或者可定制接口。對于需要高級功能的應(yīng)用,SoC FPGA使用了ARM的AXI接口來連接處理器、硬核外設(shè)和FPGA邏輯。AXI標(biāo)準(zhǔn)使用成熟的業(yè)界標(biāo)準(zhǔn),提供高速寬帶接口。但是,對于不需要AXI所有特性的IP內(nèi)核應(yīng)該怎樣呢?可擴(kuò)展特性更重要,又會怎樣呢?需求的一個極端可能是用戶定制的1000線接口;而另一個極端則只需要一條線來點亮LED或者讀取一個開關(guān)。
為滿足這種變化的需求,除了AXI接口,Altera SoC FPGA還支持Avalon存儲器映射(Avalon-MM)接口,以及Avalon流(Avalon-ST)接口。這些可擴(kuò)展的Altera接口標(biāo)準(zhǔn)非常適合要求較低或者其他的特殊功能需求。這樣,IP設(shè)計人員可以為每一功能選擇最優(yōu)接口。這也支持現(xiàn)有Altera FPGA客戶繼續(xù)使用現(xiàn)有的IP,不一定要移植到AXI。
封裝引腳兼容布局進(jìn)一步提高了設(shè)計、開發(fā)和實施階段的靈活性。開發(fā)人員很容易在具有不同邏輯密度的器件之間移植設(shè)計,這些Altera SoC器件有相同的封裝引腳布局。此外,開發(fā)人員可以在封裝引腳兼容布局范圍內(nèi),在具有收發(fā)器和不具有收發(fā)器的器件之間進(jìn)行移植。為進(jìn)一步降低成本,提供無收發(fā)器版本,它支持雙核或者單核處理器。這些選擇使得一個印刷電路板平臺滿足了不同的成本和特性應(yīng)用。
3. 系統(tǒng)成本
目前發(fā)售的每一系統(tǒng)幾乎都面臨越來越高的成本壓力。而SoC FPGA是具有先進(jìn)特性的創(chuàng)新產(chǎn)品,Altera設(shè)計其SoC FPGA時同時考慮了組件和系統(tǒng)成本。一片SoC FPGA的成本要比其替代的組件低50%,同時也能夠降低系統(tǒng)成本。
當(dāng)考慮SoC FPGA成本時,應(yīng)重視三個關(guān)鍵方面:SoC中已經(jīng)集成了多少等效功能? 應(yīng)用需要高速收發(fā)器嗎?如果需要,需要多少? 相關(guān)的電源供電成本有多大?
SoC FPGA解決方案的集成度有多高? 取決于應(yīng)用,一片SoC FPGA會含有系統(tǒng)等效的處理器、所有外設(shè)、多個DSP、大量的片內(nèi)存儲器、高速收發(fā)器、時鐘管理以及豐富的定制邏輯。不管怎樣,都會有很多問題,如是否同時提供單核和雙核處理器版本;除了ARM處理器內(nèi)核,是否還集成了其他外設(shè);硬核存儲器控制器的數(shù)量;是否有集成鎖相環(huán)(PLL);是否可以通過配置選項來降低成本;是否需要為控制器分配其他的FPGA邏輯;是否有公共封裝引腳布局來優(yōu)化平臺成本等。
高速收發(fā)器是對設(shè)計成本有顯著影響的另一關(guān)鍵特性。Altera SoC FPGA在全系列產(chǎn)品線上提供高速收發(fā)器選擇。特別是,低端入門級器件以及容量最大的全功能器件都有高速收發(fā)器。高速收發(fā)器是PCIe等應(yīng)用的關(guān)鍵因素。否則,會需要外部接口元器件,這增加了系統(tǒng)材料成本(BOM)。另一方面,某些嵌入式設(shè)計不一定需要高速收發(fā)器,Altera提供不含有高速收發(fā)器的SoC FPGA型號,從而降低了SoC FPGA元器件成本。
電源電壓軌數(shù)量和容量對設(shè)計的成本和復(fù)雜度有非常明顯的影響。所有SoC FPGA都需要多個電壓軌,但是有的要比其他少很多。而且,某些SoC FPGA有嚴(yán)格的上電和關(guān)電順序控制,要采用更復(fù)雜——而且昂貴的電源供電。特別是,由于可能會出現(xiàn)各種掉電條件,導(dǎo)致很難進(jìn)行關(guān)電順序。理想情況是,最好能夠避免上電或者關(guān)電要求,特別是這些要求影響器件長期可靠性的時候。Altera SoC FPGA沒有任何上電或者關(guān)電順序要求。
4.電源
即使不是推動因素,低功耗也成為很多設(shè)計中越來越重要的因素。在SoC FPGA器件之間進(jìn)行選擇時,與功耗相關(guān)的重要因素有三個:集成、低功耗模式、上電/關(guān)電順序要求。
通過集成降低功耗。如圖4所示,在一片SoC FPGA中集成處理器和FPGA元器件能夠把系統(tǒng)功耗降低10%到30%。I/O在器件之間傳送信號,通常需要較高的電壓,是應(yīng)用中最耗能的組件。
圖4.在一片SoC FPGA中集成處理器和FPGA減少了高功耗的芯片間I/O連接
低功耗模式。SoC FPGA具有各種低功耗和低成本特性。由于功耗的主要來源是器件的FPGA部分,因此,處理器系統(tǒng)和FPGA有分開獨立的電源平面非常重要。為降低功耗,處理器可以通過軟件控制將FPGA置于低功耗模式。
上電/關(guān)電順序要求。為保證器件的可靠性,或者確保某種上電狀態(tài),硅片供應(yīng)商會提出特殊的上電和關(guān)電順序要求。上電順序要求是很常見的,而通過關(guān)電規(guī)范來保護(hù)器件卻很少見。這意味著,必須在電源上增加額外的電路,否則系統(tǒng)生產(chǎn)商會面臨長期可靠性問題。
對于有關(guān)電順序要求的器件,必須要非常小心,以避免每一電源軌失效,導(dǎo)致違反規(guī)范。這就要求采用比較模擬電路來監(jiān)視電壓軌,必須增加相應(yīng)的保護(hù)電路。為保證正確的關(guān)電順序,還需要有足夠的功率存儲。
Altera SoC FPGA內(nèi)置了內(nèi)部器件保護(hù)功能,因此,可以接受任意順序的上電或者關(guān)電。Altera的確推薦了上電順序,但只是作為系統(tǒng)電源供電設(shè)計人員的指南,幫助他們降低成本,并沒有任何可靠性含義。其他SoC FPGA供應(yīng)商的確有上電和關(guān)電順序要求,如果經(jīng)常違反,會導(dǎo)致器件的長期可靠性問題。
Altera SoC FPGA保證使I/O進(jìn)入三態(tài),避免了電路板級驅(qū)動競爭問題。如果違反了上電順序要求,其他SoC FPGA供應(yīng)商器件不能保證這些。
而且,Altera SoC FPGA支持“熱插拔”,器件可以插入到已經(jīng)上電的電路板中。其他SoC FPGA供應(yīng)商并不提供這一功能。
5.未來發(fā)展路線圖
選擇新處理器體系結(jié)構(gòu)是關(guān)鍵的決定。供應(yīng)商的產(chǎn)品路線圖能否滿足未來應(yīng)用需求,突出系統(tǒng)優(yōu)勢,長期看系統(tǒng)是否具有競爭優(yōu)勢,對此進(jìn)行評估非常重要??紤]到較大的軟件投入,基本軟件能夠輕松移植到未來產(chǎn)品上也非常重要。因此,不僅要知道SoC供應(yīng)商在下一代產(chǎn)品上有哪些承諾,而且還要提出以下問題:
●在這一產(chǎn)品線上打算有多大規(guī)模的投入?
●今后對提高系統(tǒng)設(shè)計的競爭力會有多大幫助?
●工具有沒有發(fā)展路線圖?
為滿足SoC FPGA的目標(biāo)應(yīng)用需求(通信基礎(chǔ)設(shè)施、工業(yè)、汽車、高性能計算、軍事、航空航天、醫(yī)療、多功能打印機(jī),等等),Altera制定了三代處理器發(fā)展路線圖,如圖5所示。
圖5.Altera SoC FPGA系列產(chǎn)品發(fā)展路線圖
發(fā)展路線圖從28 nm Cyclone V和Arria V SoC FPGA開始。在20 nm第二代,Arria 10 SoC FPGA處理器子系統(tǒng)仍然一樣,含有雙核ARM Cortex-A9 MPCore處理器。雙核ARM A9保持了軟件的兼容性,很容易進(jìn)行軟件移植,由于采用了20 nm工藝技術(shù),處理器性能比第一代提高了87%。第二代還增強(qiáng)了安全特性和存儲器支持。Stratix 10 SoC FPGA中集成了四核ARM Cortex-A53處理器,第三代SoC FPGA處理器子系統(tǒng)進(jìn)一步提高了高端器件的性能。64位A53有效的提高了性能,同時仍然是低功耗器件。如果需要,四個內(nèi)核中的兩個可以運行在32位模式下,以維持與第二代軟件的兼容性,而其他兩個內(nèi)核可以運行在64位模式下,以支持新應(yīng)用。
所有硅片元器件發(fā)展路線圖的基礎(chǔ)都是硅片工藝技術(shù)。今天,大部分SoC FPGA都采用了28 nm硅片工藝進(jìn)行制造。工藝技術(shù)的下一主要發(fā)展方向是FinFET技術(shù)。
FinFET晶體管將溝道翻轉(zhuǎn)至側(cè)面,二維設(shè)計轉(zhuǎn)變?yōu)槿S設(shè)計,推動了半導(dǎo)體行業(yè)的革命。這種新結(jié)構(gòu)的優(yōu)點在于密度更高、泄漏更小,有源功耗更低。Intel真正的引領(lǐng)了FinFET技術(shù)。Intel的第一代采用了22 nm,他們現(xiàn)在的第二代“三柵極”技術(shù)則在14 nm上實現(xiàn)。Altera SoC FPGA將在14 nm工藝節(jié)點上采用三柵極技術(shù)。
對于調(diào)試和開發(fā)工具,Altera與ARM達(dá)成了長期戰(zhàn)略合作關(guān)系。2012年12月,兩家公司宣布了獨家協(xié)議,共同開發(fā)ARM DS-5嵌入式軟件開發(fā)工具包,為Altera SoC FPGA提供FPGA自適應(yīng)調(diào)試功能。
與此同時,Altera在FPGA上采用了OpenCL標(biāo)準(zhǔn),與目前的其他硬件體系結(jié)構(gòu)(CPU、GPU,等)相比,能夠大幅度提高性能,同時降低了功耗。OpenCL采用了擴(kuò)展ANSI C,與使用Verilog或者VHDL等底層硬件描述語言(HDL)的傳統(tǒng)FPGA開發(fā)方法相比,使用OpenCL標(biāo)準(zhǔn)、基于FPGA的異構(gòu)系統(tǒng)(CPU + FPGA)具有明顯的產(chǎn)品及時面市優(yōu)勢。
6.開發(fā)工具
SoC FPGA為實現(xiàn)更快、更便宜、能效更高的電子產(chǎn)品開辟了新途徑。但是,伴隨著硬件創(chuàng)新,開發(fā)和調(diào)試工具也應(yīng)該不斷創(chuàng)新。軟件最終決定了設(shè)計人員能否成功的使用這些器件。為實現(xiàn)更廣泛的應(yīng)用,軟件開發(fā)人員必須找到合適的SoC FPGA,掌握其特性,就像獨立處理器那樣輕松高效的使用它們。Altera SoC嵌入式設(shè)計套裝(EDS)開發(fā)環(huán)境,使用了ARM DS-5 Altera版工具,與市場上其他調(diào)試工具不同。其特點包括FPGA自適應(yīng)調(diào)試、ARM處理器與FPGA工具采用同一條USB電纜、外設(shè)寄存器自動顯示、VFP和Neon寄存器顯等方面均擁有突出優(yōu)勢。
軟件開發(fā)一直是工程規(guī)劃的主要部分。同一器件上處理器組合FPGA的這種混合特性增加了新的開發(fā)方向。必須仔細(xì)考慮這種新方向會怎樣影響工程規(guī)劃、工程團(tuán)隊的學(xué)習(xí)曲線,以及過去在軟件工具上的投入。
首先也是最重要的,這些新器件的工具應(yīng)兼容ARM,利用了ARM輔助支持系統(tǒng),這一點非常關(guān)鍵。目前市場上的所有SoC FPGA都采用了ARM處理器IP,通常包括了來自ARM處理器軟件開發(fā)工具廣大的輔助支持系統(tǒng)的支持。但是,每一家供應(yīng)商針對器件增加的FPGA部分有不同的處理方法。這些不同對以下方面的影響較大:
全芯片調(diào)試:在獨立處理器上調(diào)試應(yīng)用程序是很好理解的問題,有成熟的軟件輔助支持系統(tǒng)提供成熟的解決方案。采用SoC FPGA,SoC不再是預(yù)定義的,相應(yīng)的,調(diào)試工具必須支持很多新結(jié)構(gòu),如在FPGA中實現(xiàn)的其他的用戶定義外設(shè),在FPGA中實現(xiàn)的含有硬件加速模塊的軟件功能,F(xiàn)PGA中實現(xiàn)專用算法的定制邏輯模塊。
分析CPU和FPGA。系統(tǒng)分析是任何好調(diào)試器都具備的功能,能夠幫助開發(fā)人員解決常見問題,如系統(tǒng)中的熱點在哪里?CPU內(nèi)核的時間都花在了哪里?所使用的高速緩存效率有多高?為能夠讓分析功能在具有集成FPGA的處理器系統(tǒng)中真正發(fā)揮作用,F(xiàn)PGA事件也必須是分析的一部分。否則,沒有FPGA自適應(yīng)調(diào)試功能,開發(fā)人員只能看到并控制部分芯片
多核調(diào)試。在多核調(diào)試中,能夠同時獨立控制并監(jiān)視處理器內(nèi)核是非常有必要的。在某些情況下,需要在一個斷點上停止所有內(nèi)核。但是,在其他情況下,只需要在斷點處停止一個處理器,而另一個內(nèi)核繼續(xù)執(zhí)行代碼。最好還能查看每一內(nèi)核上運行的軟件。調(diào)試器和分析工具應(yīng)能夠設(shè)計支持多核應(yīng)用。作為對比,GNU基于GDB的調(diào)試工具最初只是設(shè)計滿足單核需求。基于GDB的調(diào)試器工作起來非常好,但是一次只能處理一個內(nèi)核。在多核系統(tǒng)中使用基于GDB的調(diào)試器時,可以在多個內(nèi)核上設(shè)置斷點。但是,當(dāng)應(yīng)用軟件最終遇到一個斷點時,只能觀察觸發(fā)斷點的內(nèi)核。實際上,每次只能調(diào)試一個內(nèi)核。在調(diào)試階段無法看到其他內(nèi)核,這對于多核調(diào)試而言是很大的局限。ARM及其輔助支持系統(tǒng)合作伙伴積極應(yīng)對這一多核難題,開發(fā)了功能強(qiáng)大的高質(zhì)量多核調(diào)試工具。當(dāng)選擇一款SoC FPGA時,重要的一點是所選擇的SoC FPGA系列比較容易使用真正的多核調(diào)試器。
標(biāo)準(zhǔn)工具和流程。軟件工程師使用熟悉而又成熟的工具效率會更高。在熟悉的工具中可以使用新的硬件特性。大部分工程師希望使用有很多支持的“標(biāo)準(zhǔn)”工具來編輯、編譯、下載、調(diào)試他們的應(yīng)用程序,而不是采用新的專用流程。Altera與ARM合作開發(fā)了特殊版本的業(yè)界標(biāo)準(zhǔn)ARM DS-5工具包,以支持實現(xiàn)Altera SoC FPGA的特性,發(fā)揮其優(yōu)勢。通過這一業(yè)界領(lǐng)先的協(xié)議,ARM DS-5 Altera版工具包使用熟悉的業(yè)界標(biāo)準(zhǔn)接口,提供了FPGA自適應(yīng)調(diào)試和其他關(guān)鍵多核特性。這一工具包還支持在硬件和軟件調(diào)試中只使用一條Altera USB-Blaster II電纜。
結(jié)論
SoC FPGA是功能強(qiáng)大的新一類可編程器件,適用于多種電子設(shè)計。商用器件集成了標(biāo)準(zhǔn)ARM處理器——Cortex-M3或者功能更強(qiáng)大的雙核Cortex-A9,以及豐富的外設(shè)、片內(nèi)存儲器、高速內(nèi)部互聯(lián)體系結(jié)構(gòu)、分層片內(nèi)存儲器,還有前沿的FPGA架構(gòu)。這些器件表面上看起來非常相似,但是底層體系結(jié)構(gòu)卻不盡相同。
為不同應(yīng)用選擇最佳SoC FPGA需要充分考慮六大標(biāo)準(zhǔn),即系統(tǒng)性能、設(shè)計可靠性和靈活性、系統(tǒng)成本、功耗、未來產(chǎn)品發(fā)展路線圖,以及開發(fā)工具在幫助這些SoC FPGA取得成功方面扮演的重要角色。
評論
查看更多