diff -u -r gplcver-2.11a.linux.bin.orig/src/v_vpi.c gplcver-2.11a.linux.bin/src/v_vpi.c --- gplcver-2.11a.linux.bin.orig/src/v_vpi.c 2005-07-07 12:38:56.000000000 -0500 +++ gplcver-2.11a.linux.bin/src/v_vpi.c 2005-10-13 14:22:11.000000000 -0500 @@ -2290,7 +2290,16 @@ return(cbref); } /* case 2: for later time */ - schtim = __simtime + ticksdel; + if(datp->reason == cbAtStartOfSimTime) + { + // for cbAtStartOfSimTime, the specified time is absolute, + // not relative to the current tick + schtim = ticksdel; + } + else + { + schtim = __simtime + ticksdel; + } cbref = bld_cbrec(datp, CB_DELAY); alloc_tev_(tevpi, TE_VPICBDEL, __it_roots[0], schtim); hp = (struct h_t *) cbref;