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