Model Composer では、AIE PLIO ブロックを使用した PLIO の幅の指定と、AI エンジンから PL 境界への外部ストリーミング接続がサポートされます。
図 1. AIE Signal Spec
AIE PLIO ブロックは、プラットフォーム I/O (PLIO) 幅の指定をサポートしています。AI エンジン サブシステムの境界で PLIO の幅を指定すると、AI エンジン ドメインとプログラマブル ロジック (PL) ドメインの間のデータ スループットに影響します。制約マネージャーを使用して PLIO ブロックの制約を設定することもできます。
図 2. AIE PLIO ブロックの [Block Parameters] ダイアログ ボックス
AIE Signal Spec ブロックの [Block Parameters] ダイアログ ボックスの Parameters タブで、ドロップダウン リストから使用可能な PLIO の幅を選択できます。
次の図に示す AIE Signal Spec ブロックが AI エンジン サブシステムの境界に接続されている例を考えてみます。
図 3. AI エンジン サブシステムに接続された AIE PLIO ブロック
デフォルトでは、PLIO の幅は auto
に設定されます。その他有効な値は、32
、64
、および 128
です。
図 4. AIE PLIO ブロックの [Block Parameters] ダイアログ ボックス: PLIO 幅の設定
2 つの AIE PLIO ブロックの PLIO の幅を 64
および 128
に設定すると、図は次のようにアップデートされます。
図 5. アップデートされた AIE Signal Spec ブロック
AIE PLIO ブロックを使用して指定された PLIO の幅は、次のコードに示すように、生成されたグラフコード (graph.cpp) に PLIO 制約として含まれます。
注記: PLIO の幅の追加は、Simulink シミュレーションには影響せず、コード生成のみに影響します。
graph.h の抜粋
adf::input_plio PL_AIE_IN;
adf::output_plio AIE_PL_OUT;
Subsystem() {
PL_AIE_IN = adf::input_plio::create("PL_AIE_IN",
adf::plio_64_bits,
"./data/input/PL_AIE_IN.txt");
AIE_PL_OUT = adf::output_plio::create("AIE_PL_OUT",
adf::plio_128_bits,
"AIE_PL_OUT.txt");
adf::connect< > (PL_AIE_IN.out[0], mygraph.PL_AIE_IN);
adf::connect< > (mygraph.AIE_PL_OUT, AIE_PL_OUT.in[0]);
PLIO 属性は、ファイルからの入力の読み出しまたはファイルへの出力データの書き込みのためにプログラムで使用されます。入力用に宣言された 1 つの 64 ビット PLIO 属性と出力用に宣言された 1 つの 128 ビット PLIO 属性の接続を確認できます。