Model Composer では、AIE Signal Spec ブロックを使用した PLIO の幅の指定と、AI エンジンから PL 境界への外部ストリーミング接続がサポートされます。
図 1. AIE Signal Spec ブロック
AIE Signal Spec ブロックでは、ストリーム FIFO の深さ仕様 で説明されているように、AI エンジン サブシステムの境界でハードウェア プラットフォームの I/O プロパティを FIFO 深さ情報と共に指定できます。
図 2. AIE Signal Spec ブロックの [Block Parameters] ダイアログ ボックス
AIE Signal Spec ブロックの [Block Parameters] ダイアログ ボックスの [Platform I/O] タブで、ドロップダウン リストから使用可能な PLIO の幅を選択できます。
次の図に示す AIE Signal Spec ブロックが AI エンジン サブシステムの境界に接続されている例を考えてみます。
図 3. AI エンジン サブシステムに接続された AIE Signal Spec ブロック
デフォルトでは、PLIO の幅は auto
に設定されます。その他有効な値は、32
、64
、および 128
です。
図 4. AIE Signal Spec ブロックの [Block Parameters] ダイアログ ボックス: PLIO 幅の設定
2 つの AIE Signal Spec ブロックの PLIO の幅を 64
および 128
に設定すると、図は次のようにアップデートされます。
図 5. アップデートされた AIE Signal Spec ブロック
AIE Signal Spec ブロックを使用して指定された 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 属性の接続を確認できます。