如何使用VPI

时间:2018-08-08 17:05:23

标签: system-verilog vpi

我正在尝试使用VPI从C访问Systemverilog关联数组。如果我提供了一个现有密钥,则可以使用以下代码 访问密钥的数组元素。

index = vpi_handle_by_index(reg_array, 200); // 200 is a valid key
vpi_value.format = vpiIntVal;
vpi_get_value(index, &vpi_value);

但是,如果密钥无效(不存在),则此代码会生成错误消息。 如何在不生成错误消息的情况下检查数组中是否存在键?

1 个答案:

答案 0 :(得分:1)

VPI没有提供机制来查看密钥是否存在。您只能遍历所有数组元素,并在每个元素上使用vpi_handle (vpiIndex, var_select_handle)来收集键,并在匹配时停止。