typedef struct t_xsi_setup_info {
char* logFileName;
char* wdbFileName;
} s_xsi_setup_info, *p_xsi_setup_info;
xsiHandle xsi_open(p_xsi_setup_info setup_info);
void Xsi::Loader::open(p_xsi_setup_info setup_info);
bool Xsi::Loader::isopen() const;
この関数は、シミュレーション用に HDL デザインを開きます。この関数を使用するには、まず関数に渡す s_xsi_setup_info
構造体を初期化する必要があります。シミュレーション ログ ファイルの名前には logFileName
を使用し、ログをディスエーブルにするには、NULL
を使用します。波形トレース機能がオンになっている場合 (xsi_trace_allを参照)、wdbFileName
は出力 WDB (波形データベース) ファイルの名前になります。NULL
のデフォルト名には xsim.wdb
を使用します。波形トレース機能がオフの場合は、Vivado シミュレータにより wdbFileName
フィールドは無視されます。
ヒント:
AMD では、XSI API が今後変更されないようにプログラムを保護するには、xsi_open に示すように、フィールドに挿入する前に
s_xsi_setup_info
構造体を 0 にすることをお勧めします。この関数の標準形式は、デザインのプロセス ステート情報を含む C オブジェクト xsiHandle
を返します。これは、ほかのすべての標準形式 XSI 関数で使用できます。ローダー形式のこの関数は値を返しませんが、isopen
メンバー関数をクエリすることにより、デザインを開いたかどうかをチェックできます。このメンバー関数は、open
メンバー関数が呼び出された場合に true を返します。
例
#include "xsi.h"
#include "xsi_loader.h"
...
Xsi::Loader loader("xsim.dir/mySnapshot/xsimk.so","libxv_simulator_kernel.so");
s_xsi_setup_info info;
memset(&info, 0, sizeof(info));
info.logFileName = NULL;
char wdbName[] = "test.wdb"; // make a buffer for holding the string "test.wdb"
info.wdbFileName = wdbName;
loader.open(&info);