void xsi_get_value(xsiHandle design_handle, XSI_INT32 port_number, void* value);
int Xsi::Loader::get_value(int port_number, void* value);
この関数は、ポート ID port_number
で示されるポートの値をフェッチします。値は値が示すメモリ バッファーに配置されます。ポートの ID 取得については、xsi_get_port_numberを参照してください。
重要: 関数を呼び出すため、プログラムでバッファーに十分なメモリを割り当てておく必要があります。必要なバッファー サイズを判断するには、Vivado シミュレータの VHDL データ形式およびVivado シミュレータの Verilog データ形式を参照してください。
コード例
#include "xsi.h"
#include "xsi_loader.h"
...
// Buffer for value of port "count"
s_xsi_vlog_logicval count_val = {0X00000000, 0X00000000};
Xsi::Loader loader("xsim.dir/mySnapshot/xsimk.so","libxv_simulator_kernel.so");
...
int count = loader.get_port_number("count");
loader.get_value(count, &count_val);