FPGA嵌入式处理器的选择策略
傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)中,中小容量FPGA主要用于數(shù)字系統(tǒng)的接口、控制、膠合邏輯和復(fù)雜數(shù)字信號(hào)處理或數(shù)據(jù)處理算法的協(xié)處理,而主控制器一般采用單片機(jī)或嵌入式處理器完成。FPGA和主控制器分離的設(shè)計(jì)使得電路規(guī)模較大、設(shè)計(jì)復(fù)雜,而系統(tǒng)的功耗較高、保密性也較差。
??? 隨著FPGA工藝技術(shù)從0.13um發(fā)展到90nm到65nm,FPGA的容量愈來愈大,一款低端FPGA就可能具有比幾年前最高端FPGA更大的容量和資源。這樣,容量的增加和性能的提升允許在FPGA中實(shí)現(xiàn)硬核或軟核處理器來替代FPGA外部的處理器,從而實(shí)現(xiàn)更高的系統(tǒng)集成度。
??? 各主流FPGA廠商都在FPGA產(chǎn)品中提供了嵌入式硬核或軟核處理器的支持選項(xiàng),如何選擇處理器則需要從系統(tǒng)角度進(jìn)行仔細(xì)考量。通過對(duì)業(yè)界主流FPGA中的嵌入式處理器進(jìn)行比較,本文針對(duì)如何選擇與FPGA應(yīng)用相匹配的嵌入式處理器提出了參考建議。
主要的FPGA嵌入式處理器
??? 目前占據(jù)主要市場份額的FPGA廠商有Xilinx、Altera、Actel、Lattice等公司,這些FPGA廠商的嵌入處理器模式主要有廠商專用軟核處理器、通用軟處理器如ARM7/9系列、PowerPC通用硬核處理器。嵌入處理器模式的不同主要取決于產(chǎn)品的應(yīng)用定位。表1概括了主要的嵌入式處理器及其特點(diǎn)。
是否需要在FPGA中嵌入處理器?
??? FPGA的適合用于時(shí)序邏輯、接口控制、規(guī)則數(shù)據(jù)處理,但對(duì)于非規(guī)則控制和復(fù)雜的數(shù)據(jù)處理算法卻沒有32位的嵌入處理器靈活方便,因此在設(shè)計(jì)具有復(fù)雜算法和控制邏輯的系統(tǒng)時(shí),往往需要結(jié)合使用嵌入式處理器和FPGA。對(duì)于是否需要將處理器嵌入到FPGA中,則需要進(jìn)行多方面考慮。
??? 如果對(duì)系統(tǒng)集成度的要求較高,則將處理器嵌入FPGA能最大限度地提高系統(tǒng)集成度,降低系統(tǒng)設(shè)計(jì)復(fù)雜度,加快上市時(shí)間。例如,Xilinx的Virtex-5 FXT FPGA具有PowerPC硬核處理器,配合高性能DSP片、嵌入千兆以太網(wǎng)模塊,可以輕松實(shí)現(xiàn)網(wǎng)絡(luò)視頻媒體流所需要的數(shù)據(jù)和協(xié)議處理。
??? 對(duì)處理器的性能需求也是一個(gè)重要考慮因素。如果處理器的性能要求不高,比如僅要求幾個(gè)到一兩百個(gè)DMIPS,采用不多的FPGA資源就可以,則采用嵌入軟核處理器是合適的選擇。但如果需要的數(shù)據(jù)、協(xié)議處理能力超過300DMIPS,且難以由多個(gè)處理器分擔(dān),則采用1,100MIPS的高性能PowerPC嵌入硬核處理器較合適。
??? 如果對(duì)IP和FPGA的安全性要求比較高,需要保密,則在閃存型FPGA中嵌入處理器是合適的。傳統(tǒng)的嵌入式處理器,例如ARM和MIPS,其處理器IP在基于軟核的設(shè)計(jì)流程中很難得到保護(hù),所以ARM或MIPS內(nèi)核一直無法以軟IP的形式提供給FPGA廠商,但是不同于主流的基于SRAM的FPGA,Actel基于閃存技術(shù)的FPGA可以保證商用IP在器件中安全運(yùn)行。
??? 如果需要針對(duì)需求變化提供較大的靈活性,則在FPGA中嵌入處理器較為合適。正如Xilinx嵌入開發(fā)工具產(chǎn)品營銷主管Jay Gould所說的,FPGA與芯片處理器的結(jié)合的優(yōu)點(diǎn)是無須重做一塊新PCB或采用新的處理器就能夠?qū)洝⒂布M(jìn)行調(diào)試,對(duì)變更進(jìn)行測試。
軟核處理器還是硬核處理器?
??? 在FPGA中集成硬核還是軟核取決于對(duì)性能、可重構(gòu)性的平衡考慮。例如,Altera副總裁李彬表示:“如果在可編程器件中融合硬核則整個(gè)系統(tǒng)的可重構(gòu)性會(huì)受到限制。軟核的優(yōu)勢在于其靈活性,用戶可以根據(jù)應(yīng)用的需要靈活配置系統(tǒng),裁剪系統(tǒng),在Nios中還可以添加用戶自定義的指令,雖然性能上不一定超過ARM,但用戶可以配置上多個(gè)NIOS核,所以性能肯定會(huì)提升并超過ARM硬核。”
??? 但是,對(duì)于高性能的網(wǎng)絡(luò)協(xié)議處理應(yīng)用,軟核處理器難以滿足需求,而采用多個(gè)軟核處理器則將增加系統(tǒng)設(shè)計(jì)、調(diào)試及協(xié)調(diào)的復(fù)雜性,只有高性能的硬核處理器才能滿足需求。例如,Xilinx公司Virtex-5 FXT提供多達(dá)兩個(gè)業(yè)界標(biāo)準(zhǔn)的PowerPC 440處理器模塊,配合與PowerPC440模塊緊密耦合的集成5x2縱橫開關(guān)式交換處理器互連架構(gòu),每個(gè)處理器在550MHz時(shí)鐘頻率下可提供高達(dá)1,100DMIPS的性能。利用PowerPC 440嵌入式處理器模塊,設(shè)計(jì)人員可快速方便地實(shí)現(xiàn)高級(jí)可擴(kuò)展嵌入式處理應(yīng)用。表1是嵌入硬核處理器實(shí)現(xiàn)的TCP吞吐性能。如果采用Jumbo幀格式時(shí),還可以獲得更高的性能。
通用處理器還是專用處理器?
??? 在性能均等的情況下,采用嵌入FPGA廠商的專用處理器還是通用的ARM、PowerPC處理器,主要取決于對(duì)工具包的支持情況和對(duì)可移植性的需求。
??? 為有效實(shí)現(xiàn)與FPGA邏輯的整合,專用處理器一般需要廠商自己提供的編譯、仿真、調(diào)試工具。如果集成ARM、PowerPC等通用處理器則可以更多地采用GCC、GDB等通用開發(fā)工具。通用處理器也具有更廣泛的開發(fā)社區(qū)支持,具有更豐富、更成熟的資源。
??? 從可移植性的角度,通用處理器也要優(yōu)于專用軟核處理器。以前采用ARM、PowerPC等外置通用處理器的系統(tǒng)設(shè)計(jì)可以輕松地移植到FPGA內(nèi)部的嵌入處理器。當(dāng)采用FPGA的系統(tǒng)設(shè)計(jì)達(dá)到一定量后需轉(zhuǎn)化為ASIC時(shí),通用嵌入處理器也更容易轉(zhuǎn)化,因?yàn)榇蟮木гS一般都有ARM7/9、PowerPC的工藝庫。
選擇策略
??? 總的說來,FPGA中嵌入的處理器應(yīng)當(dāng)與FPGA及其所面向的市場、應(yīng)用需求相匹配。FPGA中嵌入處理器的一般選擇策略可以簡單概括為:在中低性能FPGA中采用MicroBlaze、NiosII、Cortex M1等32位嵌入軟核處理器,在高性能平臺(tái)FPGA中采用PowerPC高性能硬核處理器。例如,采用CycloneIII FPGA中的NiosII或Spartan3 FPGA中的MicroBlaze軟核處理器實(shí)現(xiàn)中低復(fù)雜度系統(tǒng)控制和低速協(xié)議處理,采用Vitex-5 FXT平臺(tái)FPGA中的PowerPC440實(shí)現(xiàn)大批量的數(shù)據(jù)處理和復(fù)雜的高速網(wǎng)絡(luò)協(xié)議處理。
??? 反過來,在中低性能FPGA采用高性能的ARM硬核處理器,在高性能平臺(tái)FPGA中采用軟核處理器,都會(huì)出現(xiàn)對(duì)應(yīng)用需求滿足的失衡,或者不能滿足應(yīng)用對(duì)性能的需求,或者不能滿足用戶對(duì)成本控制的需求。Altera副總裁兼亞太區(qū)行政董事李彬的說法也證明了這一點(diǎn):“采用Nios軟核的客戶目前已經(jīng)超過2萬個(gè),而采用帶ARM硬核的Excalibur的客戶只有為數(shù)不多的幾個(gè)。”Xilinx在65nm的Virtex-5平臺(tái)FPGA中嵌入高性能的PowerPC440處理器,則表現(xiàn)出了對(duì)平臺(tái)FPGA的應(yīng)用特點(diǎn)和高端客戶需求的深刻理解與把握。
本文小結(jié)
FPGA中的處理資源的快速增長促進(jìn)了設(shè)計(jì)方法學(xué)的變化,現(xiàn)在可以從新的系統(tǒng)設(shè)計(jì)觀點(diǎn)角度重新考慮嵌入式系統(tǒng)中FPGA與嵌入式處理器的相互關(guān)系,可以更好地滿足復(fù)雜系統(tǒng)對(duì)性能、電路設(shè)計(jì)、功耗、保密性方面的苛刻要求。應(yīng)當(dāng)將FPGA看作數(shù)字系統(tǒng)集成的合適平臺(tái),統(tǒng)一考慮接口、膠合邏輯、協(xié)處理和系統(tǒng)控制,統(tǒng)一考慮硬件邏輯處理和軟件邏輯,統(tǒng)一考慮FPGA中的硬件開發(fā)和軟件開發(fā),并根據(jù)系統(tǒng)需要做出合理的平衡。
總結(jié)
以上是生活随笔為你收集整理的FPGA嵌入式处理器的选择策略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 古剑奇谭2多功能CE修改器使用说明
- 下一篇: DNF冒险团满级要练多少小号