概述

AMD 自適應 SoC 與 FPGA 得天獨厚的優異彈性,可發揮硬體平行處理能力,正是高效能或多通道數位訊號處理 (DSP) 應用的理想選擇。AMD 自適應 SoC 與 FPGA 將這種處理頻寬,與全方位解決方案相結合,包括易於硬體設計人員、軟體開發人員和系統架構師使用的設計工具。

硬體平行處理能力

標準 Von Neumann DSP 架構需要 256 個週期,才能完成 256 抽頭有限脈衝響應 (finite impulse response, FIR) 過濾,然而自適應 SoC 與 FPGA 可以在單一時脈週期內,就達到相同結果。

DSP Diagram

這種龐大平行處理能力,化為水準卓越的 DSP 效能:

  • 49.5 TeraMACS 的固定點效能(8 位元)
  • 23.1 TeraFLOPS 的單精確度浮點效能

全方位 DSP 解決方案

AMD DSP 解決方案包括晶片、IP、參考設計、開發板、工具、文件和訓練,可在廣大市場中實現大範圍應用,包括但不限於無線通訊、資料中心、航太與國防。

全面開發流程

提供多種工具流程,搭配不同使用模型和相異層級的設計抽象化:

硬體設計人員可在以下層級進行設計:

習慣使用 C/C++ 著手開發的軟體開發人員,可使用以下工具進行設計:

系統架構師可使用以下工具,迅速評估新的演算法:

選擇您的解決方案

設計人員透過 AMD 自適應 SoC 與 FPGA,可以視其設計方法和抽象化層級,使用多個流程部署其 DSP 應用。

Versal AI Engine:滿足新一代應用的高效能 DSP 運算需求

在許多不斷變遷演進的 DSP 市場(例如航太、國防、汽車/工業,以及測試/測量),相關應用持續推動著 DSP 運算加速能力屢創高峰,同時保持能效。 

隨著摩爾定律和登納德縮放比例定律不再依循傳統的軌跡,我們無法再像前幾代產品一般,單靠遷移到新一代晶片節點,就能提供更低功耗、更低成本和更佳效能的優勢。

AMD 為了因應新一代 DSP 應用(例如多相通道化和波束成形)的非線性成長需求,已著手開發創新處理技術,即 AI 引擎,作為 AMD Versal™ 架構的一部分。

深入瞭解 Versal AI Engine:

AI 引擎架構

AI 引擎是由多個 AI 引擎磚組建而成的 2D 陣列,由於這樣的解決方案深具可擴充性,因而成就了高低不同級別的 Versal 產品,在單一器件提供數十個到數百個 AI 引擎,以滿足各種應用的運算需求。 

其優勢包括:

軟體可程式化
  • 可透過 Vitis 統一軟體平台,進行 C 語言的程式設計
  • 透過 Vitis 模型編輯器,進行根據模型的程式設計 
  • 瞭解更多關於 AI 引擎 DSP 設計流程的資訊 
決定性
  • 專用指令和資料記憶體
  • 搭配直接記憶體存取 (Direct Memory Access, DMA) 引擎的專屬連線能力,運用 AI 引擎磚之間的連線,進行排程資料移動作業 
高效率
  • 相較於傳統可程式化邏輯,DSP 的運算密度更高,動態耗電量更低。按一下這裡瞭解更多資訊。 

AMD 自適應 SoC 和 FPGA 採用特殊應用積體電路 (Application-Specific Integrated Circuit, ASIC) 級架構,將每秒數百 Gigabit 的 I/O 頻寬和超過 49 TeraMACS 的固定點 DSP 效能,結合到 Versal™ Premium 系列中。AMD DSP slice 及其平行處理能力,是最新一代 AMD FPGA 得以實現 DSP 效能的關鍵。

DSP Slice 架構

Versal 器件 slice 中的 DSP58,是 AMD 架構的第 6 代 DSP slice。

此專用 DSP 處理區塊在完全客製的晶片中實作,為晶片帶來優異的功耗/效能,讓設計人員能夠有效率地實作常用的 DSP 運算,例如乘積累加 (MACC)、乘法加法 (MADD) 或複數乘法。

這款 slice 還提供執行不同邏輯運算類型的能力,例如 AND、OR 和 XOR 運算。

Versal 器件 DSP58 架構建立在 UltraScale™ FPGA DSP48E2 的成功基礎之上,並進一步強化提升:

  • 更寬的乘法器(27 x 24 位元)
  • 單精確度浮點乘法器
  • 支援運用兩個相鄰 DSP 進行 18 x 18 複數乘法
  • INT8 向量內積模式

上述增強之處有助於 DSP 關鍵應用,在進入 FPGA 結構之前,先在 DSP48E2 slice 中執行更多運算,最終達到節省資源和用電的效果。

DSP48E2 (UltraScale) 與 DSP58 (Versal) Slice 功能比較

功能 UltraScale Versal
DSP 磚/Slice 類型 DSP48E2 DSP58
多重加/減/累加運算
乘法器和 MACC 27x18 27x24
平方:  [(A 或 B) +/- D]2
WMUX 回饋超高效率複數乘法 CMACC 3 個 DSP48E2 2 個 DSP58
SIMD 支援
整合式模式偵測電路
整合邏輯單元
寬多工器功能 48 位元 58 位元
寬 XOR 96 位元 116 位元
單精確度浮點乘法器  
選配 96 位元輸出
串聯路由
管道暫存器
D 預加器
連續複數乘法,AB 動態存取
已改善 AB 暫存器管道平衡

精選影片:

  1. 利用 DSP48E2 slice 中的平方多工器(影片)
  2. 利用 DSP48E2 slice 中的寬多工器回饋(影片)

工具和流程

AMD 按照您的設計偏好提供了各種工具,以支援暫存器傳輸層 (Register Transfer Level, RTL)、C/C++ 和以模型為基礎的設計輸入。設計流程具備這種彈性,加上內容豐富的數位訊號處理 (digital signal processing, DSP) IP 目錄,有助於更輕鬆採用 AMD 工具和器件。

Versal Prime block diagram

如需更多資訊,請造訪工具、程式庫與架構

DSP 效能指標

下表顯示的是 7 系列、UltraScale™ 和 UltraScale+™ 系列的一些關鍵 DSP 效能指標。有關自適應 SoC 器件效能,請參閱「軟體開發人員」一節。

  Kintex UltraScale Kintex UltraScale+ Virtex UltraScale Virtex UltraScale+ Versal AI Core Versal AI Edge Versal AI Prime Versal AI Premium
系統邏輯元素數量 (K) 318–1,451 356–1,143 783–5,541 862–3,780 540 - 1,968 44 - 1,139 329 - 2,233 833 - 7,352
DSP 配量 768–5,520 1,368–3,528 600–2,880 2,280–12,288 928 - 1,968 90 - 1,312 464 - 3,984 1,140 - 14,352
27 x 18 乘法器 768–5,520 1,368–3,528 600–2,880 2,280–12,288 928 - 1,968 90 - 1,312 464 - 3,984 1,140 - 14,352
INT8 GOPS1 1,774–14,315 4,263–11,000 1,554–7,469 7,108–38,318 6,403 - 13,579 62 - 9,052 3,201 - 27,489 7,866 - 99,029
INT16 GOPS 1,014–8,180 2,436–6,286 888–4,268 4,062–21,896 2,134 - 4,526 21 - 3,017 1,067 - 9,163 2,622 - 33,010
複數 INT18 GOPS 676 - 5,453 1,624 - 4,191 592 - 2,845 2708 - 14,597 913 - 1,937 8 - 1,291 456 - 3,920 1,122 - 14,122
單精確度浮點 (GFLOPS)2 320–2,685 800–1,673 294–1,411 1,354–7,299 1,494 - 3,168 14 - 2112 747 - 6,414 1,835 - 23,107

我們導入軟體開發環境,以及一系列為人熟悉且功能強大的工具、程式庫與方法,讓軟體開發人員易於以 AMD 自適應 SoC 與 FPGA 為目標。透過 Vitis™ 統一軟體平台的高階抽象化環境,我們可以為 C、C++ 和/或 OpenCL 開發,提供類似顯示卡和熟悉的嵌入式應用程式開發和執行階段體驗。

AMD MPSoC 和 Versal 器件

Zynq™ UltraScale+™ MPSoC 和 Versal 架構結合功能強大的處理系統 (PS),將 Arm® Cortex® 處理器和使用者可程式化邏輯 (PL),整合至單一器件。

為加速進行應用程式分析

Vitis 統一軟體平台有能力分析特定應用,方便開發人員設計出能在可程式化邏輯 (PL) 中提升執行效率的硬體加速器,善用 FPGA 的彈性和平行處理能力,大幅改善效能。如有需要,還可以在處理系統 (PS) 中,平行執行應用程式的其他功能。

透過將 AMD 自適應 SoC 與 FPGA 視為目標,許多 DSP 和嵌入式應用,即可增進其應用效率且降低耗電量。

AMD SoC 器件特點和 DSP 效能

下表顯示的是 AMD Zynq UltraScale+ MPSoC 系列和 Versal™ 器件的一些關鍵功能和 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)
-
  • 雙核心 ARM Cortex-R5 MPCore,最高 600MHz
  • ARMv7-R 架構
  • 單/雙精確度浮點運算單元 (FPU)
多媒體處理 -
  • 顯示卡 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 乙太網路、SD/SDIO PCIe® Gen2、USB3.0、SATA 3.1、DisplayPort、Gigabit 乙太網路、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 配量 60–2,020 240–3,528
18 x 18 乘法器 60–2,020 240–3,528
固定點效能 (GMACS) (1) 42–1,313 213–3,143
對稱濾波器固定點效能 (GMACS) (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 – 在 AMD 器件上進行 INT8 最佳化的深度學習(不適用 Zynq 器件)
  4. 單精確度浮點效能的計算,根據的是用 3 個 DSP slice 實作 Floating Point Operator 核心的情況
  5. 單精確度浮點效能使用 4 個 DSP slice 的 Floating Point Operator 核心
  6.  半精確度浮點效能的計算,根據的是用 2 個 DSP slice 實作 Floating Point Operator 核心的情況

若要瞭解更多關於 AMD 自適應 SoC 和 MPSoC 的資訊,請前往:

處理子系統中的 DSP

處理系統 (PS) 透過不同的 ARM 處理核心,提供 DSP 處理功能。

如需有關 ARM 處理器中 DSP 功能的更多資訊,請造訪:

以下資料提供了一些實用範例:

Zynq UltraScale+ MPSoC 的部分,請見 UG1211 示範如何使用 ARM NEON 指令集設計 FFT。

對於如何運用 Zynq 7000 SoC 的 Cortex-A9 和 ARM SIMD,Xilinx Wiki 提供了以下技術秘訣:

AMD 資料類型支援

AMD 對其器件提供非常彈性的資料類型支援。AMD 工具原生支援不同的固定點、浮點和整數精確度,其中浮點的支援是在 Floating Point Operator IP 核心的協助下實現的。

相較於固定點或整數實作,在 FPGA 上實作的浮點設計,總會造成更高的資源和電力使用量。可能的話,轉換到固定點解決方案將帶來莫大好處:

  • 減少所用 FPGA 資源
  • 降低耗電量
  • 降低成本

如需更多詳細資訊,以瞭解從浮點轉換到固定點資料類型的好處,請參閱 WP491。

基準測試

下表顯示的是使用 AMD 器件(特別是可程式化邏輯 (PL) 的結構)加速設計的幾種特選演算法,以及可能產生的效能改善。

演算法 處理器/顯示卡 Zynq UltraScale+ MPSoC Advantage
Stereo LocalBM @ 2K ARM:0.5 FPS/瓦
nVidia:3.5 FPS/瓦
146 FPS/瓦 292x
42x
光流
(盧卡斯-卡納德方法)
ARM:0.1 FPS/瓦
nVidia:0.8 FPS/瓦
7.1 FPS/瓦 9.3x
GoogleNet
(批次大小 = 1)
ARM:0.1 Imgs/s/w
nVidia:8.8 Imgs/s/w
53 Imgs/s/w 530x
6x

附註:

  1. ARM:四核心 A53 以 1200 MHz 在 Raspberry Pi 上執行
  2. Nvidia 基準測試使用 Tegra X1 完成
  3. 光流 (LK) - 分窗大小 11 x 1
演算法 處理器/DSP Zynq 7000 Advantage
正向投影 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.3 ms 16x
有限脈衝響應 (FIR) TI DSP:64020 ns 1200 ns 53x
FFT TI DSP:1036 ns 128 ns 8x

附註:

  1. 以 ARM 為目標時,只有使用 Zynq 器件的 Cortex-A9 核心
  2. 進行 TI 基準測試時,使用的是 C66 DSP 核心

AMD 高階設計工具,例如適用於 DSP 的 Vitis 模型編輯器,以及高階合成,提供了一定程度的抽象化,讓系統架構師和領域專家,得以迅速評估新演算法,並專注於開發其設計的差異化部分。這些設計工具、IP、參考設計、方法和開發板共同成就了一套完整的 AMD DSP 解決方案,只要兼採並用,就能在最短時間內,有效達成投產設計。

Vitis 模型編輯器是以模型為基礎的設計工具,利用 MATLAB 和 Simulink 環境,在可程式化邏輯中定義、測試和實現具量產品品質的 DSP 演算法,耗費時間遠少於傳統 RTL 開發。

此工具提供:

  • 超過 100 個最佳化 DSP 區塊,其中許多區塊具有 C 模擬模型,模擬速度比 RTL 快上 2 到 3 倍
  • 整合 RTL、IP、Simulink、MATLAB 和 DSP 系統的 C/C++ 元件
  • 可精算到單一位元及週期的浮點和固定點模擬
  • 硬體共同模擬功能,可加速模擬,並驗證有效硬體上的演算法
  • 自動生成從 Simulink 到成套 IP 或低階硬體描述語言 (Hardware Description Language, HDL) 的程式碼
  • 自動生成 HDL 測試平台,包括測試向量

瞭解更多關於 Vivado System Generator for DSP 的資訊:

高階合成

高階合成,包括 Vitis 統一軟體平台,讓可攜式 C、C++ 和 SystemC 演算法規格,可直接對應 AMD FPGA 和自適應 SoC,無需建立 RTL。正如同有因應 C/C++ 至不同處理器架構的編譯器,HLS 編譯器也是為 C/C++ 至 AMD FPGA 和自適應 SoC 提供相同功能。

瞭解更多關於 Vivado 高階合成的資訊:

工具和生態系統

AMD 提供同類最佳的工具,讓數位訊號處理 (DSP) 應用能在 AMD 自適應 SoC 與 FPGA 上,以低功耗高效率實作。無論您是使用 RTL、C/C++/SystemC 或 Matlab/Simulink 進行設計,以下 AMD 工具都可以輕鬆加快 DSP 設計,並縮短上市時間。

程式庫和架構

AMD 提供一系列針對效能、資源使用率和易用性進行最佳化的程式庫。

程式庫和架構 描述
應用程式
GitHub 儲存庫 AMD 已建立 GitHub 儲存庫,內含許多應用(包括 DSP 相關功能)的實用範例。

Vitis

Vitis 模型編輯器

Vitis 加速

Vitis 加速程式庫 AMD 已建立一組種類多樣的開放原始碼效能最佳化程式庫,可為您現有的應用程式,提供立即可用的加速方案,幾乎或完全無須修改程式碼。 Vitis 程式庫

合作夥伴、開發板和套件

AMD 及其合作夥伴攜手合作,共同製作工具和開發板,協助許多市場部門簡化 DSP 應用採用 AMD FPGA 和 SoC 的過程。 

合作夥伴 描述 解決方案
Avnet 以 DSP 為中心的開發套件和模組

MathWorks 和領先高速類比供應商 Avnet,針對嵌入式視覺、軟體定義無線電和高效能馬達控制,提供以 DSP 為中心的開發套件,以及可立即投入運作環境的系統模組 (System-on-Module, SOM)。

Avnet
Mathworks 運算軟體 Mathworks MATLAB® 和 Simulink® 讓使用者能夠執行以下作業,大幅減少自適應 SoC 和 FPGA 系統的開發時間:
  • 建立複雜的訊號和影像處理、通訊及控制演算法
  • 在開發過程中,早期驗證系統要求
  • 生成並驗證以 AMD FPGA 和 SoC 為目標的 HDL 和 C 程式碼
Mathworks
Analog Devices 擴充板 AD-FMCDAQ2-EBZ FMC 板是獨立資料擷取和訊號合成原型設計平台,支援易於使用的操作,並加快終端系統訊號處理開發工作。
  • AD9680 具有 14 位元、1.0 GSPS、JESD204B ADC
  • AD9144 具有 4 通道、16 位元、2.8 GSPS、JESD204B DAC
  • AD9523-1 由 14 輸出、1 GHz 時脈驅動
Analog Devices

資源

掌握最新動態

加入自適應 SoC 和 FPGA 通知清單,以接收最新消息與更新。

尾註
  1. 請參閱 WP486 - 在 AMD 器件上進行 INT8 最佳化的深度學習
  2. 單精確度浮點效能的計算,根據的是用 3 個 DSP slice 在 Ultrascale+ 中實作 Floating Point Operator 核心的情況