說一說
開始SoC FPGA的學習路程還是蠻難的,不僅要熟悉整個的設計流程,而且還要掌握FPGA以及軟件方面的知識,尤其大概看了一下后面的整體設計部分,操作起來還是較為繁瑣的,以至于讓人暈頭轉向。盡管如此,先了解一下SoC FPGA是什么,相對于SOPC、SoC有什么優(yōu)缺點,甚至常用在什么場景中還是比較輕松的,這些知識能對SoC FPGA嵌入式設計有初步的了解及認識,將為后續(xù)具體的開發(fā)研究做鋪墊。
一、關于SoC
概念: SoC(System OnChip)為片上系統(tǒng)或系統(tǒng)級芯片,就是在單一芯片上集成處理器、存儲單元、圖像處理單元GPU、各種功能部件等,且都由一個中央控制單元通過總線來控制它們的工作。 優(yōu)缺點: 低功耗、高性能、高集成、高帶寬、設計復雜度較高、對知識的掌握要求更高。
二、關于SOPC
概念:
SOPC為片上可編程系統(tǒng)(System On a Programmable Chip),將處理器、存儲器(RAM、ROM或閃存)及各種功能模塊等集成到一片FPGA中,其處理器為軟核處理器,即采用FPGA的通用邏輯資源和存儲單元來搭建軟核CPU。典型的則是Altera的Nios II 嵌入式軟核處理器。
簡言之,SOPC就是軟核處理器+FPGA,并用Avalon總線來通信。
優(yōu)缺點
優(yōu)點:由于它的處理器CPU是由FPGA的通用邏輯資源搭建,因此該處理器更靈活,可裁剪可定制,還可添加多個CPU,以實現多核系統(tǒng)的搭建,進而完成多核CPU的協(xié)調工作;還能靈活為CPU增添外設(UART,SPI,IIC 等);
缺點:由于處理器是由FPGA的通用邏輯資源搭建,因此占用更多FPGA的資源,另外搭建出來的處理器運行的最高時鐘主頻也更低一些(最高160/170MHz),所以SOPC方案僅適用于對處理器整體性能要求不高的應用,通用性不強。
三、關于SoC FPGA(Intel Cyclone V SoCFPGA)
概念:
SOC FPGA高集成度芯片是在同一個芯片上集成FPGA和HPS(HardwareProcessor System)系統(tǒng),即FPGA+硬核處理器。
Intel Cyclone V SoC FPGA :是在單一芯片上集成了雙核的 ARM Cortex-A9 處理器和FPGA的新型 SoC 芯片,主頻可達到925MHz,所以它能同時擁有ARM和FPGA的優(yōu)勢。二者之間用高達128 位數據位寬的 AXI 高速總線進行通信。 優(yōu)缺點:
SOC FPGA擁有ARM 硬核處理器靈活邏輯控制、圖形界面顯示和網絡傳輸等優(yōu)勢,而且還能運行成熟的 Linux 操作系統(tǒng),同時還擁有 FPGA 高速流水并行處理、可靈活定制、豐富I/O單元等優(yōu)勢; 由于FPGA和ARM之間采用片上高速互聯(lián)結構(AXI),AXI總線可根據具體的需求進行配置(128位/64位/32位),另外使用時可以將 FPGA 上的通用邏輯資源進行配置,從而映射為 ARM 處理器的一個或多個具有特定功能的外設,從而添加了一個符合特定需求功能的模塊。 SoC FPGA的HPS 部分可運行成熟的 Linux 操作系統(tǒng),并提供了統(tǒng)一的系統(tǒng) API,相對來說,能降低開發(fā)者的軟件開發(fā)難度。工作的時鐘頻率也比軟核處理器更高,因此可單位時間內能夠執(zhí)行更多的指令。 雖然SoC FPGA兼具了硬核處理器及FPGA的優(yōu)勢,但也對開發(fā)者提供了個更高的要求,不僅要有Verilog代碼能力,而且還需要有軟件開發(fā)經驗,還需掌握基礎的Linux系統(tǒng)知識,但Linux的加入并不像所想的增加知識量及操作難度,相反地,可以降低我們的開發(fā)難度。 常見應用場景:
視頻監(jiān)控(高清視頻分析)、自動輔助駕駛(視頻處理分析、通信)、國防航天(夜視、保密通信)、廣播(視覺、專業(yè)音頻、PCIe采集)等要求低功耗、低成本、輕量化的應用領域中,距離我們更近的就是智能手機、智能車載、物聯(lián)網等市場中的應用。
四、SoC FPGA和獨立的FPGA系統(tǒng)對比
FPGA實現的是硬件邏輯功能,有著高速流水并行處理架構、豐富I/O單元和功能模塊復用的優(yōu)勢,非常適合做圖像預處理中濾波等重復性的操作,但當需要用到靈活的控制和復雜的協(xié)議通信的時候,FPGA不占優(yōu)勢,而SoC FPGA恰恰將FPGA和ARM的優(yōu)勢集合在了一起。
五、SoC FPGA和傳統(tǒng)的處理器+FPGA架構對比
傳統(tǒng)處理器(英特爾X86架構CPU、Cortex-M系統(tǒng)單片機等)+FPGA架構中因為使用了獨立的器件,所以電路板的設計相對復雜,另外在用單片機與FPGA通信的時候,速率也因為硬件電路板或者高位寬并行總線間的競爭冒險情況等而受到限制。而SoC FPGA采用片上集成的方式,且ARM和FPGA之間的高速互聯(lián)橋也能打破帶寬和通信速率的限制,另外處理器、外設存儲單元可定制,因此也突破了硬件上的限制。
六、SoC FPGA 和 SOPC 對比
同: SoC FPGA 和 SOPC 都是由FPGA和處理器組成。
異: SoC FPGA 采用的是硬核處理器(ARM,性能更高),SOPC 采用的是軟核處理器(NIOS II)。其中SoC FPGA中的ARM和FPGA是相互獨立的,供電電源相互獨立,意思就是如果FPGA或者ARM中的任意一方斷電,另一方仍是可以正常工作的,彼此之間不會受到影響,但是如果設計中無需使用ARM部分,ARM部分占用的芯片資源卻是不能被釋放的。
而SOPC的處理器由FPGA通用資源搭建,也就是軟核處理器,所以當不用CPU的時候,資源可釋放,全部的資源均可當作FPGA資源來使用,但它的性能卻低于ARM硬核處理器。。
七、SoC FPGA 的總結
SoC FPGA 器件發(fā)揮了FPGA的可編程、并行處理等優(yōu)勢,與ARM處理器協(xié)同工作,突破硬件中無法靈活控制等的限制,最終基于SoC FPGA實現的系統(tǒng)也擁有高集成、低功耗等有點。隨著半導體工藝的發(fā)展,這種ARM+FPGA 集成架構的芯片(SoC FPGA)將有更大的市場和應用前景。
了解之后,可以閱讀一些有關SoC FPGA方面的文獻,有了一定的理論知識支撐后,去動手嘗試一些有關的實踐項目。
審核編輯:湯梓紅
-
處理器
+關注
關注
68文章
19406瀏覽量
231160 -
FPGA
+關注
關注
1630文章
21796瀏覽量
605970 -
嵌入式
+關注
關注
5092文章
19177瀏覽量
307634 -
sopc
+關注
關注
2文章
248瀏覽量
62336 -
soc
+關注
關注
38文章
4202瀏覽量
219077
原文標題:什么是SoC、SOPC、SoC FPGA?用在什么場景?
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論