デザイン検証

ブロックごとにコンフィギュレーション可能な高速フーリエ変換の AI エンジンでの実装 (XAPP1356)

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

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

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

MATLAB® スクリプトによってランダム入力テスト ベクターが生成され、MATLAB リファレンス モデルによってゴールデン テスト データが計算されます。MATLAB bit-true モデルの計算結果が MATLAB 倍精度 fft() および ifft() 関数の計算結果と比較され、正規化されたエラー ベクター振幅 (EVM) が報告されます。次の図は、1000 個のランダム入力データ ブロックから計算された EVM ヒストグラムです。この図は最大 EVM が 0.08%、平均二乗誤差が 0.02% であることを示しています。

図 2. MATLAB bit-true リファレンス モデルの EVM ヒストグラム

AI エンジン デザインは、MATLAB によって生成される入力テスト ベクターを使用して、System C シミュレーション環境 (AI エンジン シミュレータ) でコンパイルおよびテストされます。シミュレーションの結果は、出力サンプルとタイム スタンプを記録するデータ ファイルに格納されます。最初の出力サンプルから最後の出力サンプルまでの時間はタイム スタンプによって測定でき、出力サンプル数もカウントできます。出力サンプル数を時間で割ると、スループットの推定値が得られます。FFT リファレンス デザインには、4 本の出力 AXI ストリームがあります。このデザインには、4 つの出力すべてとリファレンス テスト ベクターを比較するための Makefile が含まれています。次の図で、左側の列は FFT デザインとリファレンス出力の bit-true マッチを示しています。この Makefile により、すべての出力ファイルからのスループットも推定できます。図の右側では、全 4 本の出力 AXI ストリームが 925MSPS の目標スループットに加えて若干のマージンを達成することを示しています。10 個の AI エンジンで構成されるこのデザインの合計スループットの測定値は、3.76GSPS です。

図 3. デザイン検証結果の例