アルゴリズムをデバッグする基本的な方法では、プログラムを実行して主なコード ステップとデータ値を検証します。アプリケーション開発では、チェックポイント文を表示し、コードの現在の値を出力するのが、プログラム実行における問題を特定するのにシンプルで効果的な方法です。これには、printf()
関数または cout
を使用して標準出力に表示します。
C/C++ カーネル モデルに対しては、printf()
はソフトウェア エミュレーションでのみサポートされるので、Vitis HLS 合成から除外されるようにする必要があります。この場合、printf()
文を次のコンパイラ マクロで囲みます。
#ifndef __SYNTHESIS__
printf("Checkpoint 1 reached");
#endif
C++ カーネルでは、コードに cout
を使用して、コードのデバッグに使用するチェックポイントまたはメッセージを追加できます。たとえば、次を追加できます。
std::cout << "TEST " << (match ? "PASSED" : "FAILED") << std::endl;