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ì)算加速平臺(tái))(圖1)。
圖1:隨著時(shí)間的推移,Xilinx架構(gòu)產(chǎn)品組合已經(jīng)從僅包含可編程結(jié)構(gòu)的簡(jiǎn)單FPGA,一直演變到可編程結(jié)構(gòu)使用硬核心處理器增強(qiáng)的SoC器件、具有多個(gè)處理器的MPSoC、具有RF功能的RFSoC,再到針對(duì)AI等應(yīng)用的最新一代ACAP。(圖片來源:Max Maxfield)
Xilinx擁有非常廣泛的產(chǎn)品組合,涉及非常多的細(xì)分市場(chǎng),并提供了各種各樣的部署方法,因此對(duì)于剛接觸FPGA的新手來說,可能很難了解“全局”。
Xilinx所耕耘的市場(chǎng)包括但不限于數(shù)據(jù)中心(計(jì)算、網(wǎng)絡(luò)、存儲(chǔ));通信(有線、無線);航空航天與國(guó)防;工業(yè)、科學(xué)和醫(yī)學(xué) (ISM);測(cè)試、測(cè)量和仿真 (TME);以及汽車、廣播和消費(fèi)品。
對(duì)于部署方法,這些包括Xilinx自稱的硬件自適應(yīng)器件,其中包括芯片、評(píng)估板和開發(fā)套件;可部署的終端系統(tǒng),包括系統(tǒng)級(jí)模塊 (SoM) 和PCIe加速卡;以及FPGA即服務(wù) (FAAS),包括通過領(lǐng)先的云提供商(包括Amazon Web Services[AWS]、Alibaba.com和Nimbix.net)評(píng)估和利用Xilinx技術(shù)。
對(duì)于Xilinx的FPGA產(chǎn)品,一種分類方法是通過工藝技術(shù)節(jié)點(diǎn)(圖2)。
圖2: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,或者針對(duì)最新的網(wǎng)絡(luò)應(yīng)用等,選擇基于最新技術(shù)節(jié)點(diǎn)來實(shí)現(xiàn)高容量、高帶寬、高性能器件。
對(duì)于需要一個(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í)間。
圖3:Xilinx的SoC、MPSoC和 RFSoC產(chǎn)品將處理器的軟件可編程性與FPGA的硬件可編程性集成在一起,為設(shè)計(jì)人員提供了系統(tǒng)性能、靈活性和可擴(kuò)展性。(圖片來源:Max Maxfield)
Xilinx的最新產(chǎn)品是Versal自適應(yīng)計(jì)算加速平臺(tái) (ACAP) 器件,所有這些器件均基于7納米 (nm) 工藝技術(shù)節(jié)點(diǎn)來實(shí)現(xiàn)。ACAP是高度集成的多核心計(jì)算平臺(tái),可以適應(yīng)不斷演進(jìn)的各種算法。它們可以在硬件和軟件級(jí)別進(jìn)行動(dòng)態(tài)定制,以適合各種應(yīng)用和工作負(fù)載。ACAP 是圍繞可編程片上網(wǎng)絡(luò) (NoC) 進(jìn)行構(gòu)建,硬件設(shè)計(jì)人員和軟件開發(fā)人員都可以輕松對(duì)其進(jìn)行編程。
Versal器件的新功能包括智能引擎,即用于ML和DSP工作負(fù)載的大規(guī)模矢量處理器陣列;可移動(dòng)TB級(jí)數(shù)據(jù)的高帶寬、低延遲和低功耗可編程N(yùn)oC;以及一個(gè)集成的Shell,可通過預(yù)先構(gòu)建的核心基礎(chǔ)結(jié)構(gòu)和系統(tǒng)連接性來提高性能、利用率和生產(chǎn)率。
圖4顯示了Versal ACAP產(chǎn)品組合的概述。
圖4:Xilinx的Versal ACAP是高度集成的多核心計(jì)算平臺(tái),可以適應(yīng)不斷演進(jìn)的各種算法。ACAP可以在硬件和軟件級(jí)別進(jìn)行動(dòng)態(tài)定制,以適合各種應(yīng)用和工作負(fù)載。(圖片來源:MaxMaxfield)
正如將在設(shè)計(jì)工具部分中的討論,有關(guān)Versal器件的一個(gè)關(guān)鍵區(qū)別是新的軟件堆棧。該堆棧主要面向數(shù)據(jù)科學(xué)家和軟件工程師,以及傳統(tǒng)硬件設(shè)計(jì)工程師。
市場(chǎng)上有各種各樣的Xilinx器件可供選擇。一些代表性的產(chǎn)品是Artix-7 FPGA、Kintex UltraScale FPGA、Kintex UltraScale+ FPGA、來自Trenz Electronic GmbH的Zynq-7000 SoC模塊,以及Zynq UltraScale+ MPSoC。
同樣,也有各種各樣的評(píng)估板和開發(fā)板可供選擇。一些代表性的產(chǎn)品包括來自Digilent的Artix-7 FPGA評(píng)估板、來自Analog Devices的Kintex UltraScale FPGA評(píng)估板、來自Xilinx的Kintex UltraScale+ FPGA評(píng)估板、來自Digilent的Zynq-7000 SoC FPGA評(píng)估板,以及來自Xilinx的Zynq UltraScale+ MPSoC FPGA評(píng)估板。
使用Xilinx的FPGA、SoC和ACAP進(jìn)行設(shè)計(jì)和開發(fā)
Xilinx真正區(qū)別于競(jìng)爭(zhēng)對(duì)手的一個(gè)因素是:設(shè)計(jì)工具和流程的廣度和深度。
在本FPGA系列文章的第1部分中,我們指出這些器件的傳統(tǒng)設(shè)計(jì)方法是讓工程師使用Verilog或VHDL等硬件描述語(yǔ)言(HDL),在抽象級(jí)別(即寄存器傳送級(jí) [RTL])上捕獲設(shè)計(jì)意圖。首先可以對(duì)這些RTL描述進(jìn)行仿真,以驗(yàn)證其是否符合要求,然后將其傳送給綜合工具,生成用于對(duì)FPGA進(jìn)行編程的配置文件。
抽象的下一步是捕獲設(shè)計(jì)意圖,主要是使用C/C++之類的編程語(yǔ)言或SystemC這樣的特殊實(shí)現(xiàn)工具;后者是一組C++類和宏,可提供事件驅(qū)動(dòng)的仿真接口。這些方法有助于并發(fā)進(jìn)程的仿真,每個(gè)進(jìn)程都使用簡(jiǎn)單的C++語(yǔ)法進(jìn)行描述。對(duì)于此類描述,可以通過像常規(guī)程序一樣運(yùn)行來進(jìn)行分析和配置,然后傳遞給高級(jí)綜合 (HLS) 引擎,由該引擎輸出RTL,而RTL會(huì)傳輸至常規(guī)綜合引擎。
所有這些功能都包含在Vivado設(shè)計(jì)套件HLx版中,其輸出是配置比特流,隨后會(huì)加載到目標(biāo)FPGA、SoC、MPSoC、RFSoC或ACAP器件中。除了允許硬件開發(fā)人員利用基于C語(yǔ)言的設(shè)計(jì)和經(jīng)優(yōu)化的設(shè)計(jì)復(fù)用,Vivado還提供IP子系統(tǒng)復(fù)用、集成自動(dòng)化和加速的設(shè)計(jì)收斂功能(圖5)。
圖5:Xilinx的Vivado和Vitis設(shè)計(jì)工具堆棧的高級(jí)視圖反映了用戶如何能以最合適的抽象級(jí)別使用這些工具。硬件設(shè)計(jì)人員使用Vivado,軟件開發(fā)人員使用Vitis,而AI和數(shù)據(jù)科學(xué)家使用Vitis AI。(圖片來源:Max Maxfield)
下一個(gè)抽象級(jí)別由Vitis統(tǒng)一軟件平臺(tái)支持,該平臺(tái)使軟件開發(fā)人員能夠無縫構(gòu)建加速型應(yīng)用。從概念上講,Vitis的上面是Vitis AI,它讓AI和數(shù)據(jù)科學(xué)家可以在TensorFlow抽象級(jí)別工作。Vitis AI是在Xilinx硬件平臺(tái)上進(jìn)行AI推理的開發(fā)平臺(tái),同時(shí)包括邊緣設(shè)備和Alveo PCIe卡。該平臺(tái)由優(yōu)化的IP、工具、庫(kù)、模型和示例設(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。這樣,用戶就可以在最合適的抽象級(jí)別使用這些工具。
若為軟件開發(fā)人員提供Vitis之類的工具套件,將他們與底層硬件隔離開來,便可使FPGA面向更多的開發(fā)人員開放。同樣,若為AI和數(shù)據(jù)科學(xué)家提供Vitis AI之類的工具套件,使他們能夠?qū)W⒂谧约旱某橄蠹?jí)別并將其與底層軟件隔離開來,則又會(huì)使FPGA面向新的開發(fā)人員群體開放。
在提供這些功能方面,Xilinx走在了全行業(yè)的前沿,致力于將FPGA工具提升到更高的設(shè)計(jì)抽象級(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ì)算加速平臺(tái))。
為了幫助設(shè)計(jì)人員使用這些器件來構(gòu)建設(shè)計(jì),Xilinx提供了一套工具來滿足硬件開發(fā)人員 (Vivado)、軟件開發(fā)人員 (Vitis) 以及AI和數(shù)據(jù)科學(xué)家 (Vitis AI) 的需求。
XC5VFX70T-1FFG665I
XC5VFX30T-3FFG665I
XC5VFX30T-1FFG665I
XC5VFX70T-1FFG665C
XC5VFX100T-1FFG1136I
XC5VFX200T-1FFG1738I
XC5VFX100T-2FFG1738C
XC7Z100-1FF900I
XC7Z100-1FF900C
XC7Z100-2FFG900E
XC7Z100-3FFG900I
XC7Z100-L2FFG900I
XC7Z100-2FFG1156I