制約は、グラフ ノードのユーザー定義プロパティで、コンパイラに追加情報を提供します。Vitis Model Composer には、AI エンジン ライブラリのカーネル インポート ブロックまたはグラフ インポート ブロック内からこれらの制約を指定できます。グラフ コードの生成中、これらの制約はすべて自動的にグラフ コード内に表示されます。次の図に示すように、AIE Kernel ブロックの [Block Properties] ダイアログ ボックスの Constraints タブには、Open Constraints Editor があります。
Open Constraints Editor をクリックすると、Vitis Model Composer の Model Composer Constraints ダイアログ ボックスが開きます。このダイアログ ボックスでは、次の図に示すように、コア使用率、カーネル ロケーション、バッファー ロケーション、スタック/ヒープ ロケーション、サイズなど、さまざまな制約を指定できます。
AMD Toolbox/AI エンジン/User-Defined Functions ライブラリのすべてのブロックで同様の制約タブが表示され、制約エディターにそのブロックに設定可能な制約が表示されます。これらの制約は、グラフ コードの生成および AIE シミュレーションにのみ使用されるので、追加しても Simulink シミュレーションには影響しません。
特定のカーネル/グラフ インポート ブロックから制約エディターを開くと、Model Composer Constraints ダイアログ ボックスでそのカーネルの制約を指定できます。次の図に示すように、左側のナビゲーション パネルにデザインに含まれるすべてのカーネル/グラフが表示されるので、切り替えて制約を指定できます。これにより、制約を指定するのに各カーネル/グラフ ブロックを個別に開く必要はありません。
このセクションの残りの部分では、Vitis Model Composer でサポートされる制約のタイプを説明します。