マップでのユーザー ガイダンスの指定 - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

マップ エラーがツールの制限により発生することがあります。その場合、ツールにガイダンスを供給すると有益である可能性があります。

  1. 次のコマンド ライン オプションを使用して、自動 AI エンジン コンパイラのフロアプランをオフにします。
    -–Xmapper=disableFloorplanning
  2. グラフで境界ボックス制約を使用するか制約ファイルで areaGroup 制約を使用して、独自のフロアプランを作成します。これは、デザインに複数の個別のグラフがある場合に特に有益です。これらの個別のグラフを、アレイの特定の領域に制約できます。この手法は、デザインを収束させるのに役立つだけでなく、異なるグラフのバッファー間の干渉を最小限に抑えてパフォーマンスを向上させるのためにも効果的です。次の図に、16 個のアンテナ転送チェーン デザインを使用した例を示します。青で示されているカーネルは、アンテナ 4 に属します。
    図 1. アンテナ 4 のカーネル

    これを達成する制約ファイルの構文は、次のとおりです。

    {
      "GlobalConstraints": {
        "areaGroup": {
          "name": "ant4_cores",
          "nodeGroup": ["tx_chain4.*"],
          "tileGroup": ["(16,0):(19,3)"]
        }
      }
    }

    これを達成する境界ボックスの構文は、次のとおりです。

    location<graph>(tx_chain4) = bounding_box(16,0,19,3);
  3. 必要に応じてコロケーション制約または絶対ロケーション制約を追加します。このガイダンスを指定してもデザインが収束しない場合は、コロケーション制約または絶対ロケーション制約を追加してみます。コロケーション制約は、次の例に示すように、同じファイルにマップするカーネルとバッファーまたはシステム メモリの間に追加します。
    location<buffer>(kernel_1.out[0]) = location<kernel>(kernel_1);
    location<stack>(kernel_1) = location<kernel>(kernel_1);
    絶対ロケーション制約も追加でき、次の例に示すように、主要なカーネルまたはバッファーを固定して、マップでのほかのコンポーネントの配置をガイドできます。
    location<kernel>(kernel_1) = tile(20, 0);
    location<buffer>(kernel_1.in[0]) =
    
            { address(19, 0, 0x0),
              address(19, 0, 0x2000) }; // double buffer needs two locations