iverilog/vpi
Cary R 239523b3c7 Implement the swrite* and sformat system tasks plus a few other fixes.
This patch implements the swrite* and sformat system tasks. It also
makes $simtime distinguishable from the other integer time tasks.
This was needed to get the correct time units when $simtime was given
as an argument to $swrite*. The string constant code was also modified
to allow a string to be returned as a vector (0/1 bit pattern).

Here are some more specifics about the swrite* changes.
1. They do not share formatting code with the other display functions,
   so they may/will produce different results.
2. All %{alpha} codes allow a width and justification. Others have been
   enhanced (%t allows the default width and precision to be overridden,
   time functions print with time formatting, better error checking and
   messages, etc.).
3. %u and %z formatting codes have been added. It is important to note
   that these two formats can produce embedded NULLs, since these
   functions are returning a string anything after the first NULL will
   not be reachable! memcpy is used instead of regular string processing
   where needed so that the original string will contain the total
   result. The size returned when the string is created is the true
   length.  A warning will be printed if a string with embedded NULLs is
   produced (strlen() does not match the true length).
4. Real numbers are printed with %g instead of %f.

Once this new formatting code has been evaluated we should incorporate
the changes/fixes into the formatting code for the other functions or
the other functions could be modified to use this new code. The true
string length is available so we should be able to work around the
embedded NULL problem.
2007-08-13 20:07:12 -07:00
..
.cvsignore Give the vip directory its own configure and vpi_config.h 2004-01-21 01:22:51 +00:00
Makefile.in Administrative/Makefile fixes, mostly for windows. (Cary R.) 2007-02-06 05:07:31 +00:00
configure.in Better configuration messages (Alan Feldstein) 2007-05-16 23:59:12 +00:00
lxt2_write.c Clean up spurious trailing white space. 2004-10-04 01:10:51 +00:00
lxt2_write.h Clean up spurious trailing white space. 2004-10-04 01:10:51 +00:00
lxt_write.c Clock compression fix from Tony. 2005-02-19 16:45:01 +00:00
lxt_write.h Clean up spurious trailing white space. 2004-10-04 01:10:51 +00:00
mt19937int.c Clean up spurious trailing white space. 2004-10-04 01:10:51 +00:00
priv.c Include sys_priv.h instead of priv.h 2003-10-06 21:26:27 +00:00
stringheap.c Give the vip directory its own configure and vpi_config.h 2004-01-21 01:22:51 +00:00
stringheap.h Make lxt use stringheap to perm-allocate strings. 2003-02-13 18:13:28 +00:00
sys_convert.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_deposit.c Delay compiletf until bindings are complete 2007-07-24 18:24:24 -07:00
sys_display.c Implement the swrite* and sformat system tasks plus a few other fixes. 2007-08-13 20:07:12 -07:00
sys_fileio.c [PATCH] Update vpiFinish arguments to be in correct range. 2007-07-19 17:35:40 -07:00
sys_finish.c Pass the finish and stop system task argument correctly. 2007-07-20 14:01:35 -07:00
sys_lxt.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_lxt2.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_plusargs.c Update the files to use vpi_control vs vpi_sim_control. 2007-07-19 17:29:05 -07:00
sys_priv.h VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_random.c Check the random function seed type and a fix to handle time variables. 2007-07-25 21:36:06 -07:00
sys_random_mti.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_readmem.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_readmem_lex.h conditional ident string using autoconfig. 2002-08-12 01:34:58 +00:00
sys_readmem_lex.lex ifdef idents correctly. 2003-08-26 16:26:01 +00:00
sys_scanf.c Fix scanf to abort on failed matches. 2007-04-16 00:09:58 +00:00
sys_table.c Add the scanf functions. 2006-08-03 05:06:04 +00:00
sys_time.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_vcd.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
sys_vcdoff.c VPI tasks take PLI_BYTE* by the standard. 2007-03-14 04:05:51 +00:00
system.sft Add missing probabilistic functions and compiletf routines. 2007-07-20 13:54:49 -07:00
vcd_priv.c Clean up spurious trailing white space. 2004-10-04 01:10:51 +00:00
vcd_priv.h Make lxt use stringheap to perm-allocate strings. 2003-02-13 18:13:28 +00:00
vpi_config.h.in Make sure file64 support is on cc -D flags. 2004-01-26 21:52:46 +00:00