Xilinx FPGA 和 SoC 具有與生俱來的高靈活性,是高性能或多通道數字信號處理 (DSP) 應用的理想選擇,這些應用可充分利用硬件的並行性。 Xilinx FPGA 和 SoC 將該處理帶寬與綜合解決方案相結合,包含麵向硬件設計人員、軟件開發人員以及係統架構師的易用性設計工具。
一個標準 Von Neumann DSP 架構需要 256 個周期才能完成一個 256 個抽頭的 FIR 濾波器,而 Xilinx FPGA 隻需要一個時鍾周期便可達到相同的效果。
大規模並行計算可轉化為極高水平的 DSP 性能:
Xilinx DSP 解決方案包含芯片、IP、參考設計、開發板、工具、文件和培訓,可實現廣泛市場的各種應用,包括(但不限於)無線通信、數據中心以及航空航天及軍用亚博平台网站是多少 。
針對不同的使用模型及不同等級的設計抽象提供各種工具流程:
硬件設計者可以在以下方麵進行設計:
軟件亚搏手机版 ( 習慣於使用 C/C++ 進行開發) 可使用以下工具開發:
係統架構師可快速評估新算法,實現:
有了 Xilinx FPGA 和 SoC,設計人員可使用多種流程,根據設計方法和抽象級別部署其 DSP 應用。
Xilinx FPGA 基於 ASIC 類架構,可在 Virtex® UltraScale+™ 係列中完美整合每秒數百 GB 的 I/O 帶寬和超過 20 TeraMAC 的定點 DSP 性能。 在最新一代 Xilinx FPGA 中,Xilinx DSP slice 及其並行性是實現 DSP 性能的關鍵。
UltraScale™ DSP48E2 slice 是采用 Xilinx 架構的第 5代 DSP slice。
這款專用的 DSP 處理模塊在全麵定製的芯片中實現,這種芯片可實現業界領先的功耗性能比,從而可高效實現乘法累加器 (MACC)、乘法加法器 (MADD) 或複雜乘法等普及型 DSP 功能。
此外,Slice 也可提供執行各種邏輯運算的功能,如 AND、OR 和 XOR 運算 (UG579)。
UltraScale 架構建立在成功的 7 係列 (DSP48E1) 基礎之上,可進一步增強功能:
這些增強功能有助於 DSP 關鍵應用在進入 FPGA 架構之前在 DSP48E2 slice 內執行更多的計算,最終可節省資源及電源。
功能 | 7 係列 | UltraScale |
---|---|---|
DSP 模塊/Slice 類型 | DSP48E1 | DSP48E2 |
多重 Add/Sub/Acc 運算 | ![]() |
![]() |
乘法器和 MACC | 25 x 18 | 27x18 |
開方: [(A 或 B)+/- D]2 | ![]() |
|
WMUX 反饋超高效複雜乘法 CMACC | 5 x DSP48E1 | 3 x DSP48E2 |
SIMD 支持 | ![]() |
![]() |
集成型模式檢測電路 | ![]() |
![]() |
集成型邏輯單元 | ![]() |
![]() |
寬多路複用功能(48 位) | ![]() |
![]() |
寬 XOR(96 位) | ![]() |
|
可選 96 位輸出 | ![]() |
![]() |
級聯布線 | ![]() |
![]() |
流水線寄存器 | ![]() |
![]() |
D 預加法器 | ![]() |
![]() |
序列複雜乘法、AB 動態訪問 | ![]() |
![]() |
改進的 AB 寄存器流水線平衡 | ![]() |
![]() |
Xilinx 可根據您的設計首選項為您提供支持 RTL、C/C++ 及模型設計入口的工具。 這種設計流程靈活性加上大量 DSP IP 目錄,可實現對 Xilinx 工具及器件的更便捷應用。
Vivado IDE可作為係統級設計的設計空間,有助於您構建和實現完整的設計並編寫出比特文件,從而編程您的器件。
訪問工具、庫和框架,了解更多詳情。
下表是 7 係列、UltraScale 和 UltraScale+ 係列的部分重要 DSP 性能指標。 如需了解 SoC 器件性能,敬請查看軟件開發人員部分。
Artix-7 | Kintex-7 | Kintex UltraScale | Kintex UltraScale+ | Virtex-7 | Virtex UltraScale | Virtex UltraScale+ | |
---|---|---|---|---|---|---|---|
邏輯單元 (K)/係統邏輯單元 (K)(1) | 13–215 | 65–478 | 318–1,451 | 356–1,143 | 326–1,424 | 783–5,541 | 862–3,780 |
DSP slice | 40–740 | 240–1920 | 768–5,520 | 1,368–3,528 | 1,120–3,600 | 600–2,880 | 2,280–12,288 |
18x18 乘法器 | 40–740 | 240–1920 | 768–5,520 | 1,368–3,528 | 1,120–3,600 | 600–2,880 | 2,280–12,288 |
定點性能 (GMAC) | 25–464 | 178–1,424 | 507–4,090 | 1,218–3,143 | 831–2,671 | 444–2,134 | 2,031–10,948 |
對稱濾波器定點性能 (GMAC)(2) | 50–928 | 356–2,848 | 1,014–8,180 | 2,436–6,286 | 1,662–5,342 | 888–4,268 | 4,062–21,896 |
INT8 GOPs(3) | 50–928 | 356–2,848 | 1,774–14,315 | 4,263–11,000 | 1,662–5,342 | 1,554–7,469 | 7,108–38,318 |
INT16 GOPs | 50–928 | 356–2,848 | 1,014–8,180 | 2,436–6,286 | 1,662–5,342 | 888–4,268 | 4,062–21,896 |
單精度浮點 (GFLOP)(4) | 10–196 | 96–770 | 320–2,685 | 800–1,673 | 449–1,444 | 294–1,411 | 1,354–7,299 |
單精度浮點 (GFLOP)(5) | 7–147 | 72–577 | 240–2,028 | 609–1,571 | 337–1,083 | 220–1,058 | 1,015–5,474 |
半精度浮點 (GFLOPs)(6) | 15–295 | 144–1,154 | 480–4,056 | 1,218–3,142 | 674–2,166 | 440–2,116 | 2,030–10,948 |
注:
為了在 Xilinx FPGA 中最優化及最高效地使用 DSP48 slice,應盡可能查閱和利用以下信息及技術。
Xilinx 推出了軟件開發環境及一係列功能強的常見綜合工具、庫以及軟件開發人員可用來便捷鎖定 Xilinx FPGA 及 SoC 目標的方法。 使用這些高級抽象環境,例如Vivado 高層次綜合 (HLS)、SDAccel和SDSoC,Xilinx 可以為 C、C++ 和/或 OpenCL 開發提供類似於 GPU 且熟悉的嵌入式應用開發和運行時體驗。
Zynq UltraScale+ MPSoC和Zynq-7000係列在單個器件中將功能強大的處理係統 (PS)、整合 ARM® Cortex® 處理器以及用戶可編程邏輯 (PL) 進行了完美整合。
SDSoC能夠分析給定的應用並允許創建硬件加速器以在可編程邏輯 (PL) 中更高效地運行 ,利用 FPGA 的靈活性和並行性來大幅提高性能。此外,這還可實現必要時可在處理係統 (PS) 中並行運行的其它應用功能。
通過將 Xilinx FPGA 及 SoC 定為目標,許多 DSP 及嵌入式應用都將實現效率的提升並為其應用降低功耗。
下表是 Xilinx Zynq-7000 SoC 和 Zynq UltraScale+ MPSoC 係列的部分重要特性及 DSP 性能指標。 如欲了解非 SoC 器件性能,敬請訪問硬件設計人員部分。
處理係統 | Zynq-7000 SoC | Zynq UltraScale+ MPSoC |
---|---|---|
應用 處理單元(APU) |
|
|
實時 處理單元(RPU)(RPU) |
- |
|
多媒體處理 | - |
|
動態內存接口 | DDR3, DDR3L, DDR2, LPDDR2 | DDR4、LPDDR4、DDR3、DDR3L、LPDDR3、 |
高速外設 | USB 2.0、Gigabit Ethernet、SD/SDIO | PCIe®Gen2、USB3.0、SATA 3.1、 DisplayPort、Gigabit Ethernet、SD/SDIO |
安全 | RSA、AES、和 SHA, ARM TrustZone® | RSA、AES、和 SHA, ARM TrustZone |
最大 I/O 引腳數 | 128 | 214 |
可編程邏輯 | Zynq-7000 SoC | Zynq UltraScale+ MPSoC |
---|---|---|
係統邏輯單元 (K) | 23–444 | 103–1,045 |
最大存儲器 (Mb) | 1.8–26.5 | 5.3–70.6 |
最大 I/O 引腳 | 100–362 | 252–668 |
DSP Slice | 60–2,020 | 240–3,528 |
18x18 乘法器 | 60–2,020 | 240–3,528 |
定點性能 (GMACs)(1) | 42–1,313 | 213–3,143 |
定點性能麵向對稱濾波器(GMAC)(1)(2) | 84–2,626 | 426–6,286 |
INT8 GOPs(1)(3) | 84–2,626 | 745–11,000 |
INT16 GOPs(1) | 84–2,626 | 426–6,286 |
單精度浮點 (GFLOPs)(1)(4) | 23–716 | 142–1,673 |
單精度浮點 (GFLOPs)(1)(5) | 17–537 | 106–1,571 |
半精度浮點(GFLOPs)(1)(6) | 34–1,074 | 212–3,142 |
注:
如欲了解有關 Xilinx SoC 及 MPSoC 的更多詳情,敬請訪問:
該處理係統 (PS) 可通過不同的 ARM 處理內核途徑提供各種 DSP 處理功能。
如欲進一步了解有關 ARM 的 DSP 功能,敬請訪問:
可在以下位置查看一些實用示例:
對於 Zynq UltraScale+ MPSoC,請查看:UG1211,了解使用 ARM NEON 指令集的 FFT 演示。
對於 Zynq-7000 SoC 而言,在將 Cortex-A9 和 ARM SIMD 確定為目標時,可在 Xilinx wiki 上獲得以下技術要點:
Xilinx 為其器件提供極其靈活的數據類型支持。 Xilinx 工具原生支持不同精度的定點、浮點和整數,這些浮點運算是在Floating Point Operator IP 核的支持下實現的。
與定點或整數實現方案相比,在 FPGA 上實現的浮點設計始終會導致消耗更多的資源及功率。 如果可能的話,轉化為定點解決方案,將帶來巨大的優勢:
如需進一步了解有關將浮點轉換為定點數據類型的優勢,敬請閱讀 WP491。
下表是一小部分算法以及使用 Xilinx 器件、特別是可編程邏輯 (PL) 中的架構加速設計可實現的性能提升。
算法 | CPU/GPU | Zynq UltraScale+ MPSoC | 優勢 |
---|---|---|---|
Stereo LocalBM @ 2K | ARM:每瓦 0.5 FPS nVidia:每瓦 3.5 FPS |
每瓦 146 FPS | 292x 42x |
光流法 (Lucas-Kanade) |
ARM:每瓦 0.1 FPS nVidia:每瓦 0.8 FPS |
每瓦 7.1 FPS | 9.3x |
GoogleNet (Batch=1) |
ARM:0.1 Imgs/s/w nVidia:8.8 Imgs/s/w |
53 Imgs/s/w | 530x 6x |
注釋 1:ARM:四核 A53 以 1200MHz 的頻率運行在 Raspberry Pi 上
注釋 2:采用 Tegra X1 實現 Nvidia 基準
注釋 3:光流 (LK) — 窗口尺寸:11x1
算法 | CPU/DSP | Zynq-7000 | 優勢 |
---|---|---|---|
正向投影 | ARM:每視圖 3 秒 | 每視圖 0.016 秒 | 188x |
運動檢測 | ARM: 0.7 FPS | 67 FPS | 90x |
噪聲降低 — Sobel | ARM: 1 FPS | 67 FPS | 60x |
Canny 邊緣檢查 | ARM: 0.66 FPS | 40 FPS | 45x |
3D 圖像重建 | ARM: 75k | 8k | 9x |
DPD | ARM: 506 ms | 31.3ms | 16x |
FIR | TI DSP: 64020 ns | 1200 ns | 53x |
FFT | TI DSP: 1036 ns | 128 ns | 8x |
注釋 1:將 ARM 作為目標時,Cortex-A9 內核隻用在 Zynq 器件上
注釋 2:使用 C66 DSP 內核完成 TI 基準
DSP Vivado 係統生成器和 Vivado 高層次綜合等 Xilinx 高層次設計工具提供的抽象等級可幫助係統架構師及域專家快速評估最新算法並集中精力進行其設計的差異化部分開發。 完整的 Xilinx DSP 解決方案是這些設計工具、IP、參考設計、方法及電路板的完美整合,這些元素的結合能夠在盡可能最短的時間內獲得一項可行的生產設計。
Vivado System Generator for DSP是一款利用 MATLAB 和 Simulink 環境的基於模型的設計工具,以傳統 RTL 開發時間的一小部分,在可編程邏輯中定義、測試和實施生產質量的 DSP 算法。
該工具提供:
了解有關 DSP Vivado 係統生成器的更多詳情:
Vivado 高層次綜合在所有 Vivado HLx 版本中免費升級提供,有助於可移植 C、C++ 及係統 C 算法規範直接鎖定於 Xilinx 器件中,無需創建 RTL。 就像從 C/C++ 到不同處理器架構提供編譯器一樣,HLS 編譯器可從 C/C++ 到 Xilinx FPGA 提供相同的功能性。
了解更多有關高層次綜合的信息:
Xilinx 提供業界一流的工具,有助於在一款 Xilinx FPGA 或 SoC 上以極低的功耗高效實現數字信號處理 (DSP) 應用。 無論您在使用 RTL、C/C++/SystemC 進行設計,還是在使用 Matlab/Simulink,以下 Xilinx 工具都可輕鬆簡化您的設計,縮短上市進程。
Xilinx 提供大量針對性能、資源利用及易用性進行優化的庫。
庫與框架 | 說明 |
應用 |
---|---|---|
可重配置加速堆棧 | Xilinx 可重配置加速協議棧不僅可幫助全球最大的雲服務供應商開發和部署雲級加速平台,而且還可為機器學習、數據分析和視頻轉碼等複雜雲計算應用提供無與倫比的高靈活性。 | 加速專區 |
GitHub 庫 | Xilinx 創建了各種 GitHub 庫,其可麵向包含 DSP 相關功能在內的大量應用提供各種實用示例。 |
Xilinx 與其合作夥伴緊密協作,生產了各種工具及電路板,用於在大量不同市場領域簡化 DSP 應用對 Xilinx FPGA 及 SoC 的采用。Xilinx 還與其合作夥伴密切合作,提供範圍廣泛的FPGA 夾層卡。
合作夥伴 | 說明 | 解決方案 |
---|---|---|
Avnet 以 DSP 為導向的開發套件及模塊 | 通過與 Xilinx、MathWorks 以及領先高速模擬供應商長期構建的協作,Avnet 可為嵌入式視覺、軟件定義無線電以及高性能電機控製提供以 DSP 為導向的開發套件和生成就緒型係統級模塊。 |
Avnet |
Mathworks 計算軟件 | Mathworks MATLAB® 和 Simulink® 可顯著縮短 FPGA 及 SoC 係統的開發時間,可幫助用戶:
|
Mathworks |
模擬器件附加電路板 | AD-FMCDAQ2-EBZ FMC 電路板是一款功能齊全的數據采集及信號綜合原型設計平台,支持簡單易行的工作,從而可加速終端係統信號處理開發。
|
Analog Devices |