- ハードウェア マネージャーを開き、ターゲット ボードに接続します。
ターゲット ボードは、ローカルのものでも、リモート サーバー上のものでもかまいません。この接続方法の詳細は、ユーザーのセットアップによって異なります。デザインにリモートにアクセスする場合は、VIO または ILA デバッグ コアを介します。
- ボードに接続できたら、次は FPGA インスタンスを右クリックし、Program Device をクリックします。デフォルトで、top.bit ファイルが project_1.runs/impl_1 ディレクトリから選択されているはずです。選択されていない場合は、impl_1 プロジェクト run ディレクトリから top.bit を選択します。top.ltx プローブ ファイルは自動的に選択されます。これは、乗算器 RM が含まれている完全なデバイス ビットストリームです。
- hw_vio_1 ダッシュボード タブをクリックします。これが表示されていない場合は、Dashboard Options を開いて hw_vio_1 チェック ボックスをオンにします。
- + ボタンをクリックし、Add Probes ダイアログ ボックスからすべてのプローブを選択し、OK をクリックします。
- プローブを右クリックし、次のように設定します。
- count_out_OBUF[7:0] のバス – 基数 (符号なし 10 進数)
- count_out_OBUF[7:0] の個々のビット – LED (Low の場合は赤、High の場合は緑)
- pause_vio_out – アクティブ High のボタン
- reset_vio_out – アクティブ High のボタン
- toggle_vio_out – アクティブ High のボタン
- vio_select – トグル ボタン
設定後のダッシュボードは次のようになります。
- vio_select の値を 1 に変更します。これで物理的なボード上のボタンがディスエーブルになるので、VIO を介し、一時停止、リセット、およびトグル ボタンをイネーブルにします。
- [Pause_vio_out] の Value をクリックして、[pause] ボタンを選択します。特定の値で LED のカウンターが停止します。[count_out_OBUF] の値は符号なしの 2 進数である点に注意してください。このスクリーンショットでは値は 12 です。
- [toggle_vio_out] ボタンをクリックします。現在の RM は乗算器なので、count_out_OBUF バスの値は二乗になっています。この場合は 144 です。
- [pause] ボタンをクリックするとカウンターが開始します。これで、count_out_OBUF の値は、0 から 15 までの値を二乗した値でカウントされるようになります (1、4、9、16、25 とカウントされる)。注記: ハードウェア マネージャーの内部クロックの相対的な周波数やサンプリング レートを考慮すると、すべての値を順番に確認できるわけではありません。
- リセット ボタンを押し、デフォルト ステートにデザインを戻します。カウントが最初の 0 から 15 までの範囲で再開します。
- デザインを理解するため、これらのボタンを何度か押してみてください。ローカル ボードがある場合は、vio_select をトグルし、ボード上のボタンや LED を使用して、同じ動作になるかどうかを確認します。
- ILA ダッシュボードに切り替えます。ここまでは、スタティック デザインにある VIO を使用してきました。乗算器の結果は確認できますが、この RM 内の波形を確認する必要がある場合は、その中にある ILA を使用して確認できます。
-
Trigger
Setup ウィンドウで + ボタンをクリックし、my_math/mult[7:0] プローブを追加します。(Trigger Setup および波形ウィンドウの両方で) 基数を [unsigned decimal] に変更し、その値を 196 (14x14 など) に設定します。
- ILA の設定ウィンドウでトリガー位置を 512 に変更します。
- 波形のツールバーにある [run trigger] ボタンをクリックします。波形が 169 から 196 へと (132 から 142) 遷移するのが確認されます。 注記: VIO がデザインを停止させていないことを確認してください。デザインが停止していると、トリガーが発生しません。
- 加算器のパーシャル ビットストリームを読み込みます。Hardware ビューでターゲット パーツを右クリックし、Program Device を選択します。
-
UltraScale パーツをターゲットにしている場合は、まずクリア ビットストリームをプログラムして、次のパーシャル ビットストリームのデザインを準備する必要があります。ビットストリーム ファイルには、乗算器のクリア ビットストリームを選択します。project_1.runs/impl1/ ディレクトリに移動し、my_math_mult_partial_clear.bit ファイルを選択します。
LTX ファイルのペアが自動的に選択されます。Program をクリックします。
- VIO ダッシュボードに切り替え、カウンターがまだカウント実行中であることを確認します。乗算器の出力に切り替えるのにトグル ボタンをクリックする場合は、値が 255 に保持されます。これは、RP のロジックが現在ディスエーブルになっているためです。トグル ボタンをクリックして、カウンターに戻ります。リモート制御するには、vio_select を 1 に設定する必要があることを思い出してください。
- Hardware ビューでターゲット パーツを右クリックし、Program Device を選択します。
-
Bitstream
file の場合は、project_1.runs/child_0_impl_1/ ディレクトリに移動し、my_math_add_partial.bit ファイルを参照します。
ここでも LTX ファイルのペアが自動的に選択されます。Program をクリックします。
- VIO ダッシュボードで、[pause] を選択します。この場合、値は 6 で停止します。1 回トグルした後、値は 18 になります。加算器により同じ値が 3 回追加されます。
- ILA ダッシュボードに切り替えます。Trigger Setup ウィンドウで [+] をクリックし、my_math/outtemp2[5:0] バスを追加します。トリガーの設定を次のように変更します。
- Radix = [U] ((符号なし 10 進数)
- Value = 30
- ILA の設定ウィンドウでトリガー位置を 512 に変更します。
- 波形ウィンドウで [+] ボタンをクリックし、my_math/outtemp2[5:0] プローブを波形に追加します。プローブを右クリックし、基数を符号なしの 10 進数に設定します。
- 波形ウィンドウで、ILA のトリガー ボタンをクリックします。27 (9+9+9) から 30 (10+10+10) へと遷移するのが確認されます。注記: VIO がデザインを停止させていないことを確認してください。
すべてが正しく機能していることが確認できたら、ハードウェア マネージャーを閉じます。