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