Vitis IDE では、ハードウェア エミュレーション モードで波形ベースの HDL デバッグがサポートされています。波形は、Vivado ロジック シミュレーション ユーザーが使い慣れた Vivado 波形ビューアーに開きます。Vitis IDE では、カーネル インターフェイスおよび内部信号を表示でき、再開、HDL ブレークポイントなどのデバッグ制御や、HDL コード ルックアップ、波形マーカーもサポートされます。また、最上位 DDR データ転送 (バンクごと) と、計算ユニットの停止、ループ パイプラインのアクティビティ、カーネル特定の詳細も示されます。
詳細は、[Waveform] ビューおよびライブ波形ビューアーを参照してください。
ライブ波形ビューアーが生成されるように設定した場合は、実行ファイルを実行したときに波形ビューアーが自動的に開きます。デフォルトでは、波形ビューアーにすべてのインターフェイス信号と次のデバッグ階層が表示されます。
図 1. 波形ビューアー
- Memory Data Transfers
- すべての計算ユニットからのこれらのインターフェイスを介したデータ転送を表示します。ヒント: これらのインターフェイスのビット幅は、計算ユニットとは異なることがあります。その場合、バースト長が異なります。たとえば、計算ユニットでの 16 個の 32 ビット ワードのバーストは、OCL マスターでは 1 つの 512 ビット ワードのバーストになります。
- Kernel <kernel name><workgroup size> Compute Unit<CU name>
- カーネル名、ワークグループ サイズ、および計算ユニット名。
- CU Stalls (%)
- CU 全体のストールのサマリを表示します。すべての最下位ストール信号のバスが 1 つ作成されます。このバスは、各時点においてアクティブな信号の割合 (%) として波形に表示されます。
- Data Transfers
- CU のすべての AXI マスターのデータ転送を表示します。
- User Functions
- CU の階層内の関数すべてをリストします。
- Function: <function name>
- これは関数名です。
- Dataflow/Pipeline Activity
- CU の関数レベルのループのデータフロー/パイプライン信号を表示します。
- Function Stalls
- この関数内の 3 つのストール信号をリストします。
- Function I/O
- 関数の I/O をリストします。これらの I/O は、
-m_axi
、ap_fifo
、ap_memory
、またはap_none
プロトコルのものです。
ヒント: 波形デバッガーと同様、[Scope] メニューから該当するインスタンスを選択し、[Object] メニューから信号を選択すると、内部信号の追加のデバッグ データを表示できます。また、HDL ブレークポイントなどのデバッグ制御、HDL コード ルックアップ、および波形マーカーもサポートされます。波形ビューアーの詳細は、
『Vivado Design Suite ユーザー ガイド: ロジック シミュレーション』 (UG900) を参照してください。