FPGA 選件高級概述
市場上有許多不同類型的 FPGA,每種類型都有不同的功能和特性組合。可編程結(jié)構(gòu)是任何 FPGA 的核心,它以可編程邏輯塊陣列的形式呈現(xiàn),也稱為邏輯元件 (LE)(圖 1(a))。FPGA 結(jié)構(gòu)可進(jìn)一步擴(kuò)展,以包括 SRAM 塊(稱為塊 RAM (BRAM))、鎖相環(huán) (PLL) 和時(shí)鐘管理器之類的東西(圖 1(b))。此外,還可以添加數(shù)字信號(hào)處理 (DSP) 塊(稱為 DSP 切片)和高速串行器/解串器 (SERDES)(圖 1(c))。
?
?
圖 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)(圖 1(d))。具有硬處理器內(nèi)核的 FPGA 稱為片上系統(tǒng) (SoC) FPGA。不同 FPGA 針對不同的市場和應(yīng)用提供不同的功能、特性和容量集合。
FPGA 供應(yīng)商有很多,包括 Intel(收購了 Altera)、Efinix、Lattice Semiconductor、Microchip Technology(收購了 Atmel 和 Microsemi),以及 Xilinx。
所有這些供應(yīng)商都提供多個(gè) FPGA 系列:有的提供 SoC FPGA,有的提供面向人工智能 (AI) 和機(jī)器學(xué)習(xí) (ML) 應(yīng)用的器件,有的則提供適用于航天應(yīng)用的耐輻射器件。由于產(chǎn)品系列眾多,每個(gè)系列提供不同的資源,因此為眼前的任務(wù)選擇最佳器件可能很棘手。
Intel FPGA 和 SoC FPGA 介紹
Intel 提供各種各樣的可編程器件產(chǎn)品,性能和功能從中等到極高都有,并涵蓋傳統(tǒng) FPGA 到 SoC FPGA(即,將 FPGA 可編程結(jié)構(gòu)和一種或多種強(qiáng)化處理器內(nèi)核結(jié)合在一起的器件)。
Intel 的產(chǎn)品系列當(dāng)前有五個(gè)主動(dòng) FPGA 系列,包括 Max 10、Cyclone 10,和 Arria 10(圖 2)。Intel 還提供極高端的 Stratix 10 及其更新的最先進(jìn) Agilex 器件。
?
?
圖 2:在 Intel 的五個(gè) FPGA 系列中,其中三個(gè)(從成本最低 (Max 10) 到最高容量及性能 (Arria 10))的目標(biāo)應(yīng)用和市場覆蓋從板卡管理和 I/O 擴(kuò)展,一直到嵌入式視覺和軍事/國防。Stratix 10 和更新的 Agilex 器件進(jìn)一步提升了性能。(圖片來源:Max Maxfield)
Intel 的 Max 10 FPGA 集成片載 NOR 閃存,以提供 FPGA 配置。其他產(chǎn)品系列有基于 SRAM 的配置單元,并且會(huì)在上電時(shí)從板載外部存儲(chǔ)器件或系統(tǒng)的其他位置(如在外部處理器的控制之下)加載配置。除 MAX 10 系列以外,所有其他 Intel FPGA 系列都可作為 FPGA 或 SoC FPGA 的形式提供,并與強(qiáng)化微處理器系統(tǒng)集成。
MAX 10 FPGA 的集成功能包括模數(shù)轉(zhuǎn)換器 (ADC) 和雙通道配置閃存,后者可提供在單個(gè)芯片上存儲(chǔ)與動(dòng)態(tài)切換兩張圖像的功能。MAX 10 FPGA 還具有 Nios II 軟核心處理器支持、DSP 塊和軟雙倍數(shù)據(jù)速率 3 (DDR3) 存儲(chǔ)控制器。
MAX 10 產(chǎn)品組合中的代表性器件是 10M16SCU169I7P。該產(chǎn)品具有 16,000 個(gè)邏輯單元和 130 個(gè)輸入/輸出 (I/O),而且總 RAM 位數(shù)為 562,176。Intel 的 EK-10M08E144 是適用于 MAX 10 的評估板,另一個(gè)是 HINJKIT,這是 Alorium Technology, LLC 的 FPGA 物聯(lián)網(wǎng)傳感器集線器開發(fā)套件(圖 3)。尤其值得關(guān)注的是,HINJKIT 的 MAX 10 FPGA 包括 Alorium Technology 的 AVR 兼容 8 位微控制器,使 HINJKIT 能與 Arduino IDE 配合使用。該板還可為第三方物聯(lián)網(wǎng)載板、模塊和配件提供高度的接口靈活性。
Intel 的 Cyclone 10 GX FPGA 提供 12.5 GB 基于收發(fā)器的功能、1.4 Gbit/s 低壓差分信號(hào) (LVDS),以及適用于最高 1,866 Mbits/s 數(shù)據(jù)速率的高達(dá) 72 位寬 DDR3 SDRAM 接口。Cyclone 10 GX FPGA 針對機(jī)器視覺、視頻連接和智能視覺相機(jī)等高帶寬性能應(yīng)用進(jìn)行了優(yōu)化。
與之相比,Cyclone 10 LP FPGA 則針對低靜態(tài)功耗、低成本應(yīng)用進(jìn)行了優(yōu)化,例如 I/O 擴(kuò)展、傳感器融合、電機(jī)/運(yùn)動(dòng)控制、芯片到芯片橋接以及控制應(yīng)用。GX 和 LP 器件系列都支持垂直遷移,使設(shè)計(jì)人員從一個(gè)器件開始著手設(shè)計(jì),然后在未來遷移到相鄰密度。
Cyclone 10 產(chǎn)品組合中的代表性器件是 10CL006YU256A7G。該產(chǎn)品具有 6,272 個(gè)邏輯單元和 176 個(gè) I/O,而且總 RAM 位數(shù)為 276,480。相關(guān)的開發(fā)和評估板及模塊還有很多,包括 P0496 DE10-NANO Cyclone V SE SoC 套件(圖 4)、P0553 TSoM Cyclone V SE 評估板(也基于 Cyclone V SoC FPGA)和 P0581 TSoM Cyclone V SE FPGA 評估板,它們都是 Terasic Inc 的產(chǎn)品。(注意,這些板上的 Cyclone V FPGA 是 Cyclone 10 系列的較早期產(chǎn)品。)
Arria 10 器件基于 TSMC 的 20 納米 (nm) 工藝技術(shù),將雙核 Arm Cortex-A9 MPCore 硬處理器系統(tǒng) (HPS) 與可編程結(jié)構(gòu)組合在一起,該結(jié)構(gòu)還包括強(qiáng)化浮點(diǎn) DSP 塊。Arria 10 還裝載了嵌入式高速收發(fā)器、硬存儲(chǔ)控制器,以及協(xié)議知識(shí)產(chǎn)權(quán) (IP) 控制器,全都包含在單個(gè)高度集成的封裝中。
Arria 10 產(chǎn)品組合中的代表性器件是 10AX022C4U19E3SG。該產(chǎn)品具有 220,000 個(gè)邏輯單元和 240 個(gè) I/O,而且總 RAM 位數(shù)為 13,752,320。Intel 的 DK-DEV-10AX115S-A Arria 10 GX FPGA 評估板(圖 5)是開發(fā)此 FPGA 的合適平臺(tái)。該板讓設(shè)計(jì)人員能夠開發(fā)與測試基于 Arria 10 的 PCI Express (PCIe) 3.0 設(shè)計(jì);開發(fā)與測試由 DDR4、DDR3、QDR IV 和 RLDRAM III 存儲(chǔ)器組成的存儲(chǔ)器子系統(tǒng);并且通過使用 FPGA 夾層卡 (FMC) 連接器連接到由 Intel 合作伙伴提供的 FMC 夾層卡,來開發(fā)模塊化的可擴(kuò)展設(shè)計(jì)。
Intel 的 Stratix 10 FPGA 和 SoC FPGA 采用 Intel Hyperflex FPGA 架構(gòu)。此器件產(chǎn)品線中的 FPGA 可應(yīng)對高吞吐量系統(tǒng)的需求,其具有最高 10 TFLOPS 的浮點(diǎn)性能,并支持從 28.3 Gbits/s (GX) 到 57.8 Gbits/s 收發(fā)器,后者在最多 144 個(gè)收發(fā)器通道中,能夠滿足 5G 通信、云計(jì)算、網(wǎng)絡(luò)虛擬化和光纖傳輸網(wǎng)絡(luò)的帶寬要求。產(chǎn)品變體包括 PCIe Gen4 接口,最高能以每秒傳輸 16 GB 的速度 (GT/s) 提供 x16 配置,以及一種可支持特定 Intel Optane DC 永久性存儲(chǔ)器的全新存儲(chǔ)控制器。
Intel 的 DK-DEV-1SGX-L-A Stratix 10 GX FPGA 評估板(圖 6)支持利用 Stratix 10 產(chǎn)品線進(jìn)行開發(fā)。該板讓設(shè)計(jì)人員能夠開發(fā)與測試基于 Stratix 10 的 PCI Express (PCIe) 3.0 設(shè)計(jì);開發(fā)與測試由 DDR4、DDR3、QDR IV 和 RLDRAM III 存儲(chǔ)器組成的存儲(chǔ)器子系統(tǒng);并且通過使用 FPGA 夾層卡 (FMC) 連接器連接到同樣由 Intel 合作伙伴提供的 FMC 夾層卡,開發(fā)模塊化的可擴(kuò)展設(shè)計(jì)。
使用 Intel 的 FPGA 和 SoCs FPGA 進(jìn)行設(shè)計(jì)和開發(fā)
在本 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ū)動(dòng)的仿真接口。這些方法有助于并發(fā)進(jìn)程的仿真,每個(gè)進(jìn)程都使用簡單的 C++ 語法進(jìn)行描述。對于此類描述,可以通過像常規(guī)程序一樣運(yùn)行來進(jìn)行分析和配置,然后傳遞給高級綜合 (HLS) 引擎,由該引擎輸出 RTL,而 RTL 會(huì)傳輸至常規(guī)綜合引擎。
Open CL(開放運(yùn)算語言)在概念上更加抽象,該框架適用于編寫可跨異構(gòu)平臺(tái)執(zhí)行的程序。除了 FPGA,這些平臺(tái)還包括中央處理單元 (CPU)、圖形處理單元 (GPU)、數(shù)字信號(hào)處理器 (DSP),以及其他處理器或硬件加速器。OpenCL 指定用于為這些器件進(jìn)行編程的編程語言(基于 C99 和 C++11),并且指定應(yīng)用程序編程接口 (API),以對平臺(tái)進(jìn)行控制并在運(yùn)算設(shè)備上執(zhí)行程序。
對于 Intel FPGA 和 SoC FPGA,用戶使用 Intel 的 Quartus Prime 設(shè)計(jì)軟件為所有產(chǎn)品系列開發(fā)設(shè)計(jì)。該軟件分為三個(gè)版本:Quartus Prime Pro Edition、Quartus Prime Standard Edition 和 Quartus Prime Lite Edition。Pro 和 Standard Edition 需要付費(fèi)許可證,而 Lite Edition 可供免費(fèi)下載。
Pro Edition 經(jīng)過優(yōu)化,可借助 Agilex、Stratix 10、Arria 10 和 Cyclone 10 GX 器件系列支持下一代 FPGA 和 SoC FPGA 中的高級功能;Standard Edition 廣泛支持 Cyclone 10 LP 器件系列及其他更早期的器件系列;而 Lite Edition 可免費(fèi)下載而無需許可證文件,為大容量器件系列提供理想的切入點(diǎn)。
Intel 提供各式各樣的其他設(shè)計(jì)工具和資源,包括 Intel DSP Builder、Intel 高級綜合 (HLS) 編譯器,以及 Intel FPGA SDK for OpenCL。
Intel Distribution of the OpenVINO Toolkit 也非常實(shí)用,可幫助開發(fā)人員構(gòu)建人工智能 (AI)、計(jì)算機(jī)視覺、音頻、語音和語言應(yīng)用程序,實(shí)現(xiàn)從邊緣至云的深度學(xué)習(xí)推理。除了 FPGA,該工具套件還支持使用常見的 API,跨 Intel 架構(gòu)和 AI 加速器(CPU、iGPU、Intel 的 Movidius 視覺處理單元 (VPU) 和 Intel 的 Gaussian & Neural Accelerator (GNA))異構(gòu)執(zhí)行。該工具套件由基于 Cyclone V GT FPGA 的 OpenVINO 入門套件提供支持。
總結(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)用。
Intel 提供從低到極高范圍、從傳統(tǒng) FPGA 到 SoC FPGA 的可編程器件產(chǎn)品。如上所述,要使用此類器件進(jìn)行設(shè)計(jì),Intel 和其他第三方都提供強(qiáng)大的開發(fā)套件和工具,以滿足硬件開發(fā)人員、軟件開發(fā)人員以及人工智能和計(jì)算機(jī)視覺系統(tǒng)構(gòu)建者的需求。
評論
查看更多