このデザインには Vivado デバッグ コアが挿入されていて、Dynamic Function eXchange イベント中のアクティビティを監視できます。ICAP を介したコンフィギュレーションの場合、各 BIN ファイルに正しいビットおよびバイト順序を設定し、パーシャル ビットストリームを準備しておくことが重要です。
- Vivado ハードウェア マネージャーで、デバイスをリフレッシュして、すべての Vivado デバッグ コアを検索します。このデザインには、ILA コアが 3 つ、VIO コアおよび MIG コアが 1 ずつあります。
- [Hardware] メニューでパーツを右クリックし、Hardware Device Properties をクリックします。[General] タブでプローブ ファイルを
Bitstreams/top_count_up_shift_right.ltx
にポイントさせます。 - [hw_ila_2] で [+] をクリックし、[Trigger Setup] ウィンドウでプローブを追加します。
- SLOT_2_ICAP_i_1[31:0] を選択し、OK をクリックします。[Radix] を 16 進数を表す [H] に変更します。
- [Trigger Setup] ウィンドウの [Value] に、コンフィギュレーション同期ワード (ビットスワップ) の値である 5599_AA66 を設定します。
- [Settings] ウィンドウで [trigger position in window] を 980 に設定します。
- ハードウェア マネージャーの GUI で [Run Trigger] ボタンをクリックします。
- ボード上で、中央ボタン以外のプッシュボタンをどれか 1 つ押し、シフトまたはカウンターのリコンフィギュレーションをトリガーさせます。または、UART ターミナルを介してこの操作を実行します。
- この結果取り込まれた波形で、次の点を確認します。
- 一番左にある
rm_decouple
信号の 1 つ (リコンフィギュレーションにどの RP を指定しているかによる) が Low から High に遷移しています。これは、パーシャル ビットストリームが配信される前にデザインで隔離されています。 - 同期ワードの前には、000000dd があり、その次に 88440022 があります。これらは、ビットスワップされたバス幅が検出されたことを示しています。
- ICAP 出力は ffffff9b (同期なし、エラーなし) から ffffffdb (同期、エラーなし) へ遷移しています。この遷移は同期ワードが認識されたことを示し、コンフィギュレーション エンジンにビットストリーム データが送信されるはずです。
- 波形のかなり右のほうでは、PRDONE が High から Low へと遷移し、この波形の範囲外にあります。
注記: ビットストリームは複数のセグメントから構成されているので、ビットストリームの中には複数の同期/非同期ペアがあります。たとえば、マルチ SLR デバイスには、SLR ごとにビットストリームがフォーマットされているので、このペアがさらに多くあります。 - 一番左にある
- ICAP_i ポートの値を 0000_00B0 (非同期ワード、ビットスワップ) に変更します。
- [trigger position in window] を 512 に設定します。
- もう一度トリガーを出力し、リコンフィギュレーションを実行します。
結果として出力された波形には、リコンフィギュレーション シーケンスのこの部分の終わりが示されています。また、非同期ワードが確認された後に PRDONE が数サイクル間 High になっています。