43 lines
953 B
C
43 lines
953 B
C
#include "vpi_user.h"
|
|
|
|
static PLI_INT32 poke_escaped_calltf(PLI_BYTE8 *xx)
|
|
{
|
|
vpiHandle scope;
|
|
vpiHandle variable;
|
|
s_vpi_value value;
|
|
|
|
(void)xx; /* Parameter is not used. */
|
|
|
|
scope = vpi_handle(vpiScope, NULL);
|
|
variable = vpi_handle_by_name("!\"escaped\"!\\", scope);
|
|
if (variable == 0) {
|
|
vpi_printf("FAILED: failed to find !\"escaped\"!\\ by name\n");
|
|
vpi_sim_control(vpiFinish, 1);
|
|
return 0;
|
|
}
|
|
|
|
value.format = vpiStringVal;
|
|
value.value.str = "PASSED";
|
|
|
|
vpi_put_value(variable, &value, 0, vpiNoDelay);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static void poke_escaped_register(void)
|
|
{
|
|
s_vpi_systf_data tf_data;
|
|
|
|
tf_data.type = vpiSysTask;
|
|
tf_data.tfname = "$poke_escaped";
|
|
tf_data.calltf = poke_escaped_calltf;
|
|
tf_data.compiletf = 0;
|
|
tf_data.sizetf = 0;
|
|
vpi_register_systf(&tf_data);
|
|
}
|
|
|
|
void (*vlog_startup_routines[])(void) = {
|
|
poke_escaped_register,
|
|
0
|
|
};
|