このインターフェイスは、ICAP プリミティブをシステムの複数のファンクションで共有する場合や、SEM Controller から ICAP へのアクセスを管理する必要がある場合に使用すると便利です。複数のファンクションから ICAP へのアクセスを制御し、SEM Controller から ICAP へのアクセス タイミングを管理するにはこのインターフェイスをユーザー定義の ICAP アービタで駆動するのが理想です。SEM Controller で ICAP を共有する方法の詳細は、ザイリンクスにお問い合わせください。
この図 に、ICAP アービトレーション インターフェイスの信号を変化させた場合の SEM Controller の動作を示します。開始点は次の 2 つがあります。
• コントローラーが監視、検出、診断スキャン ステートの場合 (図の開始点 1)
• コンフィギュレーション後にコントローラーが初めて起動した場合 (図の開始点 2)
白のブロックは、コントローラーが独占的に ICAP にアクセスするステートを示します。グレーのブロックはコントローラーが ICAP にアクセスしないステートを示します。
ICAP アービトレーション インターフェイスの cap_rel および cap_gnt 信号を操作してコントローラーから ICAP へのアクセスを解放した場合、アクセスが再び許可されるとコントローラーは再起動して初期化を実行します (ソフトウェア リセットと同じ動作)。コントローラーから ICAP へのアクセスが停止されている間にコンフィギュレーション メモリまたは設定が変更されたかどうかをコントローラーは知ることができないため、コントローラーから ICAP へのアクセスが再び許可された後にコントローラーの正常動作を保証するには、これが最も安全な方法となります。
この動作が好ましくない場合は、次の手順を手動で実行してコントローラーから ICAP へのアクセスを停止できます。
1. コントローラーをアイドル ステートへ移行させるコマンドを実行します。
2. ICAP へのアクセス権を取得して目的の動作を実行します。
3. 目的の動作を完了して ICAP へのアクセス権を解放したら、コントローラーを監視ステートや検出ステートなど目的のステートへ移行させるコマンドを実行します。
注記: 上記の手順を実行してもコントローラーは再起動/初期化されませんが、ICAP にアクセスして処理を実行中、コンフィギュレーション メモリおよび設定が変更されないようにユーザーが責任を持つ必要があります。これは、SEM Controller の正常動作を継続する上で非常に重要です。
ICAP 共有機能を使用しない場合は、このインターフェイスの入力を次のように接続します。
• cap_gnt = High
• cap_rel = Low