超越 SoC 的設計創新
此外,這種方案從軟件開發人員的角度來說也非常重要。以編寫編寫存取或控制外設器件的軟件為例,我們需要全面了解器件在底層硬件級上的工作情況,其中包括需要哪些器件寄存器、采用哪些器件專用的命令、使用哪些通信協議,以及如何處理中斷等。
本文引用地址:http://www.104case.com/article/101739.htm為了滿足這一需求,可以在層棧管理器中標準化的硬件接口層中添加驅動層與應用層的驅動軟件。與 Wishbone包裝內核相似,也可在構建時間時將這些驅動層下載到 FPGA中,為您解決低級硬件接口連接的復雜性問題。
相反,許多硬件開發人員也擁有充足的編程知識完成應用軟件開發,但是他們受阻于操作系統、通信協議棧、用戶界面框架等方面的知識。上述層與驅動系統移除了這些障礙,它將軟硬件設計聯系了起來,從而使所有工程師都能夠在現有的技巧基礎上開發出更高級的產品。
可編程單元
此外,FPGA 的高靈活技術也是可通過將軟件程序與算法轉移到硬件中來最大限度發揮其加速作用的理想環境。FPGA 開發環境中的 C 到硬件轉換可以是一個動態過程,而不是 ASIC SoC 備選方案那樣的固定預設過程。軟件設計和 FPGA 設計共存于同一環境時,選定的軟件功能可在 FPGA 硬件中“復制”為相應的協處理器??梢噪S時啟用備用選項來判斷性能的改善情況。
除了將并行處理等功能帶到軟設計區域的明顯優勢之外,還可充分發揮 FPGA 物理器件引腳的固有可編程特性優勢來降低電路板布線復雜性,并簡化外部連接。
例如,通常情況下,在實際布局中物理器件的放置會使 FPGA 與外設之間的連接極為復雜,這在一定程度上與 BGA 封裝的高密度有關,我們可通過 FPGA的本身解決這個問題。這里可采用 FPGA 的引腳的重新分配與內部布線來解決電路板布線的技術難題,還可以降低電路板空間占用與板子的層數要求。這一理念同樣依賴于在平臺層面上互連的軟件-硬件-FPGA 開發環境,只有這樣才能支持硬件 FPGA 域之間的智能與自動引腳交換。
這里我們確實需要從根本上解決超越傳統 SoC 設計方法限制的問題。要想實現本文所描述的系統,就需要可將所有設計進程集中在同一領域的高級設計系統。通過統一設計應用,采用整體設計的統一數據模型,就可消除嵌入式軟件、可編程硬件以及物理硬件等不同設計領域之間的分割。
用來實施的單純 SoC 設計方法與傳統系統都有極大的局限性,不能充分發揮 FPGA 的潛力。系統設計必須超越當前這種不靈活的分離式設計方法,讓 FPGA(實際上是多個 FPGA)成為整體設計的可再編程中央平臺。
只有在統一的產品設計環境中采用這種方法,設計應用軟件才能提高可移植性,實現軟硬件的真正協調設計,而且在了解相關要求后在設計周期后期決定重要硬件。這樣創建出來的具有高度靈活性的動態設計環境,可以幫助更多工程師創建出極具競爭力的特色創新電子產品。
評論