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