xsi_put_value - 2023.2 简体中文

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

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 简体中文
void xsi_put_value(xsiHandle design_handle, XSI_INT32 port_number, void* value);
void Xsi::Loader::put_value(int port_number, const void* value);

该函数用于将 value 中存储的值存入端口 ID port_number 所指定的端口。如需了解有关获取端口 ID 的信息,请参阅 xsi_get_port_numbervalue 指针指向您的程序必须分配和填充的存储缓冲器。如需了解有关值的正确格式的信息,请参阅 Vivado 仿真器 VHDL 数据格式Vivado 仿真器 Verilog 数据格式

警告:
为最大程度提升性能,Vivado 仿真器不会对您传递给 xsi_put_value 的值的大小和类型执行任何检查。将值传递给 xsi_put_value 时,如果其大小和类型与端口的大小和类型不匹配,则可能导致程序和 Vivado 仿真器出现不可预测的行为。

代码示例:

#include "xsi.h"
#include "xsi_loader.h"
...
// Hard-coded Buffer for a 1-bit "1" Verilog 4-state value
const s_xsi_vlog_logicval one_val = {0X00000001, 0X00000000};
Xsi::Loader loader("xsim.dir/mySnapshot/xsimk.so","librdi_simulator_kernel.so");
...
int clk = loader.get_port_number("clk");
loader.put_value(clk, &one_val); // set clk to 1