ハードウェア エミュレーション - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語
VSC モードは、ハードウェア エミュレーション ターゲット (-t hw_emu) 用にコンパイルされる場合、アクセラレータ ソースから RTL を生成し、アプリケーション層コードに従って RTL シミュレーションを実行します。シミュレーション波形を表示するには、xrt.ini ファイルで次のオプションをイネーブルにします。
[Emulation]
debug_mode=gui
図 1. シミュレーション波形の表示

上の図は、Vivado XSim インターフェイスの波形ビューアーを示しています。デフォルトでは、VSC は compute() インターフェイスに合わせてグループ分けされた波形オブジェクトを作成します。カーネル コードは -g オプションを使用してコンパイルしておかないと、Vivado XSim でグループ分けのエラーが発生します。このデザインでは、アクセラレータの 4 つのインスタンス (NCU=4) がグループ分けされたオブジェクト (vadd*CU_0vadd*_CU_3) として列挙されます。これらの各グループには、compute() 引数、in1in2out、および size に対応する信号がさらに含まれます。kernel_execution グループも自動作成され、CU インスタンスごとに ap_start および ap_done 信号が含まれます。

ヒント: ハードウェア エミュレーションでは、開始信号のタイミングは、実際のハードウェア ビヘイビアーに比べると正確ではありません。これは、ホストとエミュレーション モデル (PCIe を介した、または DDR/HBM メモリを使用したデータ転送レイテンシ) の対話と、アプリケーションがリアルタイムのハードウェア実行ビヘイビアーを反映しないためです。ただし、compute() 呼び出しの開始から停止までのタイミングはサイクル精度で正確です。