デザイン検証

AI エンジンへのビームフォーミングの実装 (XAPP1352)

Document ID
XAPP1352
Release Date
2021-01-11
Revision
1.0 日本語

AI エンジン デザインは、プログラマブル ロジックとの統合の前に、機能検証およびスループット検証用のシミュレーションを実行できます。次の図に、AI エンジン ビームフォーミング リファレンス デザインの検証ワークフローを示します。

MATLAB® スクリプトによってランダム入力テスト ベクターが生成され、MATLAB リファレンス モデルによってゴールデン テスト データが計算されます。AI エンジン デザインは、SystemC シミュレーション環境 (AI エンジン シミュレータ) で入力テスト ベクターを使用してコンパイルおよびテストされます。AI エンジンのシミュレーション結果は、出力サンプルとそれぞれのタイムスタンプを記録したデータ ファイルに保存されます。最初の出力サンプルから最後の出力サンプルまでの経過時間はタイムスタンプから計測でき、出力サンプルの数もカウントできます。出力サンプル数を時間で割ると、スループットの推定値が得られます。

図 1. AI エンジン デザインの検証ワークフロー

このビームフォーミング リファレンス デザインには 12 個の出力 AXI ストリームがあり、各ストリームに 8 アンテナまたは 8 レイヤーのデータが含まれます。このデザインには、12 のすべての出力と MATLAB によって生成されたゴールデン テスト ベクターを比較するための makefile が含まれます。表 1 (a) は、AI エンジン ビームフォーミング デザインのリファレンス出力とビット単位で一致していることを示しています。この makefile を使用して、すべての出力ファイルからスループットを見積もることもできます。表 1 (b) に示すように、12 の出力 AXI ストリームすべてがスループット目標の 800MSPS を達成しており、そのマージンは 5% を超えています。

表 1. サンプル デザインの検証結果
(a) 機能検証 (b) スループット見積もり
> make check_op
DLBF 0 - diff=0 -
DLBF 1 - diff=0 -
DLBF 2 - diff=0 -
DLBF 3 - diff=0 -
DLBF 4 - diff=0 -
DLBF 5 - diff=0 -
DLBF 6 - diff=0 -
DLBF 7 - diff=0 –
ULBF 0 - diff=0 -
ULBF 1 - diff=0 -
ULBF 2 - diff=0 -
ULBF 3 - diff=0 -
> make get_tp
DLBF 0 Throughput= 856.493 Msps (>800Msps)
DLBF 1 Throughput= 855.901 Msps (>800Msps)
DLBF 2 Throughput= 856.512 Msps (>800Msps)
DLBF 3 Throughput= 856.436 Msps (>800Msps)
DLBF 4 Throughput= 855.939 Msps (>800Msps)
DLBF 5 Throughput= 855.901 Msps (>800Msps)
DLBF 6 Throughput= 856.493 Msps (>800Msps)
DLBF 7 Throughput= 855.901 Msps (>800Msps)
ULBF 0 Throughput= 855.977 Msps (>800Msps)
ULBF 1 Throughput= 855.92 Msps (>800Msps)
ULBF 2 Throughput= 855.901 Msps (>800Msps)
ULBF 3 Throughput= 855.92 Msps (>800Msps)