53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
#include <stdio.h>
|
|
#include <vpi_user.h>
|
|
|
|
static PLI_INT32 test_control(PLI_BYTE8 *xx)
|
|
{
|
|
int ret_val;
|
|
int failed = 0;
|
|
|
|
(void)xx; /* Parameter is not used. */
|
|
|
|
ret_val = vpi_control(9999);
|
|
fflush(stderr);
|
|
//vpi_printf("vpi_control(9999) returned %i\n", ret_val);
|
|
if (ret_val != 0) failed = 1;
|
|
|
|
ret_val = vpi_sim_control(9999);
|
|
fflush(stderr);
|
|
//vpi_printf("vpi_sim_control(9999) returned %i\n", ret_val);
|
|
if (ret_val != 0) failed = 1;
|
|
|
|
ret_val = vpi_control(vpiFinish, 0);
|
|
//vpi_printf("vpi_control(vpiFinish, 1) returned %i\n", ret_val);
|
|
if (ret_val != 1) failed = 1;
|
|
|
|
ret_val = vpi_sim_control(vpiFinish, 0);
|
|
//vpi_printf("vpi_sim_control(vpiFinish, 1) returned %i\n", ret_val);
|
|
if (ret_val != 1) failed = 1;
|
|
|
|
if (failed) {
|
|
vpi_printf("FAILED\n");
|
|
} else {
|
|
vpi_printf("PASSED\n");
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static void register_test_control(void)
|
|
{
|
|
s_vpi_systf_data tf_data;
|
|
|
|
tf_data.type = vpiSysTask;
|
|
tf_data.tfname = "$test_control";
|
|
tf_data.calltf = test_control;
|
|
tf_data.compiletf = 0;
|
|
tf_data.sizetf = 0;
|
|
vpi_register_systf(&tf_data);
|
|
}
|
|
|
|
void (*vlog_startup_routines[])(void) = {
|
|
register_test_control,
|
|
0
|
|
};
|