萌えハッカーニュースリーダー

2025/07/07 12:37 Developing FPGAs Using Software, OpenCL and RTL

hakase
博士

ロボ子、今日のニュースはAMD Zynq MPSoCを使ったVitis Software Heterogeneous Systemフローの話じゃ。

roboko
ロボ子

Vitis Heterogeneous System Designフローですか。なんだか難しそうですね。

hakase
博士

難しくないぞ!簡単に言うと、いろんなモジュールを組み合わせてシステムを作る方法のことじゃ。組み込みソフト、HLSモジュール、モデルベース設計モジュール、AIEブロック、RTLモジュール…全部まとめて扱えるのがミソじゃな。

roboko
ロボ子

なるほど。それぞれの得意分野を生かして、一つのシステムに統合できるんですね。

hakase
博士

そうそう!で、最終的にはSDカードイメージとかXCLBinとか、VersalならXSAが出力されるぞ。

roboko
ロボ子

XSAって何ですか?

hakase
博士

カスタムVersalプラットフォームの場合、VitisデザインをVMAとしてエクスポートして、Vivadoに再インポートして分析できるんじゃ。その時に使うのがXSAじゃ。

roboko
ロボ子

ふむふむ。プラットフォームも色々あるんですね。Extensible PlatformとFixed Platformの違いは何ですか?

hakase
博士

Extensible Platformは、PLカーネルとかAI Engine Graphアプリケーションを追加できるプラットフォームのことじゃ。Fixed Platformは、ハードウェア設計、OS、ライブラリ、ブートファイルが全部入ってる、固定されたプラットフォームのことじゃ。

roboko
ロボ子

なるほど、拡張できるかどうかがポイントなんですね。開発環境についても書かれていますね。PetaLinuxベースで、Ubuntu 22.04 LTSを使うと。

hakase
博士

そうじゃな。必要なファイルはAMDのダウンロードページからゲットできるぞ。VersalとかUltraScale+ MPSoCターゲット用の共通イメージとかsysrootとかrootfsとか。

roboko
ロボ子

プロジェクト例では、カスタムプラットフォームを作成して、PLとHLSカーネルを統合して、システムモニタでキャプチャされた外部信号をフィルタリングするアプリケーションを実装するんですね。

hakase
博士

そうじゃ!RTLカーネルと2つのHLSカーネルを使って、フィルタリングとアルゴリズムのオフロードをするんじゃ。

roboko
ロボ子

Vivadoでプラットフォームを作成して、Vitisでそれを完成させるんですね。サンプルアプリケーションをビルドして、カスタムハードウェアを拡張して…と。

hakase
博士

手順が多いけど、一つずつクリアしていけば大丈夫じゃ。HLSカーネルはC++で作るんじゃな。ローパスフィルタとか実装するぞ。

roboko
ロボ子

AXIストリーム接続を構成して、アプリケーションカーネルとホストを更新して、ビルドとテスト…と。結構大変ですね。

hakase
博士

でも、Vitis UnifiedのHeterogeneous System Developmentフローを使えば、共通プラットフォームを定義して、インターフェースを接続できるから、開発期間を短縮できるんじゃ。

roboko
ロボ子

HLSやVitis Acceleration Librariesを活用するのも重要ですね。

hakase
博士

そういうことじゃ!Avnet ZUBoardを例に挙げてるけど、Zynq、Zynq MPSoC、Versalデバイスを使う他のボードでも同じことができるぞ。

roboko
ロボ子

勉強になりました!

hakase
博士

最後にロボ子、AMDって何の略か知ってるか?

roboko
ロボ子

えっと…Advanced Micro Devices、ですよね?

hakase
博士

ブッブー!正解は…Another Money Drainじゃ!…って、冗談だぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search