SoC FPGA 的基本概念

2021-09-07 20:16:33 字數 2092 閱讀 4223

國內學習fpga的就服小梅哥,他的產品以及開源程式,非常適合新手入門和慢慢成長。下面介紹一下關於soc fpga的基本概念和學習方法:

soc的定義多種多樣,由於其內涵豐富、應用範圍廣,很難給出準確定義。一般說來, soc稱為系統級晶元,也有稱片上系統,意指它是乙個產品,是乙個有專用目標的積體電路,其中包含完整系統並有嵌入軟體的全部內容。同時它又是一種技術,用以實現從確定系統功能開始,到軟/硬體劃分,並完成設計的整個過程。intel cyclone v soc fpga 是 intel psg(原 altera)於 2013 年發布的一款在單一晶元上整合了雙核的 arm cortex-a9 處理器和 fpga 邏輯資源的新型soc 晶元,相較於傳統的單一 arm 處理器或 fpga 晶元,intel cyclone v socfpga 既擁有了 arm 處理器靈活高效的資料運算和事務處理能力,同時又整合了 fpga 的高速並行處理優勢,同時,基於兩者獨特的片上互聯結構,使用時可以將 fpga 上的通用邏輯資源經過配置,對映為 arm 處理器的乙個或多個具有特定功能的外設,通過高達 128 位寬的 axi 高速匯流排進行通訊,完成資料和控制命令的互動。由於片上的 arm 處理器是經過布局佈線的硬線邏輯,因此其能工作的時鐘主頻較高,因此單位時間內能夠執行的指令也更多。

在 soc fpga 技術推出之前,各大 fpga 廠家已經推廣了有多年的 sopc技術。和 soc fpga 不相同的是,sopc 是在單純的 fpga 晶元上使用 fpga的邏輯和儲存器資源搭建乙個軟核 cpu 系統,由該軟核 cpu 實現所需處理器的完整功能。由於是使用 fpga 的通用邏輯搭建的 cpu,因此具有一定的靈活性,使用者可以根據自己的需求對 cpu 進行定製裁剪,增加一些專用功能,例如除法或浮點運算單元,用於提公升 cpu 在某些專用運算方面的效能,或者刪除一些在系統裡面使用不到的功能,以節約邏輯資源。另外也可以根據使用者的實際需求,為 cpu 新增各種標準或定製的外設,例如 uart,spi,iic 等標準介面外設,同時,使用者也可以自己使用 fpga 的邏輯資源,編寫各種專用的外設,然後連線到 cpu 匯流排上,由 cpu 進行控制,以實現軟硬體的協同工作,在保證系統效能的同時,增加了系統的靈活性。而且,如果單個的軟核 cpu 無法滿足使用者需求,可以新增多個 cpu 軟核,搭建多核系統,通過多核 cpu 協同工作,讓系統擁有更加靈活便捷的控制能力。

soc有兩個顯著的特點:一是硬體規模龐大,通常基於ip設計模式;二是軟體比重大,需要進行軟硬體協同設計。城市相比農村的優勢很明顯:配套齊全、交通便利、效率高。soc也有類似特點:在單個晶元上整合了更多配套的電路,節省了積體電路的面積,也就節省了成本,相當於城市的能源利用率提高了;片上互聯相當於城市的快速道路,高速、低耗,原來分布在電路板上的各器件之間的資訊傳輸,集中到同乙個晶元中,相當於本來要坐長途汽車才能到達的地方,現在已經挪到城裡來了,坐一趟地鐵或brt就到了,這樣明顯速度快了很多;城市的第三產業發達,更具有競爭力,而soc上的軟體則相當於城市的服務業務,不單硬體好,軟體也要好;同樣一套硬體,今天可以用來做某件事,明天又可以用來做另一件事,類似於城市中整個社會的資源配置和排程、利用率方面的提高。可見soc在效能、成本、功耗、可靠性,以及生命週期與適用範圍各方面都有明顯的優勢,因此它是積體電路設計發展的必然趨勢。目前在效能和功耗敏感的終端晶元領域,soc已佔據主導地位;而且其應用正在擴充套件到更廣的領域。單晶元實現完整的電子系統,是ic 產業未來的發展方向。

但是,由於 cpu 是使用 fpga 的通用邏輯資源搭建的,相較使用經過布局佈線優化的硬核處理器來說,軟核處理器夠執行的最高實時鐘主頻要低一些,而且也會相應的消耗較多的 fpga 邏輯資源以及片上儲存器資源,因此 sopc方案僅適用於對於數處理器整體效能要求不高的應用,例如整個系統的初始化配置,人機互動,多個功能模組間的協調控制等功能。

嵌入式處理器開發人員面對的乙個最大挑戰就是如何選擇乙個滿足其應用要求的處理器。現在已有數百種嵌入式處理器,每種處理器都具備一組不同的外設、儲存器、介面和效能特性,使用者很難做出乙個合理的選擇:要麼為了匹配實際應用所需的外設和介面要求而不得不選擇在某些效能上多餘的處理器;要麼為了保持成本的需求而達不到原先預計的理想方案。採用 arm+fpga 整合架構的晶元,使用者將不會侷限於預先製造的處理器技術,而是根據自己的要求定製處理器,按照需要選擇合適的外設、儲存器和介面。此外,使用者還可以輕鬆整合自己專有的功能(如 dsp,使用者邏輯),建立一款「完美」的處理器,使使用者的設計具有獨特的競爭優勢。也使得二者的結合有了更大的市場和應用前景。

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

pwm的基本概念

脈寬調變pwm是開關型穩壓電源中的術語。這是按穩壓的控制方式分類的,除了pwm型,還有pfm型和pwm pfm混合型。脈寬寬度調製式 pwm 開關型穩壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調整其占空比,從而達到穩定輸出電壓的目的。pwm技術的基本原理 隨著電子技術的發展,出現了多種pw...