louie
Junior Member level 1
Need Help in VPI
I have a problem with using VPI in ModelSim(version 5.4). The error message below appears when I try to get a handle on "vpiProcess". Kindly give suggestions on how to solve this problem. Thanks in advance.
Error Message:
# Module INFO: Module Name : test : test File : mod.tst, line no : 0 (mod.tst)
# An error occurred during vpi_iterate()!
# Level:5 State:1 Code: ModelSim Version 5.4 Product: ModelSim
# Message: vpi_iterate(): INTERNAL - Finding objects of type vpiProcess from objects of type vpiModule has not been implemented.
# LineNo: 0 File:
Excerpt of Code:
int list_mod (vpiHandle top_module_h)
{
...
vpi_printf("Module INFO: Module Name : %s : %s File : %s, line no : %d (%s)\n",
defname,name,file_name,line_no,deffile_name);
// vpiProcess
proc_i = vpi_iterate( vpiProcess, top_module_h);
if (vpi_chk_error(&error_info))
{
vpi_printf("An error occurred during vpi_iterate()!\n");
vpi_printf("Level:%d State:%d Code: %s Product: %s\n",
error_info.level, error_info.state,
error_info.code, error_info.product);
vpi_printf("Message: %s\n", error_info.message);
if (error_info.file)
vpi_printf("LineNo: %d File: %s\n", error_info.line,
error_info.file);
else
vpi_printf("LineNo:0 File: NULL\n");
}
....
module_i = vpi_iterate( vpiModule,top_module_h);
if(module_i != NULL)
{
while( (module_h = vpi_scan(module_i)) != NULL)
{
list_mod(module_h);
}
}
}
I have a problem with using VPI in ModelSim(version 5.4). The error message below appears when I try to get a handle on "vpiProcess". Kindly give suggestions on how to solve this problem. Thanks in advance.
Error Message:
# Module INFO: Module Name : test : test File : mod.tst, line no : 0 (mod.tst)
# An error occurred during vpi_iterate()!
# Level:5 State:1 Code: ModelSim Version 5.4 Product: ModelSim
# Message: vpi_iterate(): INTERNAL - Finding objects of type vpiProcess from objects of type vpiModule has not been implemented.
# LineNo: 0 File:
Excerpt of Code:
int list_mod (vpiHandle top_module_h)
{
...
vpi_printf("Module INFO: Module Name : %s : %s File : %s, line no : %d (%s)\n",
defname,name,file_name,line_no,deffile_name);
// vpiProcess
proc_i = vpi_iterate( vpiProcess, top_module_h);
if (vpi_chk_error(&error_info))
{
vpi_printf("An error occurred during vpi_iterate()!\n");
vpi_printf("Level:%d State:%d Code: %s Product: %s\n",
error_info.level, error_info.state,
error_info.code, error_info.product);
vpi_printf("Message: %s\n", error_info.message);
if (error_info.file)
vpi_printf("LineNo: %d File: %s\n", error_info.line,
error_info.file);
else
vpi_printf("LineNo:0 File: NULL\n");
}
....
module_i = vpi_iterate( vpiModule,top_module_h);
if(module_i != NULL)
{
while( (module_h = vpi_scan(module_i)) != NULL)
{
list_mod(module_h);
}
}
}