我正在尝试使用 VPI 从 C 访问 Systemverilog 关联数组。如果键已经存在,我可以使用以下代码将值写入键的数组元素。
index = vpi_handle_by_index(reg_array, 200); // 200 is an existing key
vpi_value.format = vpiIntVal;
vpi_value.value.integer = (PLI_INT32)array_var_val;
vpi_put_value(index, &vpi_value, NULL, vpiNoDelay);
如果键不存在,则 vpi_handle_by_index() 返回 NULL。我的问题是如何向关联数组添加新键?
同样,我还想使用 VPI 将值推送到 Systemverilog 队列。如何使用 VPI 实现 push_back(val) 方法?