手順 7: FPGA での DFX Controller の変更 - 2023.2 日本語

Vivado Design Suite チュートリアル: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2023-11-29
Version
2023.2 日本語

この最終手順では、シフトの VSM に新しい RM を追加します。create_prom.tcl スクリプトを開くと、ブラック ボックス モジュールが 2 つ既に生成されているのが確認できます。これらは、スタティック デザインがフィールドで運用された後に作成された可能性のある新規 RM です。DFX Controller 設定で、サイズ、アドレス、プロパティ、トリガー条件を割り当てて、この 2 つの RM の 1 つにアクセスします。

  1. シフトの VSM をシャットダウンして、変更できるようにします。
    dfxc_shutdown_vsm vs_shift
  2. 最初の 3 つの RM ID のステータスをチェックして、それらのレジスタ バンクの割り当てを確認します。
    dfxc_show_rm_configuration vs_shift 0
    dfxc_show_rm_configuration vs_shift 1
    dfxc_show_rm_configuration vs_shift 2

    現在、RM ID 2 は、どのパーシャル ビットストリームにも割り当てられていません。これは、コアのカスタマイズ中に初期トリガーをマッピングしたときの設定どおりの動作です。

  3. MCS ファイルが PROM に対して作成されると、既に BPI フラッシュ メモリに読み込まれている追加のブランキング RM が追加されます。vs_shift のブランキング RM にポイントするよう、スロット 2 のトリガー マッピングを割り当て直すには、次のコマンド シーケンスを使用します。
    dfxc_write_register vs_shift_rm_control2 0

    これで、スロット 2 の RM_CONTROL レジスタが定義されます。シャットダウン、スタートアップ、リセットは必要ありません。スロット 2 以外の 2 つのスロットに対しては、リセット期間が異なるので、制御値も異なります。

    dfxc_write_register vs_shift_rm_bs_index2 327684

    これで、この RM ID に新しいビットストリーム リファレンスが割り当てられます。

    dfxc_write_register vs_shift_trigger2 2

    これで、トリガー インデックス 2 で RM 2 が回復されるよう、トリガー マッピングが割り当てられます。DFX Controller 内の RM_BS_INDEX レジスタは 32 ビットですが、2 つのフィールドに分かれています。UltraScale デバイスには、クリア ビットストリームおよびパーシャル ビットストリームが必要です。それぞれのビットストリームに ID があり、その ID で識別されますが、このフィールドでは一緒に参照されます。

    327684 という値は 0000000000000101_0000000000000100 の 2 進数に変換されます。または単純に、ID5 は CLEAR_BS_INDEX の上位 16 ビット、ID 4 は BS_INDEX の下位 16 ビットになります。この振り分けによって、クリアビット ストリームおよびパーシャル ビットストリームの ID が同時に設定されます。

    dfxc_show_rm_configuration vs_shift 2

    これは現在の RM ID 2 のステートを示しています。このコマンドを前回呼び出したときから変更になっている箇所に注目してください。

  4. ビットストリームの詳細を設定して、RM ID 2 のカスタマイズを完了させます。
    dfxc_write_register vs_shift_bs_size4 375996
    dfxc_write_register vs_shift_bs_address4 12935168
    dfxc_write_register vs_shift_bs_size5 26036
    dfxc_write_register vs_shift_bs_address5 13312000
  5. スロット 2 にはプッシュボタンが割り当てられていないので、VSM を再開させてから、ソフトウェアを使用して VSM にトリガー イベントを出力します。
    dfxc_restart_vsm_no_status vs_shift
    dfxc_send_sw_trigger vs_shift 2

    値を 0、1、2 と切り替えて、異なるパーシャル ビットストリームを再読み込みます。スロット 2 のブランキング ビットストリームは、シフター機能を削除するので、LED 上のアクティビティは見られません。

    PROM イメージには、アドレス 13338624 にサイズが 274104 のパーシャル ビットストリームがカウンターのブラック ボックスにありますが、カウンターの VSM は現在コンフィギュレーション中であるため、この同じイベント シーケンスをカウンター VSM には実行できません。DFX Controller をカスタマイズしたとき、VSM に含める RM の数は 2 つのみに設定されているので、拡張はできません。