はじめに

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

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

5G 無線通信システムでは MIMO (Multiple Input Multiple Output) 技術が強化され、従来世代よりもアンテナ数を増やすことによってスペクトル効率の向上を達成しています ( 3GPP Std TS 38.212 )。MIMO システムでは、1 つの通信チャネルが多くの独立したサブチャネルにレイヤー化するかのように、空間相関のないデータ ストリームを同じスペクトラムで同時に送受信できます。次の図に、4 つのレイヤーと 6 本のアンテナを使用した OFDM (直交周波数分割多重) システムのビームフォーミングを示します。

図 1. OFDM システムのビームフォーミング

無線基地局はベースバンド ユニットと無線ユニットで構成され、その複雑さはそれぞれレイヤー数とアンテナ数に比例します。ビームフォーミング モジュールはベースバンド ユニットと無線ユニットの間にあり、その複雑さはレイヤー数とアンテナ数の積に比例します。アンテナの数を増やしてより多くのレイヤーをサポートした 5G MIMO システムでは、ビームフォーミングの複雑さは 4G LTE の 320 倍にも達し、このことがシステム設計における最大の課題の 1 つとなっています。

表 1. 4G LTE と 5G NR キャリアの複雑さの比較
キャリアの種類 4G LTE 5G NR
チャネル帯域幅 20MHz 100MHz
アンテナ数 8 64
レイヤー数 2 16
無線の複雑さ 1 に正規化 40x
ベースバンドの複雑さ 1 に正規化 40x

ビームフォーミングの複雑さ

1 に正規化 320x

ザイリンクス AI エンジンは、5G 無線のように膨大な演算が必要とされるさまざまなアプリケーション向けに設計されています。1 つの AI エンジン タイルは、1 つの AI エンジン、32KB のデータ メモリ、および自動データ転送用の 2 つの DMA エンジンで構成されます。各 AI エンジンは、実数どうしの 16 ビット積和演算 (MAC) を 1 クロック サイクルあたり 32 回実行可能なベクター プロセッサを備えています。ベクター プロセッサの性能に合わせて、AI エンジン内部のメモリ アクセス ユニットは 1 クロック サイクルあたり 512 ビットのオペランドを読み出し、256 ビットの計算結果を書き込みます。1 つの Versal™ AI コア デバイスには数百個の AI エンジン タイルがあり、これらはユーザーが定義するデータフローに従ってコンパイル時にカスケード接続バス、AXI ストリーム、および共有ローカル メモリによって接続されます。AI エンジンの詳細は、 『ザイリンクスの AI エンジンとそのアプリケーション』 (WP506: 英語版日本語版) を参照してください。

図 2. AI エンジン タイルのブロック図

従来のプログラマブル デバイスを使用した場合、5G NR ビームフォーマーを実装するには数千個の DSP と数万個のルックアップ テーブル (LUT) およびフリップフロップ (FF) が必要です。このように複雑なシステムの開発には、数か月かかります。このアプリケーション ノートでは、同じ機能を 3 種類のカーネルを使用して数十個の AI エンジン タイルに実装する方法を示します。この方法であれば数日で C プログラミング言語でコーディングできます。この AI エンジン デザインは、 Versal™ AI コア デバイスで 1GHz 以上で動作することが確認されており、タイミング クロージャについて心配する必要はありません。この AI エンジン デザインは非常にスケーラブルなため、システム仕様が変更された場合でも、C コードにわずかな変更を加えるだけで対応できます。