xsi_put_value - 2024.1 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2024-05-30
Version
2024.1 日本語
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_numberを参照してください。value は、プログラムが割り当てて値を挿入する必要があるメモリ バッファーへのポインターです。値のフォーマットについては、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