xsi_open - 2023.2 简体中文

Vivado Design Suite 用户指南: 逻辑仿真 (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文
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 字段。

提示: 为保护您的程序以免将来更改 XSI API,AMD 建议您先将 s_xsi_setup_info 结构体置零,然后再填充字段,如 xsi_open 中所示。

该函数的普通(非加载器)形式会返回 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);