靈活的 DSP 解決方案

大規模並行計算

簡介

Xilinx FPGA 和 SoC 具有與生俱來的高靈活性,是高性能或多通道數字信號處理 (DSP) 應用的理想選擇,這些應用可充分利用硬件的並行性。 Xilinx FPGA 和 SoC 將該處理帶寬與綜合解決方案相結合,包含麵向硬件設計人員、軟件開發人員以及係統架構師的易用性設計工具。

硬件並行性

一個標準 Von Neumann DSP 架構需要 256 個周期才能完成一個 256 個抽頭的 FIR 濾波器,而 Xilinx FPGA 隻需要一個時鍾周期便可達到相同的效果。

圖表顯示大規模並行計算可轉化為極高水平的 DSP 性能

大規模並行計算可轉化為極高水平的 DSP 性能:

  • 22 TeraMAC 的定點性能
  • 單精度浮點的 7.3 TeraFLOP
  • 半精度浮點的 11 TeraFLOP

綜合 DSP 解決方案

Xilinx DSP 解決方案包含芯片、IP、參考設計、開發板、工具、文件和培訓,可實現廣泛市場的各種應用,包括(但不限於)無線通信、數據中心以及航空航天及軍用现金网博e百 。

綜合開發流程

針對不同的使用模型及不同等級的設計抽象提供各種工具流程:

硬件設計者可以在以下方麵進行設計:

軟件真人百家乐游戏开户 ( 習慣於使用 C/C++ 進行開發) 可使用以下工具開發:

係統架構師可快速評估新算法,實現:

選擇您的解決方案

有了 Xilinx FPGA 和 SoC,設計人員可使用多種流程,根據設計方法和抽象級別部署其 DSP 應用。

Xilinx FPGA 基於 ASIC 類架構,可在 Virtex® UltraScale+™ 係列中完美整合每秒數百 GB 的 I/O 帶寬和超過 20 TeraMAC 的定點 DSP 性能。 在最新一代 Xilinx FPGA 中,Xilinx DSP slice 及其並行性是實現 DSP 性能的關鍵。

DSP Slice 架構

UltraScale™ DSP48E2 slice 是采用 Xilinx 架構的第 5代 DSP slice。

這款專用的 DSP 處理模塊在全麵定製的芯片中實現,這種芯片可實現業界領先的功耗性能比,從而可高效實現乘法累加器 (MACC)、乘法加法器 (MADD) 或複雜乘法等普及型 DSP 功能。

此外,Slice 也可提供執行各種邏輯運算的功能,如 AND、OR 和 XOR 運算 (UG579)。

UltraScale 架構建立在成功的 7 係列 (DSP48E1) 基礎之上,可進一步增強功能:

  • 更寬的乘法器(27 x 18 位)
  • 可通過平方多路複用來調整預加法器輸出
  • 全新的寬多路複用特性可在乘法器後麵實現真正的 3 組輸入加法器
圖表顯示了增強功能如何幫助 DSP 關鍵應用在進入 FPGA 架構之前在 DSP48E2 芯片中執行更多的計算。

這些增強功能有助於 DSP 關鍵應用在進入 FPGA 架構之前在 DSP48E2 slice 內執行更多的計算,最終可節省資源及電源。

DSP48E1(7 係列)與 DSP48E2 (UltraScale) 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可作為係統級設計的設計空間,有助於您構建和實現完整的設計並編寫出比特文件,從而編程您的器件。

圖表顯示了 Xilinx 工具如何支持 RTL,C / C ++和基於模型的設計條目來實現 FPGA 編程

訪問工具、庫和框架,了解更多詳情。

DSP 性能指標

下表是 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

注:

  1. 邏輯單元僅適用於 7 係列
  2. 為對稱濾波器使用預加法器,DSP 性能可提高 2 倍
  3. 請參考WP486- “利用 Xilinx 器件的 INT8 優化開展深度學習”
  4. 使用支持 3 個 DSP slice 的浮點運算器內核實現單精度浮點性能
  5. 使用支持 4 個 DSP slice 的浮點運算器內核實現單精度浮點性能
  6. 使用支持 2 個 DSP slice 的浮點運算器內核實現半精度浮點性能

實用設計技術及信息

為了在 Xilinx FPGA 中最優化及最高效地使用 DSP48 slice,應盡可能查閱和利用以下信息及技術。

  • 將 DSP slice 用戶指南用作一個累積資源 (AR68594)
  • Xilinx LogiCORE DSP48 Macro為配置 DSP48 slice 提供了一個簡單易用的接口
  • 時分多路複用 DSP Slice,可提高效率和吞吐量 (AR68595)
  • Xilinx 使用浮點技術提供浮點運算器 IP核,其包括能夠在數據類型間進行轉換,例如從浮點到定點

Xilinx 推出了軟件開發環境及一係列功能強的常見綜合工具、庫以及軟件開發人員可用來便捷鎖定 Xilinx FPGA 及 SoC 目標的方法。 使用這些高級抽象環境,例如Vivado 高層次綜合 (HLS)SDAccelSDSoC,Xilinx 可以為 C、C++ 和/或 OpenCL 開發提供類似於 GPU 且熟悉的嵌入式應用開發和運行時體驗。

Xilinx SoC 和 MPSoC

Zynq UltraScale+ MPSoCZynq-7000係列在單個器件中將功能強大的處理係統 (PS)、整合 ARM® Cortex® 處理器以及用戶可編程邏輯 (PL) 進行了完美整合。

支持加速的應用剖析

SDSoC能夠分析給定的應用並允許創建硬件加速器以在可編程邏輯 (PL) 中更高效地運行 ,利用 FPGA 的靈活性和並行性來大幅提高性能。此外,這還可實現必要時可在處理係統 (PS) 中並行運行的其它應用功能。

通過將 Xilinx FPGA 及 SoC 定為目標,許多 DSP 及嵌入式應用都將實現效率的提升並為其應用降低功耗。

Xilinx SoC 器件的特性和 DSP 性能

下表是 Xilinx Zynq-7000 SoC 和 Zynq UltraScale+ MPSoC 係列的部分重要特性及 DSP 性能指標。 如欲了解非 SoC 器件性能,敬請訪問硬件設計人員部分。

處理係統 Zynq-7000 SoC Zynq UltraScale+ MPSoC
應用
處理單元
(APU)
  • 單核/雙核 ARM Cortex-A9 MPCore™ (達 1GHz)
  • ARMv7-A 架構
  • NEON™ 媒體處理引擎
  • 單雙精度矢量浮點單元 (VFPU)
  • 雙核/四核 ARM Cortex-A53 MPCore (達 1.5GHz)
  • ARMv8-A 架構
  • Neon 高級 SIMD 媒體處理引擎
  • 單/雙精度矢量浮點單元 (FPU)
實時
處理單元(RPU)
(RPU)
-
  • 雙核 ARM Cortex-R5 MPCore™ (達 600MHz)
  • ARMv7-R 架構
  • 單/雙精度矢量浮點單元 (FPU)
多媒體處理 -
  • GPU ARM Mali™-400 MP2,高達 667MHz
    • 提供 OpenGL ES 1.1 和 2.0 支持
    • 支持 OpenVG 1.1
  • 支持 H.264-H.265 的視頻編解碼器(僅 EV 器件)
動態內存接口 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

注:

  1. 所有性能計算均基於 Zynq-7000 SoC 的 -2 速度級部件以及 Zynq UltraScale+ MPSoC 的 -3 速度級部件
  2. 為對稱濾波器使用預加法器,DSP 性能可提高 2 倍
  3. 請參考WP486- “利用 Xilinx 器件的 INT8 優化開展深度學習” (不適用於 Zynq 器件)
  4. 使用支持 3 個 DSP slice 的浮點運算器內核實現單精度浮點性能
  5. 使用支持 4 個 DSP slice 的浮點運算器內核實現單精度浮點性能
  6. 使用支持 2 個 DSP slice 的浮點運算器內核實現半精度浮點性能

如欲了解有關 Xilinx SoC 及 MPSoC 的更多詳情,敬請訪問:

處理子係統中的 DSP

該處理係統 (PS) 可通過不同的 ARM 處理內核途徑提供各種 DSP 處理功能。

如欲進一步了解有關 ARM 的 DSP 功能,敬請訪問:

可在以下位置查看一些實用示例:

對於 Zynq UltraScale+ MPSoC,請查看:UG1211,了解使用 ARM NEON 指令集的 FFT 演示。

對於 Zynq-7000 SoC 而言,在將 Cortex-A9 和 ARM SIMD 確定為目標時,可在 Xilinx wiki 上獲得以下技術要點:

Xilinx 數據類型支持

Xilinx 為其器件提供極其靈活的數據類型支持。 Xilinx 工具原生支持不同精度的定點、浮點和整數,這些浮點運算是在Floating Point Operator IP 核的支持下實現的。

與定點或整數實現方案相比,在 FPGA 上實現的浮點設計始終會導致消耗更多的資源及功率。 如果可能的話,轉化為定點解決方案,將帶來巨大的優勢:

  • 更少的 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

Vivado System Generator for DSP是一款利用 MATLAB 和 Simulink 環境的基於模型的設計工具,以傳統 RTL 開發時間的一小部分,在可編程邏輯中定義、測試和實施生產質量的 DSP 算法。

圖表顯示了 Vivado System Generator for DSP 是一個基於模型的設計工具流程

該工具提供:

  • 100 多個優化 DSP 模塊,許多都有 C 仿真模型,與 RTL 相比,仿真速度提高了 2 至 3 倍
  • 高度集成 DSP 的 RTL、IP、Simulink、MATLAB 和 C/C++ 組件
  • 位精確與周期精確的浮點、定點仿真
  • 硬件協同仿真可加速仿真並可在可行硬件上驗證算法
  • 從 Simulink 到打包 IP 或低層次 HDL 的自動代碼生成
  • HDL 測試台的自動生成,包括測試矢量

了解有關 DSP Vivado 係統生成器的更多詳情:

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 相關功能在內的大量應用提供各種實用示例。

Vivado HLS

SDAccel

合作夥伴、開發板和套件

Xilinx 與其合作夥伴緊密協作,生產了各種工具及電路板,用於在大量不同市場領域簡化 DSP 應用對 Xilinx FPGA 及 SoC 的采用。Xilinx 還與其合作夥伴密切合作,提供範圍廣泛的FPGA 夾層卡

合作夥伴 說明 解決方案
Avnet 以 DSP 為導向的開發套件及模塊

通過與 Xilinx、MathWorks 以及領先高速模擬供應商長期構建的協作,Avnet 可為嵌入式視覺、軟件定義無線電以及高性能電機控製提供以 DSP 為導向的開發套件和生成就緒型係統級模塊。

Avnet
Mathworks 計算軟件

Mathworks MATLAB® 和 Simulink® 可顯著縮短 FPGA 及 SoC 係統的開發時間,可幫助用戶:

  • 創建複雜的信號圖像處理、通信以及控製算法
  • 在開發過程早期驗證係統要求
  • 針對 Xilinx FPGA 和 SoC 生成並驗證 HDL 和 C 代碼
Mathworks
模擬器件附加電路板

AD-FMCDAQ2-EBZ FMC 電路板是一款功能齊全的數據采集及信號綜合原型設計平台,支持簡單易行的工作,從而可加速終端係統信號處理開發。

  • AD9680 采用 14 位、1.0 GSPS、JESD204B ADC
  • AD9144 采用 4 通道、16 位、2.8 GSPS、JESD204B DAC
  • AD9523-1 由 14 組輸出、1GHz 時鍾驅動
Analog Devices
技術文檔
培訓 & 支持
視頻