0

我正在尝试使用 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);

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

4

1 回答 1

1

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

于 2018-08-08T17:52:17.373 回答