Martin Whitaker
94e09ec473
Use explicit 32-bit integers in random number system functions (issue #661 ).
...
This simplifies the code by making it independent of the size of 'long', and
fixes the behaviour of urandom_range when the upper limit is > 0x7fffffff.
2022-04-03 19:45:44 +01:00
Cary R
af7c3043d8
Update to the latest from GTKWave
2022-03-22 23:32:25 -07:00
Miodrag Milanovic
51d7cecce1
Add option to skip writing date to output file
2022-03-11 16:45:46 +01:00
Stephen Williams
e6bab92274
Implement the string val-to-a methods
...
These methods are tasks that write into the "this" object the value
passed as an argument, converted using the appropriate base.
2022-02-27 20:28:30 -08:00
Cary R
e3c2234893
Update fstapi.c to the latest from GTKWave
2021-10-26 19:41:29 -07:00
Cary R
bb2c51a174
Update fstapi files to latest from GTKWave
2021-06-17 21:41:36 -07:00
Martin Whitaker
a7cb93842e
Fix waveform dumpers to use vpiInstance when dumping all variables.
2021-04-21 09:23:19 +01:00
Cary R
18392a464d
Some clean up and add initial support for elaboration system tasks
2021-02-01 00:22:01 -08:00
Cary R
f8e82448be
Add a warning when a single % is at the end of the format string
2021-01-25 21:58:32 -08:00
Cary R
956f6ccf4c
Update VPI routines to on error signal VVP to return non-zero
2021-01-20 23:50:53 -08:00
Cary R
4efbfa3e8f
Fix a couple more cppcheck warnings
2021-01-06 22:39:16 -08:00
Cary R
1d318c4393
Update cppcheck to not run posix and add some -U flags
2021-01-02 13:23:59 -08:00
Cary R
82a6e93c56
Update cppcheck waivers
2020-12-31 23:05:12 -08:00
Cary R
e633fcc199
Initial fix for GH449
2020-12-28 09:56:49 -08:00
Cary R
6c3abb44c6
Update to the latest GTKWave files
2020-12-20 12:51:53 -08:00
Stephen Williams
bfd22c373f
Implement the string.atoi method
...
This implements:
string.atoi
string.atoreal
string.atohex
Fixes #414
2020-12-13 21:55:34 -08:00
Cary R
a7ce4ec110
Report a package connot be dumped with most dumpers
2020-11-29 12:43:01 -08:00
Tim
2dcbfca5d9
Clarify "Standard inconsistency" warning
...
Fixes #343
2020-11-26 14:07:37 -08:00
Martin Whitaker
8e4cc8e887
Use GNU make pattern rules to handle multiple file output from bison.
...
With a pattern rule, the recipe will only be executed once, even when
the rule has multiple targets. Using this to handle the output from
bison is included as an example in the GNU make manual.
This fixes the makefiles so that bison-generated header files will be
regenerated if they are deleted.
2020-07-30 16:27:01 +01:00
Cary R
b8ae9a85fa
Update size check in $fread()
2020-07-03 23:15:39 -07:00
Cary R
6d8dea8d05
Update fstapi.c to latest from GTKWave
2020-06-28 20:12:14 -07:00
Cary R
a1518b5761
Report any failures in $fclose()
2020-05-18 22:58:24 -07:00
Cary R
38d16e5f2f
Use a common routine to get and check the FD/MCD
2020-05-16 21:06:35 -07:00
Cary R
9b9be11cf6
Factor out the common code for checking if a FD/MCD is valid
2020-05-16 18:04:09 -07:00
Martin Whitaker
cf44f05cd3
Fix GitHub issue #324 - replace __CYGWIN32__ with __CYGWIN__.
...
__CYGWIN32__ is not defined when building with the 64-bit Cygwin
toolchain. According to the Cygwin FAQ, __CYGWIN__ has been defined
since 1998, so this should still work for users on 32-bit systems.
2020-05-10 14:06:53 +01:00
Cary R
f76e1c1ecb
Update to the latest GTKWAve files
2020-03-30 15:49:28 -07:00
Huang Rui
11001f58d5
Thoroughly fix parallel installation issues
...
In PR #300 , @xdch47 pointed out a stable way to fix parallel
installation problems.
This fix applied the method, thanks!
Signed-off-by: Huang Rui <vowstar@gmail.com>
2020-02-12 22:42:04 +08:00
Huang Rui
0c12a24cfd
[2/20]vpi/Makefile.in:fix install timestamp check
...
Fix bug: https://bugs.gentoo.org/705412
Fix bug: https://github.com/gentoo/gentoo/pull/14096
Related: https://github.com/steveicarus/iverilog/pull/294
Signed-off-by: Huang Rui <vowstar@gmail.com>
2020-02-12 22:08:40 +08:00
Cary R
9c777c0420
Update to the latest fstapi files from GTKWave
2020-01-01 19:59:33 -08:00
Martin Whitaker
4a8f4d65d0
Fix spelling of pulsere_flag in vpi_user.h (from Pablo Bleyer).
2019-11-12 18:01:39 +00:00
Martin Whitaker
a621fa48a6
Merge branch 'sft-rework'
2019-11-04 22:24:45 +00:00
Martin Whitaker
d1d409fd88
Add version check for VPI routines callback.
2019-10-30 20:16:30 +00:00
Stephen Williams
eeeb9ff099
Create files with default suffix when $dumpfile doesn't include a suffix.
2019-10-30 12:23:24 -07:00
Martin Whitaker
9fb952ed72
Use functions instead of macros for VPI routine redirection in Windows.
2019-10-27 09:06:55 +00:00
Martin Whitaker
3f1253039a
Only use VPI routine jump table in Windows.
2019-10-25 10:07:57 +01:00
Martin Whitaker
160bfbf2fc
Another makefile fix.
2019-10-23 13:03:32 +01:00
Martin Whitaker
a8fc131fc9
Use more explicit name for VPI routine jump table.
2019-10-23 11:41:14 +01:00
Martin Whitaker
f5cb5b2d90
Make sure vlog_startup_routines is exported from Windows VPI modules.
2019-10-22 20:33:52 +01:00
Martin Whitaker
e6b0396e6f
Makefile fixes.
2019-10-22 16:51:14 +01:00
Martin Whitaker
a59b183bd1
Allow VPI modules to be loaded by multiple clients under Windows.
...
The old scheme of linking the VPI modules with the vvp exports meant they
did not work when loaded by the compiler. Instead, let each client create
a jump table for the VPI routines and pass that to each VPI module as it
is loaded.
2019-10-22 16:00:13 +01:00
Martin Whitaker
8d3e895593
Remove obsolete SFT files.
2019-10-21 13:53:53 +01:00
Martin Whitaker
a92a3074c0
Fix some missing/incorrect function return types in the system VPI modules.
2019-10-21 13:45:09 +01:00
Cary R
077d8d6c4d
Update fstapi.c to latest from GTKWave
2019-10-20 16:35:24 -07:00
Stephen Williams
0abf91ca4e
Make vvp exit with FAILURE if $fatal is used to exit the simulation.
2019-10-14 14:11:50 -07:00
Cary R
ea4e41207c
Update cppcheck standards that are checked
2019-09-30 22:14:15 -07:00
Stephen Williams
3cc6e74e38
Have $readmem() print a warning if there are too many digits in words.
...
If there are more digits than needed to fill a word, print a warning
message. The excess bits are thrown away, so there is no need for an
error.
2019-09-30 13:14:40 -07:00
Cary R
8a85d62ec7
Update to latest GTKWave files
2019-09-29 09:59:56 -07:00
Martin Whitaker
a6bcbc3d1d
Remove obsolete private VPI functions.
2019-09-13 08:40:58 +01:00
Martin Whitaker
b43fcccc0f
Add support for PATHPULSE, PATHPULSEPERCENT, and PERIOD in SDF parser.
...
As requested on iverilog-devel. These are all parsed then ignored for now.
2019-08-24 00:23:29 +01:00
Cary R
e93ee3967e
Update cppcheck suppression file
2019-05-14 22:34:58 -07:00
Cary R
4c58b88792
Update files from GTKWave
2019-05-14 22:34:34 -07:00
Cary R
a9388a895e
Update cppcheck waivers
2019-03-26 22:43:03 -07:00
Cary R
407b5a1d7a
Update fstapi.c to the latest from GTKWave
2019-03-26 19:59:18 -07:00
Cary R
844fa056f7
Update fstapi files to the latest from GTKWave
2018-10-12 21:30:20 -07:00
Martin Whitaker
9d0d1938dc
Fix bug in output of null character with %c format.
2018-10-07 18:59:53 +01:00
Martin Whitaker
f1608e163f
Fix implicit fallthrough warnings when building with recent GCC.
2018-10-06 20:15:42 +01:00
Cary R
7fa6eaef0a
Update to latest GTKWAve files
2018-10-06 09:26:39 -07:00
Martin Whitaker
542fe2cf77
Enable checks for VPI const-correctness.
...
Note we only want these enabled when building the compiler and runtime
binaries. If we included the ICARUS_VPI_CONST definition in the global
CPP_FLAGS, that would propagate to the flags used by iverilog-vpi, so
would affect compilation of user VPI code.
2018-10-06 11:48:19 +01:00
Martin Whitaker
b066a5815e
Allow %c format to output null characters (GitHub issue #209 )
...
Currently $display et al. output nothing when the expression
corresponding to a %c format specification has the value 0. As
Verilog provides no other way to write raw bytes to a file, we
should allow 0 values to be written. Other simulators allow this.
2018-09-29 21:22:17 +01:00
Martin Whitaker
0d494da702
Further fixes for const-correctness.
...
- allow ICARUS_VPI_CONST to be pre-defined by the user
- use it for sizetf as well as for compiletf and calltf
- fix remaining warnings when it is defined as 'const'
2018-09-29 12:04:16 +01:00
Cary R
1da9b2cea0
Add support for constant $countones, $isunknown, $onehot, $onehot0
2018-09-03 08:32:41 -07:00
Cary R
2b030ce27a
Update the bit vector table name
2018-09-03 08:32:35 -07:00
Cary R
b35f9e13c7
Move the bit vector functions to the SV table
2018-09-03 08:32:28 -07:00
Cary R
40558160e7
Add support for bit vector system function in vpi
2018-08-30 22:31:15 -07:00
Cary R
ff8ccc0b3e
Update fstapi.c to the latest version
2018-07-16 09:03:38 -07:00
Cary R
9a8212a54f
Update tp the latest files from GTKWave
2017-12-13 21:56:59 -08:00
Cary R
21418c6a41
Fix a couple memory leaks in $sdf_annotate()
2017-11-16 19:42:07 -08:00
Cary R
f03033e612
Update flex destroy routines to work for version 2.6 and greater
2017-11-16 19:11:50 -08:00
Martin Whitaker
e54d19e2d2
Fix $printtimescale to support 10s and 100s values.
2017-11-05 09:28:19 +00:00
Cary R
d9478bd837
Update cppcheck waiver files
2017-10-23 00:21:51 -07:00
Cary R
97e2123724
Update to latest files from GTKWave
2017-10-22 19:41:14 -07:00
Cary R
3d9e777ae5
Allocate the correct amount of memory when escaping a string
2017-01-08 20:46:20 -08:00
Martin Whitaker
a9f1f306f1
Replace strndup with strdup and fix a few potential buffer overrun bugs.
...
strndup is not available in Windows.
2016-10-14 22:19:33 +01:00
Martin Whitaker
edb922f613
Use correct format strings for PLI_UINT64 in printf/scanf functions.
2016-10-14 20:35:36 +01:00
Martin Whitaker
0fdf29e099
Fix for GitHub issue #117 - delays in VPI simulation time callbacks.
...
Change cbReadWriteSynch and cbReadOnlySynch to interpret the passed
time value as a relative delay, not an absolute time. This matches
the behaviour of other simulators.
2016-09-25 20:43:58 +01:00
Cary R
255701a787
Fix space issue
2016-08-14 20:55:55 -07:00
Cary R
5f1e63604c
Update cppcheck vpi suppression file
2016-08-14 20:53:57 -07:00
Cary R
13189f7431
Update fstapi.c to latest from GTKWave
2016-08-14 12:46:48 -07:00
Martin Whitaker
7bed181f68
Support timescales in design units that aren't inside a module.
...
SystemVerilog allows tasks, functions, and classes to be defined at the
root level or inside packages, so we can't rely on an enclosing module
being present to provide the timescale.
2016-07-22 22:48:20 +01:00
Larry Doolittle
89edf62206
Capitalize Verilog in a few places
2016-04-01 11:02:24 -07:00
Cary R
fb77cc4000
Fix a cppcheck warning
2016-03-24 20:23:47 -07:00
Maciej Suminski
770906ba0d
vhdlpp: Write binary constants as a string of bits.
2016-03-07 17:11:53 +01:00
Maciej Suminski
41a45a8db0
vhdlpp: Avoid unnecessary toupper() call.
2016-03-07 17:11:53 +01:00
Maciej Suminski
7c10de918e
vhdlpp: read() takes into account the size of the destination variable.
2016-03-07 17:11:53 +01:00
Maciej Suminski
1ed4603a18
vhdlpp: Set EOF flag right after reaching the end of file.
2016-03-07 09:54:28 +01:00
Maciej Suminski
34b5834a84
vhdlpp: Added file_open() variant that returns status.
2016-03-07 09:54:28 +01:00
Maciej Suminski
2e6fb9b3f6
vhdlpp: shift_left/right() functions.
2016-03-07 09:54:28 +01:00
Maciej Suminski
2606d0e897
vhdlpp: Minor code clean up.
2016-03-07 09:54:28 +01:00
Cary R
03cb74ba57
Fix compile warning
2016-02-10 22:33:10 -08:00
Maciej Suminski
71084109f6
Save the time format suffix string.
...
In case of a vhdlpp-specific () call, the timeformat suffix string was overridden,
therefore it has to be restored to the previous value after the call.
2016-02-10 22:33:06 -08:00
Cary R
eef3e8c09f
Fix memory leak in time suffix code (VHDL)
2016-02-04 07:21:22 -08:00
Maciej Suminski
ba274936e5
vhdlpp: Added 'image attribute for time type.
2016-01-06 15:30:24 +01:00
Maciej Suminski
1d2aef7142
vpi: $sformatf() function.
2016-01-06 15:30:06 +01:00
Cary R
2aaa050b7c
Update cppcheck suppression file
2015-12-19 11:58:31 -08:00
Cary R
4b9b0b7125
GTKWave (fstapi.c) needs realpath() so check for it
2015-12-19 09:11:48 -08:00
Cary R
45fc06cf11
A format is a vpiStringVal not vpiStringVar, fix memory leak
2015-12-13 18:57:09 -08:00
Maciej Suminski
b414733f34
vhdlpp: std.textio & ieee.std_logic_textio functions implemented using VPI.
2015-11-24 17:16:51 +01:00
Stephen Williams
a62a095717
Merge pull request #83 from chrta/fix_compiler_warnings
...
Fix 3 compiler warnings
2015-11-02 17:20:57 -08:00
Cary R
6c91588d33
Fix some errors found with cppcheck
2015-11-02 00:14:29 -08:00
Christian Taedcke
3ffe6684e2
Add definition of _DEFAULT_SOURCE.
...
Since glibc version 2.20, _SVID_SOURCE is deprecated, see
'man 7 feature_test_macros'. To be able to compile this code without compiler
warnings in new and old glibc versions, both _DEFAULT_SOURCE and _SVID_SOURCE
must be defined.
2015-10-31 11:17:18 +01:00