iverilog/vpi
Cary R 7a473166d9 Add the stochastic (queue) tasks/function
This patch adds full support for the stochastic tasks/functions except
the mean inter-arrival and average wait statistics are not currently
available. These will be added in a later patch. This implementation
goes a bit beyond the standard and supports the following:

 1. The job and inform arguments support 32 bit four state values.
 2. The id for all routines, the job and inform arguments for $q_add(),
    the statistic code for $q_exam() along with the queue type and
    maximum length arguments for $q_initialize() can be less than or
    equal to 32 bits. The argument will be sign extended if needed to
    fill the internal 32 bit value.
 3. The job and inform arguments to $q_remove() and the status argument
    for all the routines must be 32 bits, but do not have to be an
    integer variable (e.g. a 32 bit register or part select is OK).
 4. An undefined bit in the id argument for any of the routines will
    return a status of 2 (undefined queue id). Undefined bits are not
    automatically converted to zero.
 5. Undefined bits in the $q_initialize() queue type and maximum
    length arguments or the $q_exam() statistic code argument are also
    flagged as an error (are not converted to zero).
 6. The $q_full() function returns 2 on error, the other routines that
    return a value $q_remove() job/inform arguments and the $q_exam()
    statistic value argument will usually return x on error.
 7. An invalid statistic code will set the $q_exam() status to 8.
 8. The $q_exam() statistic value argument can be 32 bits or larger.
    This allows returning large statistical time values.
 9. All time values are internally saved in simulation time units.
    They will be converted to the calling module's time unit (with
    rounding) before they are returned.
10. If a $q_exam() statistical value is too large to fit into the
    variable the maximum positive value will be returned and the
    status code will be set to 9 (value is too large).
11. If a statistical value is currently undefined $q_exam() will
    return 10 (no statistical information) (e.g. using code 5 on an
    empty queue).
2011-04-13 18:48:57 -07:00
..
Makefile.in Add the stochastic (queue) tasks/function 2011-04-13 18:48:57 -07:00
cppcheck.sup Remove some more cppcheck warnings. 2011-01-12 16:34:42 -08:00
fastlz.c Add initial fst support. 2010-05-21 17:26:44 -07:00
fastlz.h Add initial fst support. 2010-05-21 17:26:44 -07:00
fstapi.c Update fstapi files to latest from GTKWave 3.3.19 2011-02-10 19:14:21 -08:00
fstapi.h Update fstapi files to latest from GTKWave 3.3.19 2011-02-10 19:14:21 -08:00
lxt2_write.c Update lxt_write.c and lxt2_write.c to latest files from GTKWave. 2010-05-13 18:47:54 -07:00
lxt2_write.h Update lxt_write.h and lxt2_write.h from GTKWave 2010-05-01 09:51:54 -07:00
lxt_write.c Update GTKWave files to the latest from GTKWave CVS. 2010-11-02 11:10:59 -07:00
lxt_write.h Update lxt_write.h and lxt2_write.h from GTKWave 2010-05-01 09:51:54 -07:00
mt19937int.c Remove most of the lingering CVS droppings. 2008-12-05 21:48:28 -08:00
sdf_lexor.lex Ignore COND in SDF timing check back annotations 2010-11-18 16:31:33 -08:00
sdf_parse.y Minor SDF parse updates. 2010-11-18 16:31:40 -08:00
sdf_parse_priv.h Ignore COND in SDF timing check back annotations 2010-11-18 16:31:33 -08:00
sdf_priv.h Add support to select min/typ/max delays from the SDF file. 2010-03-22 17:54:09 -07:00
stringheap.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
stringheap.h More end of simulation memory cleanup. 2009-01-25 07:40:28 -08:00
sys_clog2.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_convert.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_deposit.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_display.c Add vpiBitVar support is $display and other vpi functions. 2011-04-03 17:44:23 -07:00
sys_fileio.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_finish.c Add possibility of const-correctness 2010-10-06 15:12:28 -07:00
sys_fst.c Update the FST dumper to include the vpiDefName if it's unique. 2011-03-23 11:55:34 -07:00
sys_icarus.c Add the stochastic (queue) tasks/function 2011-04-13 18:48:57 -07:00
sys_lxt.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_lxt2.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_plusargs.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_priv.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_priv.h VPI access to atom2 types. 2010-10-10 10:06:27 -07:00
sys_queue.c Add the stochastic (queue) tasks/function 2011-04-13 18:48:57 -07:00
sys_random.c Add possibility of const-correctness 2010-10-06 15:12:28 -07:00
sys_random.h Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_random_mti.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_readmem.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_readmem_lex.h Fix/enhance readmem/writemem routines, etc. 2009-02-26 20:46:02 -08:00
sys_readmem_lex.lex Add some casts in vpi to remove warnings. 2009-12-11 21:44:53 -08:00
sys_scanf.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
sys_sdf.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_table.c Add the stochastic (queue) tasks/function 2011-04-13 18:48:57 -07:00
sys_time.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
sys_vcd.c Assert if the vcdid generation overflows. 2010-11-18 16:43:08 -08:00
sys_vcdoff.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
system.sft Add the stochastic (queue) tasks/function 2011-04-13 18:48:57 -07:00
v2005_math.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
v2005_math.sft Add the Verilog-2005 and Verilog-AMS constant system functions. 2008-08-29 21:11:44 -07:00
v2009.sft Initial implementation of $ivl_method$next/prev 2010-11-17 20:00:23 -08:00
v2009_enum.c Various minor enum bugs. 2010-11-22 19:41:00 -08:00
v2009_table.c Initial implementation of $ivl_method$next/prev 2010-11-17 20:00:23 -08:00
va_math.c Make ivl_alloc.h the last include so it doesn't effect any system includes. 2010-11-02 10:51:57 -07:00
va_math.sft Remove obsolete VAMS $log function. 2010-04-27 12:09:07 -07:00
vams_simparam.c Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
vcd_priv.c A '$' is also allowed in identifier names (dumpers) 2011-03-14 16:47:22 -07:00
vcd_priv.h Brainless start to const-correct changes 2010-10-06 15:08:54 -07:00
vcd_priv2.cc Remove malloc.h support and for C++ files use <c...> include files. 2010-06-01 08:56:30 -07:00
vpi_config.h.in Remove malloc.h support and for C++ files use <c...> include files. 2010-06-01 08:56:30 -07:00
wavealloca.h Update wavealloca.h to fix MinGW compilation warning 2009-12-08 20:58:53 -08:00