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