作者:Clive "Max" Maxfield,Digi-Key北美編輯
現場可編程門陣列 (FPGA) 具有諸多特性,無論是單獨使用,抑或采用多樣化架構,皆可作為寶貴的計算資產;但是許多設計人員并不熟悉 FPGA,亦不清楚如何將這類器件整合到設計中。解決辦法之一是深入研究主要供應商提供的 FPGA 架構及相關工具;本文則從 Xilinx 產品系列開始著手。
FPGA 選件高級概述
市場上有許多不同類型的 FPGA,每種類型都有不同的功能和特性組合。可編程結構是任何 FPGA 的核心,它以可編程邏輯塊陣列的形式呈現,也稱為邏輯元件 (LE)(圖 1a)。FPGA 結構進一步擴展可包括 SRAM 塊(稱為塊 RAM (BRAM))、鎖相環 (PLL) 和時鐘管理器之類的東西(圖 1b)。此外,還可以添加數字信號處理 (DSP) 塊(稱為 DSP 切片)和高速串行器/解串器 (SERDES)(圖 1c)。
圖 1:最簡單的 FPGA 僅包含可編程結構和可配置通用 IO (GPIO) (a);不同架構是在此基本結構上增加其他元件而形成:SRAM 塊、PLL 和時鐘管理器 (b);DSP 塊和 SERDES 接口 (c);以及硬處理器內核和外設 (d)。(圖片來源:Max Maxfield)
外設接口功能(如 CAN、I2C、SPI、UART 和 USB)可以實現為可編程結構中的軟內核,但許多 FPGA 將其作為硬內核在硅片中實現。同樣,微處理器也可以實現為可編程結構中的軟內核,或作為硬內核在硅片中實現(圖 1d)。具有硬處理器內核的 FPGA 稱為片上系統 (SoC) FPGA。不同 FPGA 針對不同的市場和應用提供不同的功能、特性和容量集合。
FPGA 供應商有很多,包括 Altera(被 Intel 收購)、Atmel(被 Microchip Technology 收購)、Efinix、Lattice Semiconductor、Microsemi(也被 Microchip Technology 收購)和 Xilinx。
所有這些供應商都提供多個 FPGA 系列;有的提供 SoC FPGA,有的提供面向人工智能 (AI) 和機器學習 (ML) 應用的器件,有的則針對航天等高輻射環境提供耐輻射器件。由于產品系列眾多,每個系列提供不同的資源,因此為眼前的任務選擇最佳器件可能很棘手。
Xilinx 的 FPGA、SoC、MPSoC、RFSoC 和 ACAP 產品介紹
Xilinx 提供各種各樣的可編程器件產品,性能和功能從中等到極高都有。范圍從傳統的 FPGA 到 SoC(具有單個硬核心處理器的 FPGA 可編程結構)、MPSoC(具有多個硬核心處理器的 FPGA 可編程結構)、RFSoC(具有 RF 功能的 MPSoC)和 ACAP(自適應計算加速平臺)(圖 2)。
圖 2:隨著時間的推移,Xilinx 架構產品組合已經從僅包含可編程結構的簡單 FPGA,一直演變到可編程結構使用硬核心處理器增強的 SoC 器件、具有多個處理器的 MPSoC、具有 RF 功能的 RFSoC,再到針對 AI 等應用的最新一代 ACAP。(圖片來源:Max Maxfield)
Xilinx 擁有非常廣泛的產品組合,涉及非常多的細分市場,并提供了各種各樣的部署方法,因此對于剛接觸 FPGA 的新手來說,可能很難了解“全局”。
Xilinx 所耕耘的市場包括但不限于數據中心(計算、網絡、存儲);通信(有線、無線);航空航天與國防;工業、科學和醫學 (ISM);測試、測量和仿真 (TME);以及汽車、廣播和消費品。
對于部署方法,這些包括 Xilinx 自稱的硬件自適應設備,其中包括芯片、評估板和開發套件;可部署的終端系統,包括系統級模塊 (SoM) 和 PCIe 加速卡;以及 FPGA 即服務 (FAAS),包括通過領先的云提供商(包括 Amazon Web Services [AWS]、Alibaba.com 和 Nimbix.net)評估和利用 Xilinx 技術。
對于 Xilinx 的 FPGA 產品,一種分類方法是通過工藝技術節點(圖 3)。
圖 3:Xilinx 的 FPGA 產品提供了全面的多節點產品組合,可滿足各種應用的需求。(圖片來源:Max Maxfield)
根據目標應用,設計人員可以選擇基于較早的技術節點來實現低成本、小基底面的 FPGA,或者對于最新的網絡應用等,選擇基于最新技術節點來實現高容量、高帶寬、高性能器件。
對于需要一個或多個硬處理器內核(以及 GPU、編解碼器和軟判決前向糾錯 [SD-FEC] 內核等其他強化功能)的設計,Xilinx 提供了一個以 Zynq 命名的器件產品組合。Zynq 的 SoC、MPSoC 和 RFSoC 產品的摘要如圖 4 所示。這套解決方案為設計人員提供了廣泛的功能,能協助優化功耗、性能、成本和上市時間。
圖 4:Xilinx 的 SoC、MPSoC 和 RFSoC 產品將處理器的軟件可編程性與 FPGA 的硬件可編程性集成在一起,為設計人員提供了系統性能、靈活性和可擴展性。(圖片來源:Max Maxfield)
Xilinx 的最新產品是 Versal 自適應計算加速平臺 (ACAP) 器件,所有這些器件均基于 7 納米 (nm) 工藝技術節點來實現。ACAP 是高度集成的多核心計算平臺,可以適應不斷演進的各種算法。它們可以在硬件和軟件級別進行動態定制,以適合各種應用和工作負載。ACAP 是圍繞可編程片上網絡 (NoC) 進行構建,硬件設計人員和軟件開發人員都可以輕松對其進行編程。
Versal 器件的新功能包括智能引擎,即用于 ML 和 DSP 工作負載的大規模矢量處理器陣列;可移動 TB 級數據的高帶寬、低延遲和低功耗可編程 NoC;以及一個集成的 Shell,可通過預先構建的核心基礎結構和系統連接性來提高性能、利用率和生產率。
圖 5 顯示了 Versal ACAP 產品組合的概述。
圖 5:Xilinx 的 Versal ACAP 是高度集成的多核心計算平臺,可以適應不斷演進的各種算法。ACAP 可以在硬件和軟件級別進行動態定制,以適合各種應用和工作負載。(圖片來源:Max Maxfield)
正如將在設計工具部分中的討論,有關 Versal 器件的一個關鍵區別是新的軟件堆棧。該堆棧主要面向數據科學家和軟件工程師,以及傳統硬件設計工程師。
市場上有各種各樣的 Xilinx 器件可供選擇。一些代表性的產品是 Artix-7 FPGA、Kintex UltraScale FPGA、Kintex UltraScale+ FPGA、來自 Trenz Electronic GmbH 的 Zynq-7000 SoC 模塊,以及 Zynq UltraScale+ MPSoC。
同樣,也有各種各樣的評估板和開發板可供選擇。一些代表性的產品包括來自 Digilent 的 Artix-7 FPGA 評估板、來自 Analog Devices 的 Kintex UltraScale FPGA 評估板、來自 Xilinx 的 Kintex UltraScale+ FPGA 評估板、來自 Digilent 的 Zynq-7000 SoC FPGA 評估板,以及來自 Xilinx 的 Zynq UltraScale+ MPSoC FPGA 評估板。
使用 Xilinx 的 FPGA、SoC 和 ACAP 進行設計和開發
Xilinx 真正區別于競爭對手的一個因素是:設計工具和流程的廣度和深度。
在本 FPGA 系列文章的第 1 部分中,我們指出這些器件的傳統設計方法是讓工程師使用 Verilog 或 VHDL 等硬件描述語言 (HDL),在抽象級別(即寄存器傳送級 [RTL])上捕獲設計意圖。首先可以對這些 RTL 描述進行仿真,以驗證其是否符合要求,然后將其傳送給綜合工具,生成用于對 FPGA 進行編程的配置文件。
抽象的下一步是捕獲設計意圖,主要是使用 C/C++ 之類的編程語言或 SystemC 這樣的特殊實現工具;后者是一組 C++ 類和宏,可提供事件驅動的仿真接口。這些方法有助于并發進程的仿真,每個進程都使用簡單的 C++ 語法進行描述。對于此類描述,可以通過像常規程序一樣運行來進行分析和配置,然后傳遞給高級綜合 (HLS) 引擎,由該引擎輸出 RTL,而 RTL 會傳輸至常規綜合引擎。
所有這些功能都包含在 Vivado 設計套件 HLx 版中,其輸出是配置比特流,隨后會加載到目標 FPGA、SoC、MPSoC、RFSoC 或 ACAP 器件中。除了允許硬件開發人員利用基于 C 語言的設計和經優化的設計復用,Vivado 還提供 IP 子系統復用、集成自動化和加速的設計收斂功能(圖 6)。
圖 6:Xilinx 的 Vivado 和 Vitis 設計工具堆棧的高級視圖反映了用戶如何能以最合適的抽象級別使用這些工具。硬件設計人員使用 Vivado,軟件開發人員使用 Vitis,而 AI 和數據科學家使用 Vitis AI。(圖片來源:Max Maxfield)
下一個抽象級別由 Vitis 統一軟件平臺支持,該平臺使軟件開發人員能夠無縫構建加速型應用。從概念上講,Vitis 的上面是 Vitis AI,它讓 AI 和數據科學家可以在 TensorFlow 抽象級別工作。Vitis AI 是在 Xilinx 硬件平臺上進行 AI 推理的開發平臺,同時包括邊緣設備和 Alveo PCIe 卡。該平臺由優化的 IP、工具、庫、模型和示例設計組成,旨在充分利用 Xilinx 的 FPGA 和 ACAP 器件上的 AI 加速潛力。
Vitis AI 饋送至 Vitis,而 Vitis 自身饋送至 Vivado。圖 6 中的關鍵點在于,用戶僅“看到”他們需要“看到”的內容。也就是說,硬件開發人員將僅“看到”Vivado,軟件開發人員將僅“看到”Vitis,而 AI 和數據科學家將僅“看到”Vitis AI。這樣,用戶就可以在最合適的抽象級別使用這些工具。
若為軟件開發人員提供 Vitis 之類的工具套件,將他們與底層硬件隔離開來,便可使 FPGA 面向更多的開發人員開放。同樣,若為 AI 和數據科學家提供 Vitis AI 之類的工具套件,使他們能夠專注于自己的抽象級別并將其與底層軟件隔離開來,則又會使 FPGA 面向新的開發人員群體開放。
在提供這些功能方面,Xilinx 走在了全行業的前沿,致力于將 FPGA 工具提升到更高的設計抽象級別,這將使開發人員能夠更輕松地利用這些器件的功能,并將其集成到接下來的設計中。
總結
最佳處理設計解決方案常常是由處理器與 FPGA 的組合提供,或由 FPGA 單獨提供,或以硬處理器內核作為部分結構的 FPGA 提供。作為一項技術,FPGA 多年來發展迅速,能夠滿足靈活性、處理速度、功耗等多方面的設計需求,非常適合智能接口、機器視覺和人工智能等眾多應用。
如上所述,Xilinx 提供許多可編程器件產品,性能和功能從中等到極高都有。這些產品范圍從傳統的 FPGA 到 SoC(具有單個硬核心處理器的 FPGA 可編程結構)、MPSoC(具有多個硬核心處理器的 FPGA 可編程結構)、RFSoC(具有 RF 功能的 MPSoC)和 ACAP(自適應計算加速平臺)。
為了幫助設計人員使用這些器件來構建設計,Xilinx 提供了一套工具來滿足硬件開發人員 (Vivado)、軟件開發人員 (Vitis) 以及 AI 和數據科學家 (Vitis AI) 的需求。
編輯:hfy
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605234 -
Xilinx
+關注
關注
71文章
2171瀏覽量
121934 -
AI
+關注
關注
87文章
31490瀏覽量
269911 -
ACAP
+關注
關注
1文章
54瀏覽量
8184
發布評論請先 登錄
相關推薦
評論