自從商業(yè)上可行的 FPGA 出現(xiàn)以來,嵌入式設計人員就已經實現(xiàn)了異構架構,。最初,,F(xiàn)PGA 主要用作處理系統(tǒng),、外設和 I/O 之間接口的粘合邏輯。但隨著 FPGA 技術的改進,,市場擴大到在嵌入式系統(tǒng)中發(fā)揮更大和更核心的作用,。異構計算的最新趨勢是將處理器和 FPGA 子系統(tǒng)集成到單個 SoC 中。以處理器和軟件為中心的設計團隊現(xiàn)在可以在這些復雜的 SoC 上利用這兩個系統(tǒng),。
異構計算架構
系統(tǒng)設計人員被嵌入式系統(tǒng)的處理器和 FPGA 組合所吸引,,因為它們在標準設計模板中提供了靈活性和性能。系統(tǒng)中的處理器提供了廣泛的標準外設接口,,如以太網,、串口、USB,、CAN,、SPI和內存。在僅處理器方法中,,應用程序 I/O 通常通過 SPI 或 USB 連接,。為處理器開發(fā)軟件已廣為人知且易于管理。
在處理器和專用 I/O 之間放置 FPGA 可提高系統(tǒng)的靈活性和處理能力,,并增加硬件驅動操作的可靠性和確定性,。FPGA 不受操作系統(tǒng)或其他軟件開銷的影響,這會降低性能并降低可靠性,。由于 FPGA 是可重新配置的門陣列邏輯電路矩陣,,其硬件可以重新編程以執(zhí)行無數(shù)功能,包括信號處理,、自定義定時和觸發(fā),,以及極其先進的確定性控制??芍匦戮幊逃兄谟布壓彤a品差異化,,從而在不斷發(fā)展的接口和標準中延長產品壽命。
除了這些優(yōu)勢之外,,處理器加 FPGA 的組合還帶來了一些挑戰(zhàn):
FPGA 的功耗
將單獨的 FPGA 集成到 PCB 設計中的尺寸,、成本和復雜性
與處理器上的軟件開發(fā)相比,與 FPGA 硬件設計相關的編程。
FPGA 供應商正在通過 SoC 解決其中的許多挑戰(zhàn),,SoC 集成了處理器和 FPGA,,并確保兩者之間的連接。Xilinx Zynq All Programmable SoC 是一個將 ARM Cortex-A9 CPU 與 FPGA 邏輯集成的示例,。Cypress Semiconductor PSoC(可編程 SoC)和 Microsemi SmartFusion cSoC(可定制 SoC)將 ARM Cortex-M3 CPU 與可編程邏輯和可編程模擬接口集成在一起,。這些產品降低了集成 FPGA 的尺寸、成本和功耗,。
圖 1:SoC 相對于 DSP 或 ASIC 的優(yōu)勢——基于每芯片的 MAC,、每 W 的 MAC 和每美元的 MAC。
軟件編程和硬件描述語言
將 FPGA 子系統(tǒng)集成到處理器 SoC 通常會使 PCB 設計更加容易,。然而,,對這兩個系統(tǒng)進行編程仍然很困難。通常,,硬件描述語言 (HDL),,如 VHDL 或 Verilog,是利用 FPGA 所必需的,。精通 C/C++ 等語言的系統(tǒng)設計人員庫非常豐富,,而 HDL 專家只占嵌入式系統(tǒng)工程師勞動力的一小部分。
可編程邏輯工具已經發(fā)展到更好地適應嵌入式軟件工程師的技能,。具有 FPGA 架構的 FPGA 和 SoC 可供領域和 VHDL 專家在工業(yè)應用中使用,。FPGA 供應商正在大力投資工具和合作伙伴,以更好地協(xié)調處理器和 FPGA 架構之間的開發(fā)實踐,。高級綜合 (HLS) 工具,,例如 LabVIEW FPGA 模塊、Vivado HLS 或 SystemC,,可縮小軟件和數(shù)字域之間的代碼開發(fā)差距,。
一個示例工具是 LabVIEW,它自 2003 年以來就具有一個插件模塊,,該模塊針對用于 NaTIonal Instruments 基于 FPGA 的硬件中的 Xilinx FPGA,。該工具將處理器和 FPGA 邏輯的開發(fā)抽象為相同的語言和控制循環(huán),這可以比以前使用基于處理器的系統(tǒng)更快地創(chuàng)建,。單個系統(tǒng)設計人員可以掌握軟件和 FPGA 開發(fā)領域,,這通常需要兩名或多名具有獨特技能的工程師。他們可以利用內置語言結構來管理時鐘/時序,、內存 I/O 和數(shù)據(jù)傳輸(例如,直接內存訪問),,以及周期精確的仿真和調試功能,、云編譯支持以提高生產力,以及支持 HDL 集成,。一個算法,,寫一次,,
通過提高集成度來縮短上市時間
使用傳統(tǒng)方法,將 I/O 集成到 FPGA 中通常很耗時,。許多高級綜合工具無法替代整個 HDL 工具鏈,,因為從 FPGA 架構到現(xiàn)實世界的 I/O 接口仍然必須使用 HDL 實現(xiàn)。來自 HDL 設計團隊的軼事表明,,I/O 集成通常需要 70% 以上的時間專門用于設計,,而只有 30% 或更少的時間用于通過控制算法或信號處理來增加差異化價值。
LabVIEW 軟件和基于 FPGA 的硬件的緊密集成帶來了解放——團隊可以提升集成水平,,不再為完全定制設計的細節(jié)所累,。他們可以花更多的時間專注于增加自己的價值和差異化,而不是花在構建操作系統(tǒng),、開發(fā)中間件驅動程序或調試 PCB 設計信號完整性問題上,。
更多信息可以來這里獲取==>>電子技術應用-AET<<