柔軟な DSP ソリューション

大規模並列計算

概要

柔軟性に優れた AMD の FPGA および SoC は、ハードウェアの並列性を利用する高性能/マルチチャネル デジタル信号処理 (DSP) アプリケーションに最適です。AMD の FPGA および SoC では、このプロセッシング帯域幅を実現できると同時に、ハードウェア設計者、ソフトウェア開発者、システム設計者が使いやすい設計ツールなどを含む包括的なソリューションを利用できます。

ハードウェアの並列性

一般的なノイマン型 DSP アーキテクチャは、256 タップ FIR フィルターを実行するのに 256 サイクルが必要ですが、AMD FPGA では 1 クロック サイクルで同じ結果を達成できます。

この大規模な並列性により、非常に高いレベルの DSP 性能が実現します。

この大規模な並列性により、非常に高いレベルの DSP 性能が実現します。

  • 22 TeraMAC (固定小数点)
  • 7.3 TeraFLOP (単精度浮動小数点)
  • 11 TeraFLOP (半精度浮動小数点)

包括的な DSP ソリューション

AMD の DSP ソリューションには、ワイヤレス通信、データ通信、データセンター、航空宇宙/防衛など広範な市場のさまざまなアプリケーションをサポートするシリコン、IP、リファレンス デザイン、開発ボード、ツール、資料、トレーニングが含まれます。

包括的な開発フロー

異なる使用モデル、異なるデザインの抽象化レベルに対応するさまざまなツール フロー:

ハードウェア設計者は次の環境での設計が可能:

C/C++ を使用する開発環境に慣れているソフトウェア開発者は、次の環境での設計が可能:

  • Vivado 高位合成
  • Zynq™ 7000 および Zynq™ UltraScale+™ を使用する SoC ベースの設計に最適な SDSoC
  • データセンターの高速化に最適な SDAccel

システム アーキテクト は次の環境で新しいアルゴリズムの迅速な評価が可能:

ソリューションの選択

AMD の FPGA および SoC を利用する場合、DSP アプリケーションをデプロイするには設計アプローチやデザインの抽象化レベルに依存するさまざまなフローがあります。

ASIC クラスのアーキテクチャをベースとする AMD FPGA 「Virtex™ UltraScale+™」ファミリは、20 TeraMAC 以上の DSP 性能で数百 Gbps の I/O 帯域幅を提供します。最新世代 AMD FPGA で実現できる DSP 性能の鍵となるのは、AMD の DSP スライスとその並列性です。

DSP スライスのアーキテクチャ

UltraScale™ DSP48E2 スライスは、AMD アーキテクチャで 5 世代目の DSP スライスです。

業界一の消費電力と性能を実現するために、この専用 DSP プロセッシング ブロックがフルカスタムのシリコンにインプリメントされるため、乗算累算 (MACC)、乗算加算 (MADD)、または複素乗算などの一般的な DSP 機能を効率的に実装できます。

また、このスライスは、AND、OR、XOR などさまざまなロジック動作を実行する機能も提供します (UG579)。

UltraScale アーキテクチャは、実績ある 7 シリーズをベースとして構築され、機能が強化されたものです。

  • よりビット幅の広い乗算器 (27 x 18 ビット)
  • Squaring MUX を介して前置加算器の出力を 2 乗できる
  • 新しいワイド MUX により、乗算器の後に真の 3 入力加算器が可能
機能強化により、DSP の性能を重視するアプリケーションでは FPGA ファブリックに入る前に DSP48E2 スライス内でより多くの計算を実行する方法を示す図。

これらの機能強化によって、DSP の性能を重視するアプリケーションでは FPGA ファブリックの消費を抑えてDSP48E2 スライス内で多くの演算を実行できるため、結果的にリソースや消費電力を削減できます。

DSP48E1 (7 シリーズ) スライスと DSP48E2 (UltraScale) スライスの機能比較

機能 7 シリーズ UltraScale
DSP タイル/スライスの種類 DSP48E1 DSP48E2
複数の加算/減算/累算動作
乗算/MACC 25 x 18 27x18
2 乗: [(A or B) +/- D]  
WMUX フィードバックを使用する超高効率な複素乗算 CMACC 5 x DSP48E1 3 x DSP48E2
SIMD サポート
インテグレイテッド パターン検出回路
インテグレイテッド ロジック ユニット
ワイド MUX 機能 (48 ビット)
ワイド XOR (96 ビット)  
オプションの 96 ビット出力
カスケード配線
パイプライン レジスタ
D 前置加算器
シーケンシャル複素乗算、AB ダイナミック アクセス
AB レジスタのパイプライン バランシング向上

ツールとフロー

AMD は、ユーザーの好みに合わせて RTL、C/C++、およびモデルベースのデザイン入力に対応するさまざまなツールを提供しています。この柔軟な設計フローで広範な DSP IP カタログを活用することで、AMD のツールやデバイスの適用がよりスムーズになります。

システム レベル デザインの統合設計環境として Vivado IDE を利用することで、完全なデザインを構築して実装し、デバイスをプログラムするためにそれらのビットファイルを生成できます。

FPGA をプログラミングするために、RTL、C / C ++、およびモデルベースのデザイン入力をサポートする AMD ツールの図

詳細は、ツール、ライブラリ、フレームワークを参照してください。

DSP 性能の測定基準

次の表に 7 シリーズ、UltraScale、および UltraScale+ ファミリの主な DSP 性能の測定基準を示します。SoC デバイスの性能は、ソフトウェア開発者のセクションを参照してください。

  Artix 7 Kintex 7 Kintex UltraScale Kintex UltraScale+ Virtex 7 Virtex UltraScale Virtex UltraScale+
ロジック セル (K) / システム ロジック要素 13–215 65–478 318–1,451 356–1,143 326–1,424 783–5,541 862–3,780
DSP スライス 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
固定小数点の性能 (GMACs)(1) 25–464 178–1,424 507–4,090 1,218–3,143 831–2,671 444–2,134 2,031–10,948
対称フィルターの固定小数点の性能 (GMACs) 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
単精度浮動小数点 (GFLOPs) 10–196 96–770 320–2,685 800–1,673 449–1,444 294–1,411 1,354–7,299
単精度浮動小数点 (GFLOPs) 7–147 72–577 240–2,028 609–1,571 337–1,083 220–1,058 1,015–5,474
Reviewed Fuzzy match (Score 97.0%) 半精度浮動小数点 (GFLOPs) 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 – 『AMD デバイスでの INT8 に最適化した深層学習の実装』を参照
  4. DSP スライスを 3 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能
  5. DSP スライスを 4 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能
  6. DSP スライスを 2 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能

 

役に立つ設計手法および情報

AMD FPGA 内の DSP48 スライスを最適かつ効率的に使用するためには、次の資料を参考にして、適切な場所に設計手法を採用する必要があります。

  • 累積的リソースとして DSP スライスのユーザー ガイドを利用する (AR68594)
  • AMD の LogiCORE DSP48 Macro コアは DSP48 スライスを構成するための簡単なインターフェイスを提供する
  • DSP スライスに時分割多重化を使用するとスループットと効率が増加する (AR68595)
  • 浮動小数点の場合、AMD はデータ タイプの変換機能 (浮動小数点から固定小数点など) を含む Floating-Point Operator IP コアを提供

AMD は、ソフトウェア開発環境と使い慣れた優れたツール、ライブラリ、設計手法を含む包括的なソリューションを提供しているため、ソフトウェア開発者は AMD FPGA および SOC をターゲットとする開発を簡単に始めることができます。 Vivado High Level Synthesis (HLS)SDAccelSDSoC などの抽象レベルの高い開発環境を提供する AMD は、C、C++、OpenCL に対応する GPU と同様の使い慣れたエンベデッド アプリケーション開発とランタイムを提供できます。

AMD の SoC および MPSoC

Zynq UltraScale+ MPSoC および Zynq 7000 ファミリは、単一デバイスに ARM® Cortex® プロセッサとユーザー プログラマブル ロジック (PL) を統合したパワフルなプロセッシング システムを提供します。

アクセラレーションのアプリケーション プロファイリング

SDSoC では、指定したアプリケーションのプロファイリングが可能なため、プログラマブル ロジック (PL) でより効率な動作させるためのハードウェア アクセラレーターを作成できます。FPGA の柔軟性と並列性によって大幅な性能向上を期待できます。また、必要に応じて、プロセッシング システム (PS) でアプリケーションのほかの機能を同時に実行することもできます。

AMD の FPGA や SoC をターゲットにすることによって、多くの DSP およびエンベデッド アプリケーションで、アプリケーションの効率が向上し、消費電力が削減されます。

AMD SoC デバイスの機能および DSP 性能

次の表に、AMD の Zynq7000 SoC および Zynq UltraScale+ MPSoC ファミリの主な機能と DSP 性能の測定基準を示します。SoC 以外のデバイスの性能は、ハードウェア設計者のセクションを参照してください。

プロセッシング システム Zynq 7000 SoC Zynq UltraScale+ MPSoC
アプリケーション
プロセッシング ユニット
(APU)
  • 最大 1GHz のシングル/デュアルコア ARM Cortex-A9 MPCore™
  • ARMv7-A アーキテクチャ
  • NEON™ メディア プロセッシング エンジン
  • 単精度/倍精度ベクター浮動小数点ユニット (VFPU)
  • 最大 1.5GHz のデュアル/クワッドコア ARM Cortex-A53 MPCore
  • ARMv8-A アーキテクチャ
  • Neon アドバンスド SIMD メディア プロセッシング エンジン
  • 単精度/倍精度浮動小数点ユニットt (FPU)
リアルタイム
プロセッシング ユニット
-
  • 最大 600MHz のデュアル コア ARM Cortex-R5 MPCore
  • ARMv7-R アーキテクチャ
  • 単精度/倍精度浮動小数点ユニットt (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 スライス 60–2,020 240–3,528
18x18 乗算器 60–2,020 240–3,528
固定小数点の性能 (GMACs)(1) 42–1,313 213–3,143
対称フィルターの固定小数点の性能 (GMACs) 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) 34–1,074 212–3,142

注記 :

  1. すべての性能計算は、Zynq 7000 SoC で -2 スピード グレード、Zynq UltraScale+ MPSoC で -3 スピード グレード
  2. 前置加算器を使用した場合、対称フィルターの DSP 性能が 2 倍向上
  3. WP486 – 『AMD デバイスでの INT8 に最適化した深層学習の実装』を参照
  4. DSP スライスを 3 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能
  5. DSP スライスを 4 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能
  6. DSP スライスを 2 つ使用する Floating Point Operator コアを使用した場合の半精度浮動小数点の性能

AMD SoC および MPSoC の詳細は次のリンクを参照:

プロセッシング サブシステムの DSP

プロセッシング システム (PS) は異なる ARM プロセッシング コアを使用して DSP 処理機能を提供します。

ARM プロセッサの DSP 機能の詳細は次のリンクを参照:

次のリンクから、役に立つ例を参照できます。

Zynq UltraScale+ MPSoC で、ARM NEON 命令セットを使用する FFT について説明しています。UG1211

Zynq7000 SoC で、Cortex-A9 および ARM SIMD をターゲットとする場合、Xilinx Wiki で次のテクニカル ヒントを提供しています。

AMD のデータ タイプ サポート

AMD の デバイスでは非常に柔軟にデータ タイプがサポートされています。AMD ツールでは、固定小数点、浮動小数点、および整数のさまざまな精度がネイティブ サポートされており、浮動小数点演算子は、Floating Point Operator IP コアを使用して実装されます。

FPGA に実装される浮動小数点デザインは、固定小数点や整数の実装と比べて、リソースの使用量と消費電力が高くなります。可能であれば固定小数点ソリューションに変換することで、次のような大きなメリットが得られます。

  • FPGA リソースが削減
  • 消費電力が削減
  • コスト削減

浮動小数点から固定小数点へデータ タイプを変換するメリットの詳細は、WP491 を参照してください。

ベンチマーク

以下の表は、AMD のデバイス、つまりプログラマブル ロジック (PL) のファブリックを使用してデザインを加速する場合の少ないアルゴリズムの選択肢とパフォーマンスの向上を示しています。

アルゴリズム CPU/GPU Zynq UltraScale+ MPSoC アドバンテージ
Stereo LocalBM @ 2K ARM: 0.5 FPS/Watt
nVidia: 3.5 FPS/Watt
146 FPS/Watt 292x
42x
オプティカル フロー
(Lucas-Kanade)
ARM: 0.1 FPS/Watt
nVidia: 0.8 FPS/Watt
7.1 FPS/Watt 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: Quad-core A53 は 1200MHz のRaspberry Pi で動作
注記 2: Nvidia ベンチマークは、Tegra X1 を使用して実行
注記 3: オプティカル フロー (LK) – ウィンドウ サイズ 11x1

アルゴリズム CPU/DSP Zynq 7000 アドバンテージ
フォワードプロジェクション (順投影) ARM: 3 sec/view 0.016 sec/view 188x
動き検出 ARM: 0.7 FPS 67 FPS 90x
ノイズ除去 (ソーベル) ARM: 1 FPS 67 FPS 60x
キャニー エッジ検出 ARM: 0.66 FPS 40 FPS 45x
3D 画像再構成 ARM: 75k 8k 9x
DPD ARM: 506 ms 31.3ms 16x
FIR TI DSP: 64020 ns 1200ns 53x
FFT TI DSP: 1036 ns 128ns 8x

注記 1: Cortex-A9 コアは、ARM をターゲットとする Zynq デバイスでのみ使用される
注記 2: TI ベンチマークは、C66 DSP コアを使用して実行

Vivado の System Generator for DSP や Vivado の高位合成などの AMD の高度な設計ツールは、システム設計者や各分野の専門家が新しいアルゴリズムを迅速に評価してデザインの差別化に集中できる、抽象レベルの高い環境を提供します。包括的な AMD DSP ソリューションは、これらのデザインツール、IP、リファレンスデザイン、メソドロジ、およびボードを組み合わせることで、できるだけ短期間にプロダクション デザインを完成させることができます。

Vivado System Generator for DSP

Vivado System Generator for DSP は、従来の RTL 開発にかかる数分の一の時間でプログラマブル ロジックの量産品質 DSP アルゴリズムを定義、テスト、および実装するために、MATLAB や Simulink 環境を利用するモデル ベースの設計ツールです。

Vivado System Generator for DSP がモデルベースの設計ツール ワークフローであることを示すダイアグラム

ツールが提供するもの:

  • 最適化された 100 以上の DSP ブロック (RTL よりシミュレーションが 2 ~ 3 倍高速化する C シミュレーション モデルがある)
  • DSP システムの RTL、IP、Simulink、MATLAB、C/C++ コンポーネントが統合
  • ビットおよびサイクル アキュレートな浮動小数点/固定小数点シミュレーション
  • シミュレーションを高速化し、実際のハードウェア上でアルゴリズムを評価するためのハードウェア協調シミュレーション
  • Simulink モデルからパッケージ化された IP や低レベル HDL の自動コード生成
  • HDL テストベンチの自動生成 (テスト ベクタを含む)

Vivado System Generator for DSP の詳細は、次のリンクを参照:

Vivado 高位合成 (日本語吹替)

すべての Vivado HLx Edition で無償アップグレードに含まれている Vivado 高位合成により、移植可能な C、C ++、および System C アルゴリズムの仕様を RTL を作成することなく AMD デバイスを直接ターゲットにできます。C/C++ から異なるプロセッサ アーキテクチャへのコンパイラと同様に、HLS コンパイラは C/C++ から AMD FPGA へ同等の機能を提供します。

Vivado HLS の詳細は、次のリンクを参照:

ツール & エコシステム

ツール

AMD は、AMD の FPGA または SoC 上でデジタル信号処理 (DSP) アプリケーションを効率的かつ低消費電力で実装するためのクラス最高のツールを提供しています。以下の AMD ツールは、RTL、C/C++/SystemC、または Matlab/Simulink のいかなる言語を使用する場合でも、DSP 設計を容易にし、市場投入までの時間を短縮します。

ライブラリとフレームワーク

AMD は、性能、リソースの利用率、使いやすさを考慮して最適化された豊富なライブラリを提供しています。

ライブラリ & フレームワーク 説明
アプリケーション
再構成可能なアクセラレーション スタック AMD の再構成可能なアクセラレーション スタックは、世界最大のクラウド サービス プロバイダーがクラウドスケールでアクセラレーション プラットフォームを開発および展開できるようにし、機械学習、データ解析、ビデオ トランスコードなどの複雑なクラウド コンピューティング アプリケーションに究極の柔軟性を与えます。 アクセラレーション ゾーン
GitHub レポジトリ AMD は GitHub レポジトリを作成し、DSP 関連機能を含むさまざまなアプリケーションに役立つサンプル コードを提供しています。

Vivado HLS

SDAccel

パートナーのボードおよびキット

AMD とパートナー企業は、さまざまな市場分野の DSP アプリケーションで AMD の FPGA/SoC を簡単に適用できるようにするためにツールやボードを提供しています。

パートナー 説明 選択
Avnet 社の DSP 中心の開発キットとモジュール

MathWorks 社、および高速アナログ サプライヤとの長年にわたる協力により、Avnet 社は DSP 中心の開発キットとエンベデッド ビジョン、ソフトウェア無線および高性能モータ制御向けのプロダクション対応システムオンモジュール (SOM) を提供しています。

Avnet 社
Mathworks 社のコンピューティング ソフトウェア

Mathworks 社の MATLAB®/Simulink® は FPGA や SoC ベースのシステム開発時間を大幅に短縮できます。ユーザーは次のことが可能になります。

  • 複雑な信号や画像処理、通信、制御アルゴリズムを作成できる
  • 開発初期段階にシステム要件を検証できる
  • AMD の FPGA/SoC プラットフォームをターゲットとする HDL および C コードを生成/検証できる
Mathworks 社
Analog Devices 社のアドオン ボード

AD-FMCDAQ2-EBZ FMC ボードは、操作が簡単な自己完結型のデータ アクイジションおよび信号合成プロトタイピング プラットフォームで、エンド システムの信号処理開発を迅速に行うことができます。

  • AD9680 (14 ビット、1.0 GSPS、JESD204B ADC)
  • AD9144 (クワッド、16 ビット、2.8 GSPS、JESD204B DAC)
  • AD9523-1 は 14 出力の 1GHz クロックで駆動
Analog Devices 社
資料

資料

デフォルト デフォルト タイトル 日付
トレーニングとサポート
ビデオ

主なビデオ


すべてのビデオ

デフォルト デフォルト タイトル 日付