ケース スタディ

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

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

このアプリケーション ノートで提案する汎用行列乗算アーキテクチャは、さまざまなビームフォーミング構成にスケーラブルに対応します。例として、このセクションでは 5G NR 100MHz システムを取り上げます。次の図に、いくつかのユース ケースにおけるビームフォーマーの実装を示します。これらのデザインはいずれも非常にスケーラブルなアーキテクチャに基づいており、入力および出力インターフェイスが異なるだけのごくわずかなカーネルを使用して構築できます。

  1. AI エンジンは (8 × 8) x (8 × 12) の部分行列乗算を実行します (すなわち、u = v = 8、L = 12)。
  2. 入力および出力データ用の各 AXI4-Stream のスループットは 8 × 100=800MSPS で、これは 1GSPS の容量の 80% です。
  3. 係数用の各 AXI4-Stream のスループットは 8 × 8/(12 × 1/100MHz) = 533MSPS です。

AI エンジンのメモリ アクセスはそれぞれのタイル内で完結するため、ほかの AI エンジンとの競合は発生しません。

図 1. AI エンジンに実装した 5G NR 100MHz ビームフォーミング

式 10 により、ナローバンド システムの方が積 (u v) の上限値が大きくなり、したがってシステム パラメーター選択の自由度も大きくなることがわかります。1 つのストラテジとして、ダウンリンクとアップリンクが同じカーネル セットを共有できるように、(u = v ≤ sqrt(8G/B)) とする方法があります。64 アンテナ 16 ストリームで B=20MHz の LTE 20MHz システムでは、(u = v = 16) と設定することにより、図 2 (a) および (b) に示すようなビームフォーマーを構築できます。

もう 1 つのストラテジは、データと係数の AXI ストリームを 1 つに結合するというもので、これは X と H の並列転送を逐次転送に変更するのと等価です。ベクター プロセッサの使用率を 100% に維持するには、次の式を満たす必要があります。

L=12 の 3GPP システムでは、式 11 を簡単にすると次のようになります。

図 2 (c) はもう 1 つ別のダウンリンク ビームフォーミング アーキテクチャで、(u = 32) 本のアンテナと (v = 8) 個のレイヤーを各 AI エンジンで処理するように構成しています。ただし、この場合はレイヤー数が 32 未満のため、アップリンクのカーネル セットは 図 2 (b) に示したものとは異なります。

図 2. AI エンジンに実装した 64 アンテナ 16 ストリームの LTE 20MHz ビームフォーミング

u と v を特定の値にする必要がある場合は、ナローバンド ビームフォーマーのインスタンスを複数使用してワイドバンド ビームフォーマーを構築できます。ただしこの場合、データのマルチプレクスとデマルチプレクスをプログラマブル ロジック (PL) に実装する必要があるため、コストが増大します。次に、上の図に示した 25MHz ビームフォーミング ユニットのインスタンスを 4 つ使用して構成した 5G NR 100MHz ビームフォーマーの例を示します。全体的な AI エンジンの数は 1 インスタンスのワイドバンド ビームフォーマーの場合と同じですが、1.6GSPS のデマルチプレクス ブロックと 6.4GSPS のマルチプレクス ブロックの実装に大規模なロジック リソースが必要となります。

図 3. 4 個の 25MHz ビームフォーミング ユニットを使用した 5G NR 100MHz ビームフォーマー