グラフ デザインの詳細

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

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

AI エンジン デザインのデータフローは、グラフ デザインと呼ばれる C++ クラスによって定義されます。ビームフォーミング リファレンス デザインでは、1 つのカスケード接続チェーンがサブグラフ bfCascadingChain で定義されています。テンプレート パラメーターの xoffyoff は一番左の AI エンジンの座標を定義し、len はカスケード接続チェーンの長さを AI エンジンの数で指定します。各 AI エンジンにはデータ用と係数用に 2 つの入力が必要なため、チェーン全体で len 入力は 2 つあり、出力は 1 つのみです。

template <int xoff, int yoff, int len>
class bfCascadeChain: public graph {
private:
 kernel core[len];
public:
 port<input> din[len];
 port<input> cin[len];
 port<output> out;
 bfCascadeChain() { 
 ... 
 } ; 
}; // end of class bfCascadeChain

このサブグラフを使用すると、特定の長さのカスケード接続チェーンをいくつかインスタンシエートしてビームフォーミング デザインを構築できます。64 アンテナ 32 レイヤーの 5G NR 100MHz システムの場合、ダウンリンク ビームフォーミングは長さ 4 のカスケード接続チェーン 8 本として記述でき、アップリンク ビームフォーミングは長さ 8 のカスケード接続チェーン 4 本として記述できます。次の表に、サンプル グラフの C++ コードを示します。

ダウンリンク

//-------------------------------------
// DL 64 Antenna 32 Layer
//-------------------------------------
template <int xoff, int yoff> 
class DL64A32L: public graph {
private:
bfCascadeChain<xoff, yoff+0, 4> bf0;
 bfCascadeChain<xoff, yoff+1, 4> bf1;
 bfCascadeChain<xoff, yoff+2, 4> bf2;
 bfCascadeChain<xoff, yoff+3, 4> bf3;
 bfCascadeChain<xoff+4, yoff+0, 4> bf4;
 bfCascadeChain<xoff+4, yoff+1, 4> bf5;
 bfCascadeChain<xoff+4, yoff+2, 4> bf6;
 bfCascadeChain<xoff+4, yoff+3, 4> bf7;
public:
 port<input> din[4];
 port<input> cin[32];
 port<output> out[8];
 DL64A32L(){
 ...
 };
}; // end of DL64A32L

アップリンク

//-------------------------------------
//  UL 64 Antenna 32 Layer
//-------------------------------------
template <int xoff, int yoff> 
class UL64A32L: public graph {
private:
  bfCascadeChain<xoff, yoff+0, 8> bf0;
  bfCascadeChain<xoff, yoff+1, 8> bf1;
  bfCascadeChain<xoff, yoff+2, 8> bf2;
  bfCascadeChain<xoff, yoff+3, 8> bf3;




public:
  port<input> din[8];
  port<input> cin[32];
  port<output> out[4];
  
  UL64A32L(){
 		...
  }; 
};  // end of UL64A32L

ザイリンクス ツールはグラフ デザインをコンパイルし、コンパイル結果を表すブロック図を自動で生成します。次の 2 つの図に、64 アンテナ 32 レイヤーの 100MHz ビームフォーミング リファレンス デザインを使用した 1 つの例を示します。色の付いた楕円はそれぞれ 1 個の AI エンジンを表しており、グレーの長方形はデザインが使用する DMA およびメモリを表しています。DMA、AXI スイッチ、および PL-AI エンジン インターフェイスは、グラフ デザインに従ってザイリンクス ツールによって自動で設定されます。