ヘテロジニアス システムの設計手法

ARF (任意リサンプリング フィルター) のデザイン (XAPP1373)

Document ID
XAPP1373
Release Date
2022-02-28
Revision
1.0 日本語
『Versal ACAP システムおよびソリューション プランニング設計手法ガイド』 (UG1504) で説明されている設計手法を使用すると、さまざまなエンジニアリング チームが同じデザインを並行して開発することが可能になります。Vitis ソフトウェアは、機能ブロックをブラック ボックス (すなわち、カーネル) として抽象化します。各カーネルのインターフェイスは少数の AXI バスのみで構成されます。 MATLAB® または C 言語でプログラムしたビット単位モデルを使用して、すべてのカーネルの動作を正確に定義し、AXI バス上の想定されるデータをテキスト ファイルに格納できます。この手法では、AI エンジン の開発作業と RTL の開発作業は実質的に切り離されます。
図 1. ヘテロジニアス デザインの開発フロー

AI エンジン開発者から見ると、PL デザイン全体が、AI エンジン テストベンチで指定されたクロック周波数とバス ビット幅を持つ少数の入力および出力 AXI ストリームに削減されます。この情報を使用して、AI エンジン シミュレータは入力を駆動し、それに対する出力を保存します。AI エンジンの出力データは、リファレンス テスト ベクターとビット単位で一致する必要があり、データと共に保存されるタイムスタンプに基づいてスループットが見積もられます。より大規模なシステムに統合する前に、AI エンジンのみのシミュレーション環境で AI エンジン デザインを完全に検証しておくことを強く推奨します。

同様に、RTL エンジニアから見ると、AI エンジン カーネルは、RTL テスト ベンチによって駆動またはモニターされる AXI バスとしてモデル化されます。次の図に、2 つの RTL カーネルをテスト対象とする純粋な RTL 検証環境の一例を示します。多くのコーナー ケースや極端な条件は、実際の AI エンジン カーネルを使用して作成することは困難です。したがって、純粋な RTL 環境は、特殊な条件下での RTL デザインの堅牢性を向上させるのに効果的です。また、純粋な RTL のシミュレーションは、AI エンジン+PL+PS (プロセッシング システム) 協調シミュレーションより格段に高速なため、開発の初期段階でターンアラウンド タイムを短縮できます。

図 2. RTL テスト環境

AI エンジンと RTL カーネルを個別に開発した後、すべてのコンポーネントを、入力および出力用の AXI バスのみを持つカーネルとしてパッケージングできます。ザイリンクス Vitis コンパイラは統合作業で高い生産性を発揮するツールです。カーネルを宣言し、各 AXI バスのソースとデスティネーションを記述するだけで、接続を自動化できます。

統合されたデザイン上で AI エンジン+PL+PS 協調シミュレーションを実行する必要があります。波形ビューにより、従来の RTL エンジニアも容易にデバッグ プロセスを進められます。プロセッサ上で動作する C プログラムが、テスト フローを制御し、PL カーネルによって収集されたテスト結果を読み出し、COM ポートから結果を出力します。ハードウェア テストの実行中に信号波形が利用できないときでも、出力された情報によって、デザインが正常に動作していることを簡単に確認できます。