我试图使用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);但是,如果密钥无效(不存在),则此代码将生成错误消息。如何在不生成错误消息的情况下检查数组中是否存在密钥?
发布于 2018-08-08 17:52:17
VPI没有提供任何机制来查看密钥是否存在。您只能对所有数组元素进行迭代,并在每个元素上使用vpi_handle (vpiIndex, var_select_handle)收集键,并在得到匹配时停止。
https://stackoverflow.com/questions/51752070
复制相似问题