パフォーマンス検証 - 2023.2 日本語

Versal アダプティブ SoC システム統合および検証設計手法ガイド (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 日本語

パフォーマンス検証は困難な場合がありますが、AI エンジンの帯域幅が満たされていることを確認するには、最も重要な手順です。AI エンジンに複数のコンポーネントとプログラマブル ロジックを含む次のような複雑なシステム デザイン例を考えてみます。

図 1. 複雑なシステム デザイン

カーネル 4 が最適に動作するように設計されていても、カーネル 1、2、3 の間にバック プレッシャーがあると、カーネル 4 のパフォーマンスが低下します。これは、従来の FPGA ベースのデザインには存在しない追加の課題です。

システム全体を効率的かつ正しく動作させるため、カーネルを統合する前に、このセクションおよび前のセクションで説明した方法を使用して、上記の各カーネルの機能およびパフォーマンスを検証してください。

AI エンジン パフォーマンス検証では、ジェネレーターが必要なスループットでデータを生成し、チェッカーが必要なスループットでデータをシンクできるようにする必要があります。AI エンジンとプログラマブル ロジック間の各ストリーム インターフェイスは 4 Gb/s で動作できるので、パフォーマンス検証メトリックが満たされていない場合は、インターフェイスを変更し、バスの幅を広げて周波数を下げることができます。たとえば、AI エンジンと PL の間が 64 ビット/500 MHz の場合は、システム全体のパフォーマンスを低下させずに、128b/250 MHz インターフェイスに変更できます。このような決定は、カーネル 2 と 4 のパフォーマンスを個別に検証した後に下すことができます。詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。

AI エンジン ツールには、追加のハードウェアを使用せずに、AI エンジン-PL シム インターフェイスの各インターフェイスのスループットを計測する API が含まれています。これは、AI エンジンと PL 間のパフォーマンス値を把握するのに最も簡単なです。詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。

AI エンジンに十分な帯域幅を生成する方法は 2 つあります。

  • AXI4DMA/S2MM-MM2S カーネルなどのテスト ハーネス ジェネレーター/チェッカーを調整して、AI エンジンで必要な帯域幅をソースおよびシンクします。
  • LFSR または BRAM/URAM ベースのベクターを必要なクロック周波数で生成するカスタム RTL ベースのカーネルを、ファブリック内に設計します。

高パフォーマンス デザインでは、DDR メモリとプログラマブル ロジックの間にデータフローがないので、2 つ目の方法で一貫した帯域幅が得られます。より高速な帯域幅要件を持つ AI エンジン ベースのデザインでは、テスト ハーネスの作成には 2 つ目の方法の方が効率的です。ただし、これには追加の作業が必要です。

Vitis 統合ソフトウェア プラットフォームの資料 に説明されているように、Vitis ツールを使用して、追加のハードウェア デバッグを実行できます。