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