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;
This function opens an HDL design for simulation. To use this
function, you must first initialize an s_xsi_setup_info struct to pass to the function. Use logFileName for the name of the simulation log file, or
NULL to disable logging.
If waveform tracing is on (see xsi_trace_all), wdbFileName is the name of the output WDB (waveform database) file.
Use NULL for the default name of xsim.wdb. If the waveform tracing is off, the Vivado simulator ignores the wdbFileName field.
s_xsi_setup_info struct before filling in the fields, as shown in the
xsi_open. The plain (non-loader) form of the function returns an xsiHandle. xsiHandle
is a C object containing process state information about the design. It is used with
all other plain-form XSI functions. The loader form of the function has no return
value. Check whether the loader has opened a design by calling the isopen member function. Calling the isopen member function returns true if the open member function had been invoked.
Example
#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);