FPGA研發(fā)之道(21)-雞肋?
通常認為,SOPC是FPGA設(shè)計中的雞肋,“棄之可惜,食之無味”。誠然,SOPC一直不是FPGA的主流應(yīng)用設(shè)計,制約主要因素則是性能,因為作為處理器使用時,處理器主頻是其應(yīng)用范圍的瓶頸(SOPC的軟核處理器一般運行幾十兆到百兆,而一般的嵌入式處理器系統(tǒng)在幾百兆到Ghz的主頻)。但是若因此說成“雞肋”,也確實夸張。廠家推出SOPC的設(shè)計,其優(yōu)點主要有一下幾點,其一:是差異化競爭的需要。其二,擴大應(yīng)用范圍,爭取更多的軟件工程師能夠從事FPGA設(shè)計。其三,可以替代低性能處理器,減少板級的面積和BOM成本。
本文引用地址:http://m.butianyuan.cn/article/265804.htm那么,那么FPGA內(nèi)部基于軟核處理器的系統(tǒng)的主要應(yīng)用場景有哪些,總結(jié)如下:
(1) 管理配置:對于性能無要求的管理配置功能。如某外接芯片或FPGA內(nèi)部IP在其工作之前,需進行初始化和管理配置,而初始化的模塊較多或者管理配置較為復(fù)雜,此種情況下,用軟件處理更為方便合理。因此,假如FPGA內(nèi)部資源較為充足,通過內(nèi)部建立SOPC系統(tǒng),利用片內(nèi)的軟件給多個外圍模塊或者內(nèi)部IP進行初始化的配置管理,即省去配置CPU,減少板級面積,也能便于配置的修改,同時還可以作為前面講的可測性設(shè)計的一部分,用于內(nèi)部各模塊計數(shù)統(tǒng)計,功能測試等。
(2) 配合專用硬件加速單元使用: SOPC系統(tǒng)可以通過總線擴展專用協(xié)處理單元。即將關(guān)鍵模塊硬件化實現(xiàn),實現(xiàn)高速的處理。舉例說,如實現(xiàn)圖像處理功能,而SOPC的軟件性能不能支持高分辨率圖像的處理能力,則可以通過邏輯實現(xiàn)專用的圖像處理算法,通過總線接口與SOPC系統(tǒng)連接。,SOPC只作為數(shù)據(jù)的管理和調(diào)度使用。 此外廠商還這么提供了SOPC優(yōu)化手段,例如通過算法指令分析,確定最多的操作,通過專用指令硬件實現(xiàn),通過在程序中調(diào)用專用指令,也是能夠提升性能的方式之一。
(3) 多核并行:這里多核并行通常意義不同,指通過多個SOPC系統(tǒng),并行執(zhí)行,可以提升系統(tǒng)的性能。對于單指令集多數(shù)據(jù)流的業(yè)務(wù),通過將業(yè)務(wù)流分配到多個SOPC上,通過多個SOPC系統(tǒng)并行處理的方式,來提升整個系統(tǒng)的性能。此種情況下,通過多個SOPC系統(tǒng)并行處理,需滿足幾個條件:(1)即業(yè)務(wù)之間沒有關(guān)聯(lián)性,不需要再多個SOPC之間進行數(shù)據(jù)的交互,否則會影響整個系統(tǒng)的性能。(2)程序區(qū)不能太大,最好全部存儲在片內(nèi)RAM中。而不用占用外部存儲區(qū)(DDR或者SRAM),否則,多個片上存儲系統(tǒng)爭搶外部存儲區(qū),可能會造成系統(tǒng)性能的瓶頸,如需存儲在片外,則接口競爭部分則是關(guān)鍵設(shè)計。
SOPC就像一個偏科生,其優(yōu)點和缺點都是那么明顯,即其強大的靈活性和可編程性,配置其可憐的主頻。但是通過一系列提升性能的手段,SOPC在某些業(yè)務(wù)中也可以大顯身手,尤其是需求頻繁變更的業(yè)務(wù),將變化部分通過軟件實現(xiàn),而不變部分硬件化實現(xiàn),可以更快的滿足市場的需求。
最后,軟核CPU處理能力的瓶頸,也促使現(xiàn)有FPGA廠商提供了基于硬核CPU的SOC+FPGA的解決方案,而這些的努力將促進FPGA應(yīng)用場景的擴展。FPGA廣闊天地,大有可為。
評論