デバッグ中、カーネルを通過するデータの値を表示する必要があることがあります。次の図に示すとおり、Vitis IDE を使用し、オブジェクトをトレースして、指定したメモリ ロケーションに格納されているデータをモニターできます。
図 1.
Vitis Unified IDE でのデータのトレース
- 上記のコード例 (図の手順 1) では、
cb_input
変数がcint16
型のinput_buffer
へのリファレンスとなっています。 - 手順 2 では、Variables ビューの
cb_input
変数に移動します。これは、カーネルの入力データを含むデータ アクセス バッファー ポートのポインター表現です。カーネル関数は、引数として渡されたバッファー データ構造へのポインターに対して演算を実行します。入力バッファー ポートにはデータが含まれます。変数cb_input
のアドレスを確認します。アドレスは0x32000
です。 - 手順 3 では、右上の Memory Inspector ウィンドウを有効にし、+ 記号をクリックしてアドレス
0x32000
を入力します。 - 手順 4 では、[Memory] ビューに、アドレス
0x32000
の内容が表示されます。これが、cb_input0
変数で定義されたデータ アクセス バッファー ポートに含まれるデータです。 - この例では、16 要素のマージン サイズがあり、各要素が
cint16
型であるため、実際のデータは0x32000 + 0x40 = 0x32040
から始まります。データの内容を調べたり、ファイルにエクスポートしたり、16 進数値にマウスカーソルを合わせて特定のデータ形式で表示したりできます。
注記:
Debug コマンドをクリックし、左側のツールバー メニューから中央下にドラッグして、Debug コンソールのスペース内にドロップします。これにより、次の図のように矢印ボタンをクリックして、変数を拡大表示で確認できるようになります。いつでも左側にドラッグすると、元に戻すことができます。
図 2. ウィンドウの再配置