信号值变化时VPI回调的时间单位



在我的VPI回调函数中,我得到了时间的实际值,但这个时间值的单位取决于信号所在模块的时间刻度。如何找到所提供时间的单位?

这是我的监视器VPI功能:

my_monitor(p_cb_data cb_data_p)
{
unsigned int value, bit, i;
for(bit=1,value=0,i=strlen(cb_data_p->value->value.str) ; i ;i--){
// Convert string to  hex value
value += cb_data_p->value->value.str[i-1]=='1' ? bit : 0; // TODO: Check for other values?
bit *= 2;
}
// Save to trace file
fprintf(pv_file_trace,"%15f(?s): %s = %s 0x%Xn",
cb_data_p->time->real,
cb_data_p->user_data,
cb_data_p->value->value.str, value);
}

假设信号在模块中声明,则可以执行

ts = vpi_get(vpiTimeUnit, vpi_handle(vpiModule, cb_data_p->obj));

我找不到我记录的,但ts在10-ts的范围内,以秒为单位

最新更新