Y
Yottameter
Guest
In my VPI code I have the following, in which I am trying to force
single bit ports to a 1:
s_vpi_value value_s;
value_s.format=vpiBinStrVal;
char myValue[2]="1";
value_s.value.str=myValue;
vpi_put_value(port_handle, &value_s, NULL, vpiForceFlag);
inside the loop of a module iterating over all the inputs of the module,
so port_handle contains an input port.
I know the following:
1. port_handle exists, I am able to print out the port name, and the
value of the port.
2. vpiForceFlag, vpiNoDelay, etc, do not work. I see the original values
and not the value I have forced, ie a '1'.
3. I'm using vcs, and I tried setting the cli to +cli+3, which didn't do
anything.
4. At the same time I call the PLI function that is supposed to force
the ports, I tried to force it via the verilog, this works.
It's coming down to the vpi_put_value just not 'put'ting the value. What
am I doing wrong here? I've tried integer assigns and scalar assigns as
well.
Joe
single bit ports to a 1:
s_vpi_value value_s;
value_s.format=vpiBinStrVal;
char myValue[2]="1";
value_s.value.str=myValue;
vpi_put_value(port_handle, &value_s, NULL, vpiForceFlag);
inside the loop of a module iterating over all the inputs of the module,
so port_handle contains an input port.
I know the following:
1. port_handle exists, I am able to print out the port name, and the
value of the port.
2. vpiForceFlag, vpiNoDelay, etc, do not work. I see the original values
and not the value I have forced, ie a '1'.
3. I'm using vcs, and I tried setting the cli to +cli+3, which didn't do
anything.
4. At the same time I call the PLI function that is supposed to force
the ports, I tried to force it via the verilog, this works.
It's coming down to the vpi_put_value just not 'put'ting the value. What
am I doing wrong here? I've tried integer assigns and scalar assigns as
well.
Joe