AIE-ML とメモリ モジュールには、それぞれイベント ロジック ユニットがあります。各ユニットには、いくつかのローカル イベントが定義されています。次の図に、AIE-ML タイル内のイベントの概略的な論理構成を示します。イベント ロジックは、メモリ マップド AXI4 インターフェイスを介してプログラムできる一連のアクション レジスタを使用して設定する必要があります。AIE-ML とメモリ モジュールのそれぞれに、イベント ロジックに関連するレジスタ セットがあります。特定イベントの発生時にタスクを実行するように、イベント アクションを設定できます。また、イベント信号を隣接するモジュールに送信するブロードキャスト ロジックも 2 つあります。
イベント アクション
イベント自体にアクションはありませんが、イベントを使用してアクションを作成できます。イベント ブロードキャストとイベント トレースを設定して、イベントを監視できます。イベント アクションの例には、次のものがあります。
- AIE-ML のイネーブル、ディスエーブル、またはリセット
- AIE-ML のデバッグ停止、再開、またはシングル ステップ実行
- AIE-ML のエラー停止
- タイマーの再同期
- パフォーマンス カウンターの開始および停止
- トレース ストリームの開始および停止
- ブロードキャスト イベントの生成
- コンボ イベントの駆動
- ECC スクラビング イベント
これらのイベント アクションにはいずれも関連するレジスタがあり、そこで設定した 7 ビットのイベント番号を使用して、特定のイベントでアクションをトリガーするように設定します。
イベント ブロードキャスト
ブロードキャスト イベントは、設定済みのイベントがアサートされたときにトリガーされるため、イベントでもありイベント アクションでもあります。次に、AIE-ML タイル内のブロードキャスト ロジックの論理構成を示します。AIE-ML およびメモリ モジュール内にあるブロードキャスト ロジック内のユニットは、4 方向すべてから入力を受信し、4 方向すべてに信号を送信します。ブロードキャスト ロジックはイベント ロジックに接続され、イベント ロジックがすべてのイベントを生成します。送信されるイベントを選択するコンフィギュレーション レジスタと、イベントが AIE-ML タイルから送信されるのを阻止するマスク レジスタがあります。
各モジュールには、ブロードキャスト イベント信号をほかの方向にブロードキャストするように指定する内部レジスタがあります。ブロードキャスト ループを防ぐために、受信したイベント信号と内部イベントを OR 演算し、次のリストに従って、送信されるイベント信号を駆動します。
- 内部、右、上、下 → 左
- 内部、左、上、下 → 右
- 内部、下 → 上
- 内部、上 → 下