Vitis Model Composer とは

AMD Vitis™Model Composer は、アルゴリズム開発とハードウェア実装をシームレスにつなぐ、抽象度の高い設計およびシミュレーション ツールです。MathWorks MATLAB® および Simulink® と高度に統合されているため、次のことを可能にします。

  • Simulink 上で、ハードウェア アクセラレーション対応アルゴリズムをグラフィカルに設計およびシミュレーションできる。
  • 低レベルの HDL や AI エンジン C コードを記述することなく、初期段階からデザイン空間を探索できる。
  • MATLAB/Simulink モデルから、AMD アダプティブ SoC および FPGA (最新の AI エンジン搭載 Versal™ デバイスを含む) 向けの合成可能なハードウェア IP を直接生成できる。

Vitis Model Composer は、AMD Vivado™Design Suite (Standard または Enterprise) および AMD Vitis™ 統合ソフトウェア プラットフォームと連携して動作するアドオン ライセンスとして提供されています。モデルベース設計により、アルゴリズム開発からハードウェア実装までのプロセスを効率化でき、アルゴリズム開発者にとって有用なツールです。

Vitis Model Composer の主な機能

MATLAB と Simulink 環境を利用して、デザインの解析や視覚的検証が可能になります。

  • Simulink ライブラリ ブラウザーから、最適化済みの AI エンジン、HLS、および HDL ブロックを直接使用する
  • カスタマイズした AI エンジン、HLS、および HDL コードをブロックとしてインポートする
  • Simulink 環境で高速シミュレーションを実行する
  • MATLAB および Simulink 環境のゴールデン リファレンスと結果を比較する
  • 中間信号を利用して、デバッグおよびデザインの視覚的検証を行う

ヘテロジニアス システムの協調シミュレーション:

  • 最適化済みの AI エンジン/HLS/プログラマブル ロジック (PL) をライブラリ ブラウザーから直接使用、またはコードをブロックとしてインポートする
  • AI エンジン アレイを HLS カーネル ブロックまたは HDL ブロックにシームレスに接続する

デザインからコードを生成することで、開発効率が向上:

  • 制約と共にグラフ コードを生成する
  • RTL (Verilog/VHDL) を生成する
  • プラグマが挿入された最適化した HLS コードを生成する
  • テストベンチを生成する

ハードウェアでデザインを簡単に検証:

  • データ ムーバー、プロセッシング システム コード、コンフィギュレーション ファイルを生成する
  • ハードウェア用デザインを構築するために makefile を生成する
  • ボタンをクリックして、デザインをハードウェアに移動する

Vitis Model Composer デザインの作成とシミュレーション

AMD Vitis™ Model Composer ツールの概要、および HDL、HLS、AI エンジンを用いたデザインの作成とシミュレーションの方法を説明します。また、AI エンジンとプログラマブル ロジックを組み合わせたヘテロジニアス デザインの構築方法についても解説します。

AMD Vitis™ Model Composer Hub ブロックの使用

AMD Vitis Model Composer Hub ブロックの概要を説明します。このブロックを使用して、ハードウェアの選択、コードの生成、デザインの解析と検証、そして最後にハードウェア上での検証を行う方法を学習します。

Vitis Model Composer を使用した Versal AI エンジンの設計

Versal AI エンジンは、AMD アダプティブ SoC 上での機械学習、DSP、信号処理タスクに最適化された専用の演算ユニットです。Vitis Model Composer は、これらの AI エンジンを効果的に活用するために、次の機能を提供します。

AI エンジン ライブラリ ブロック

  • 事前構築済みの AI エンジン IP ブロックを提供: 次のようなすぐに使用できる DSP/信号処理ブロックを利用できる。
    • FIR フィルター (有限インパルス応答)
    • FFT (高速フーリエ変換) および iFFT
    • DDS (ダイレクト デジタル合成)
    • Mixer

これらのブロックは AI エンジンの機能をモデル化しており、設計者が AI エンジンを用いたアルゴリズムを迅速にプロトタイプ化し、シミュレーションできるようにします。

カーネル インポートとデータフローの統合

  • カスタム カーネルのインポート: ユーザーはカスタム AI エンジン カーネル (C++ または HLS で記述されたもの) をブロックとして Simulink にインポートできます。これにより、カスタム AI エンジン コードとグラフィカル モデルを組み合わせて使用できます。
  • データフロー グラフのインポート: AI エンジンのデータフロー グラフのインポートに対応しており、複雑な AI エンジンの演算パイプラインを視覚的に構成および接続できます。

混合デザイン シミュレーション

  • Vitis Model Composer は、AI エンジン ブロックとプログラマブル ロジック ブロック (HDL または HLS) が混在するデザインのシミュレーションをサポートします。これにより、ヘテロジニアス コンピューティング リソース間でのシステムレベルの相互動作、タイミング、データ転送を検証できます。

可視化とデバッグ

  • Simulink のソース ブロックとシンク ブロックは AI エンジン ブロックに直接接続し、シミュレーション中の信号を監視および視覚化できます。
  • サイクル近似シミュレーションのサポートにより、AI エンジンのワークロードの性能を初期段階で推定することが可能になります。

最新情報

2025.2 リリースのハイライト

AIE および HDL の両方で使用可能な追加ブロック

AIE、AIE-ML、AIE-ML v2 (例: Versal AI コアおよび AI エッジ シリーズ、Versal AI エッジ シリーズ Gen2)

  • 新規: Function Approximation​ (関数近似)
  • 新規: Correlation/Convolution (相関/たたみ込み)
  • 新規: Cumulative Sum (累積和)

HDL ライブラリ ブロック

  • 強化: FFT (ネイティブ浮動小数点 SSR = 32、64 に対応)
  • 強化: FIR (SSR を用いたフラクショナル レート補間に対応)

Vitis Model Composer のその他の機能強化

  • HLS–AIE ブリッジ ブロックによりマルチレート システムのモデリングをサポート。異なるクロック ドメインを持つデザインを効率的にモデリングでき、データを破損させることなく安全に転送
  • MATLAB®R2025b のサポートを追加
  • Red Hat® Enterprise Linux® (RHEL) 9.6, 10.0 のサポートを追加

複数の最上位 AI エンジン サブシステムをサポート

AIE および HDL の両方で使用可能な追加ブロック

AI エンジン

  • Bitonic ソート (Versal AI コア シリーズ、Versal AI エッジ シリーズ、Versal AI エッジ シリーズ Gen2)
  • DFT/FFT (Versal AI エッジ シリーズ Gen2)
  • FIR – シングル レート、ハーフバンド、レート変換、フラクショナル リサンプラー (Versal AI エッジ シリーズ Gen2)
  • DDS/ミキサー (Versal AI エッジ シリーズ Gen2)

HDL ライブラリ

  • 拡張 FFT – SSR モードの追加
    • SSR 8、16、32、64 (ネイティブ浮動小数点)
    • SSR 2、4 (固定小数点)
  • 強化された複素乗算器 (DSP58 リソースの使用を削減)
    • CFLOAT MAC の新規サポート
    • ベクトル IFFT 浮動小数点演算 – 新しいブロック

Vitis Model Composer 向け Versal AI Engine DSP ライブラリの更新:

  • AIE (Versal AI コア、Versal プレミアム シリーズで利用可能) 
    • Mixed Radix (混合基数) FFT​ 
    • Stockham FFT の性能向上 
    • TDM FIR​ 
  • AIE-ML (Versal AI エッジ シリーズで利用可能) 
    • TDM FIR​ 
    • DDS (ダイレクト デジタル合成 – 波形生成に使用)​ 
    • Mixer (周波数シフトに使用) 
  • AIE-MLv2 (Versal AI エッジ Gen 2 シリーズで利用可能) 
    • FIR 
    • DFT 
    • DDS​ 
    • Mixer 

GitHub - Xilinx/Vitis_Model_Composer (2024.2)

Vitis Model Composer における新しい HDL ブロック:

  • シンプル デュアル ポート RAM (新しいブロック) 
  • ダイレクト デジタル合成 (DDS) コンパイラ (ネイティブ浮動小数点サポートを追加) 
  • FFT 
    • SSR=2、4 でのネイティブ浮動小数点演算に対応 
    • Versal デバイスの DSPFP32 プリミティブにマッピング 

その他の改善点

  • Vitis Model Composer に搭載された AIE/HLS カーネルに対し、Vitis デバッガーを使用可能 
  • Vitis Model Composer から .vss ファイルとして Vitis サブシステムをエクスポート可能 
  • Vitis Model Composer にデータ型が追加 
    • cbfloat16 をサポート 
    • カスケード信号をサポート: int8/uint8、int16/uint16/cint16、int32、uint32、cint32、float/cfloat 
  • デザイン ルール チェック (DRC): ビルド プロセス (シミュレーションなど) の初期段階で設計上の問題を検出および表示 
  • コード生成の応答時間が高速化 
    • すべてのデザインに対してシミュレーションを 1 回のみ実行 
  • Hub ブロックの設定を JSON ファイルとして保存 (迅速なプロトタイピングやバッチ処理に有効) 

バージョン 2024.2 で OS および MATLAB のバージョン サポートが追加

  • MATLAB R2024a 
  • Red Hat Enterprise Linux® (RHEL) 8.10、9.4 

GitHub で新たなサンプル デザインを利用可能

ダウンロード

購入

Vitis Model Composer は、Vivado ML スタンダード/エンタープライズおよび Vitis 統合ソフトウェアプラットフォームのアドオン ライセンスとして購入できます。 
検討するには製品のライセンス取得ページで 90 日間の無償評価版ライセンスを生成できます。 

リソース

AI エンジン ライブラリ

  • 演習 1: Versal™ アダプティブおよび AI エンジンの概要
  • 演習 2: AI エンジン デザインの構築とシミュレーション
  • 演習 3: カスタム AI エンジン コードをインポート
  • 演習 4: AI エンジン コードの生成とサイクル近似シミュレーション
  • 演習 5: Vitis アナライザーでの AI エンジン デザイン
  • 演習 6: Versal アダプティブ デザインのハードウェア検証

HLS ライブラリ

これらのチュートリアルでは、Vitis Model Composer HLS ライブラリについて理解し、HLS ブロックを使用してシンプルなデザインを構築し、Vitis Model Composer でサポートされているデータ型について学ぶことができます。

HDL ライブラリ

これらのチュートリアルでは、Vitis Model Composer HDL ライブラリを使用して Simulink® のデザインを指定し、FPGA に合成する方法を学ぶことができます。 

脚注
  1. 2023 年 8 月 10 日に実施したテストに基づいています。このテストでは、Vitis HLS のリリース 2023.2 と 2023.1 を使用して、Vitis L2/L3 コード ライブラリ デザイン 1000 個を対象に比較しました。テスト システムは、Intel Xeon E5-2690 v4 @ 2.6 GHz CPU、256 GB RAM、RedHat Enterprise Linux 8.6 で構成されています。実際のパフォーマンスは異なる可能性があります。システム メーカーの構成によって、異なる結果が生じる場合があります。-VGL-04
  2. 2023 年 2 月 12 日時点で存在する 1208 個すべての Vitis L1 ライブラリの C コード デザインに対してベンチマーク テストを実施しました。すべてのデザインは、CentOS Linux を搭載した 2 つの Intel Xeon E5-2690 CPU を使用し、SMT が有効で Turbo Boost が無効に設定されたシステムを使用して実行しました。ハードウェアの構成がソフトウェアのテスト結果に影響を与えることはないと考えます。ソフトウェアやファームウェアの設定や構成によって結果が異なる可能性があります - VGL-03