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
用作为仿真 log 日志文件的名称,或者使用 NULL
禁用日志记录。如果波形追踪已开启(请参阅 xsi_trace_all),那么输出波形数据库 (WDB) 文件名称为 wdbFileName
。使用 NULL
作为 xsim.wdb
的默认名称。如果波形追踪已关闭,那么 Vivado 仿真器会忽略 wdbFileName
字段。
该函数的普通(非加载器)形式会返回 xsiHandle
,此 C 语言对象包含有关设计的进程状态信息,可搭配所有其他普通形式的 XSI 函数一起使用。函数的加载器形式无返回值。但您可以通过查询 isopen
成员函数来检查加载器是否已打开设计,如已调用 open
成员函数,那么该成员函数会返回 true。
示例
#include "xsi.h"
#include "xsi_loader.h"
...
Xsi::Loader loader("xsim.dir/mySnapshot/xsimk.so","librdi_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);