Huang Rui
0100c0bc5c
[3/20]vhdlpp/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
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
Huang Rui
081fe1c816
[1/20]vvp/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
Martin Whitaker
387d18d222
Fix GitHub issue #306 - segfault when synthesising deassign statement.
...
Synthesis doesn't properly support any of the procedural continuous
assignment statements, so output a "sorry" message and abort synthesis.
2020-02-09 18:22:58 +00:00
Martin Whitaker
fb29da0bd8
Fix for GitHub issue #309 - allow braced expressions as macro arguments.
...
As for parentheses, we need to ignore commas within a pair of braces
when parsing a macro argument, e.g. `MACRO({a,b}) has one argument.
This fix is a little crude in that it doesn't distinguish between
parentheses and braces, e.g. it will accept {a,b). But any errors
like that will be caught by the compiler proper.
2020-02-08 20:51:50 +00:00
Martin Whitaker
97edccceab
Merge pull request #308 from blackgnezdo/blackgnezdo-master.
...
Fixes loop end condition in __vpiDecConst::vpi_get_value().
2020-02-08 19:29:49 +00:00
Greg Steuck
3ed7e7b295
Merge pull request #1 from blackgnezdo/blackgnezdo-patch-1
...
Fix bad bounds check in for loop
2020-02-05 08:06:44 -08:00
Greg Steuck
398d0cb82f
Fix bad bounds check in for loop
2020-02-05 08:05:50 -08:00
Martin Whitaker
b1114760fc
Fix for compatibility with old C++ standard.
2020-02-02 09:25:05 +00:00
Martin Whitaker
33b822d997
Add support for local genvar declaration in generate loops.
...
As requested in GitHub issue #304 .
2020-01-31 20:29:22 +00:00
Martin Whitaker
0023804777
Add support for increment/decrement operators in generate loop iteration.
...
As requested in GitHub issue #303 .
2020-01-30 21:45:04 +00:00
Martin Whitaker
20d7309ec2
Merge pull request #302 from vowstar/vowstar-fix-gcc10.
...
Fixes build with -fno-common (default in GCC 10).
2020-01-30 18:34:21 +00:00
Huang Rui
d49d26a5c5
Fix fails to build with -fno-common or gcc-10
...
See also: https://bugs.gentoo.org/706366
gcc-10 and above flipped a default from -fcommon to -fno-common:
https://gcc.gnu.org/PR85678
Usually all it takes is to add a few 'extern' declarations and
move definitions from header files to modules. I've port iverilog
to gcc-10 accroding to this guide:
https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
To fix this, I analyzed the code, and found ``pli_trace`` has been
defined at here:
https://github.com/steveicarus/iverilog/blob/v10_3/libveriuser/priv.c#L24
So I changed ``FILE* pli_trace;`` to ``extern FILE* pli_trace;``.
The var ``current_file`` only in ``cfparse_misc.h``, I changed it
from ``char *current_file;`` to ``extern char *current_file;`` and
declaring it in cflexor.lex
And then it works.
Signed-off-by: Huang Rui <vowstar@gmail.com>
2020-01-29 00:08:59 +08:00
Stephen Williams
78f12dec1c
Merge pull request #294 from minux/fix-make-j-install
...
Makefile.in: fix mkdir race during "make -j N install"
2020-01-06 12:30:33 -08:00
minux
7de00ee73a
Makefile.in: fix mkdir race during "make -j N install"
2020-01-06 00:46:14 -05:00
Cary R
9c777c0420
Update to the latest fstapi files from GTKWave
2020-01-01 19:59:33 -08:00
Martin Whitaker
b91d5d1a82
vvp: recognise signed logic types when parsing class properties.
2019-12-23 09:48:07 +00:00
Martin Whitaker
8dc395940d
Fix issue #298 : elaborate types in the scope where they were declared.
...
The compiler elaborates types on the fly as they are used. For user-
defined types (typedefs) we must do the elaboration in the scope where
the type was declared, not in the scope where it is used.
2019-12-22 17:29:23 +00:00
Martin Whitaker
e8e2c35df0
Fix some errors in pform dumps.
2019-12-22 11:26:13 +00:00
Martin Whitaker
732a763188
Record typedef name in data_type_t struct.
...
This will be used to locate the scope where the type was declared.
2019-12-22 11:21:05 +00:00
Martin Whitaker
95147a2cc2
Record data type for all pform "wires" added the new way.
...
For unpacked arrays, record both the array type and the base type.
This will be needed to elaborate typedefs in the correct scope.
2019-12-22 11:03:50 +00:00
Martin Whitaker
465e0d2710
Allow classes to reference declarations in their enclosing scope(s).
...
The original implementation made each class a root scope. They should
be added to the scope hierarchy just like any other declaration.
2019-12-22 10:46:38 +00:00
Stephen Williams
7f95abc6ab
Make a pass at implementing cbAtEndOfSimTime.
...
In Icarus Verilog, AtEndOfSimTime is practically the same as
cbReadWriteSync, since the latter is after non-blocking events
in Icarus Verilog.
2019-11-25 17:57:10 -08:00
Stephen Williams
b25df08c99
Fix possible buffer overflow.
2019-11-21 18:48:57 -08:00
Stephen Williams
f147cf9c61
Merge branch 'master' of github.com:steveicarus/iverilog
2019-11-21 18:35:55 -08:00
Stephen Williams
7cf8bb9875
Put some buffer overflow checks in.
...
Also, do a minor rework of StringHeap, and have it check its
assumptions more thoroughly.
2019-11-21 18:35:43 -08:00
Martin Whitaker
351a4e5f5e
Improve vvp handling of excessively large shift distances.
2019-11-16 12:11:49 +00:00
Martin Whitaker
0a4cae2644
Fix vvp %shift instructions to treat right operand as unsigned.
...
1364-2005 section 5.1.12 says "The right operand is always treated
as an unsigned number".
This fixes GitHub issue #283 .
2019-11-15 21:24:47 +00: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
9f712429c8
Fix elaboration of void functions with no arguments (GitHub issue #281 )
...
N.B. commit 82c8a495 incorrectly referenced issue #281 . It should have
referenced issue #280 .
2019-11-09 20:16:25 +00:00
Martin Whitaker
a8f71d3c92
Additional cleanup of void function elaboration.
2019-11-09 20:15:31 +00:00
Martin Whitaker
cab9526e6c
vlog95 target: better solution for void functions with no arguments.
2019-11-09 20:14:57 +00:00
Martin Whitaker
39238fd1cd
vlog95 target: ! operator does not require explicit type conversion.
2019-11-09 16:52:28 +00:00
Martin Whitaker
58aa08ab64
Handle SV void functions in vlog95 target.
2019-11-09 16:14:09 +00:00
Martin Whitaker
82c8a49573
Fix for issue #281 - the condition operator may return a valid enum type.
...
If the condition expression is 2-state, the result won't be blended, so
the result will be a valid enum value if both true and false expressions
return the same enum type.
2019-11-09 13:11:16 +00:00
Stephen Williams
7feb26ff6b
Cleaner elaboration of void functions.
...
This fixed githun issue # 281.
2019-11-07 14:25:51 -08: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
Stephen Williams
d718e7b468
Handle case that strings are arguments of functions/tasks.
...
When strings are arguments to functions/tasks, that doesn't suddenly
make them implicitly scalar. Strings are vectors and should be treated
that was, even if they are IMPLICIT_REG.
2019-10-29 22:58:48 -07:00
Martin Whitaker
16e8563c6e
Fix for GitHub issue #277 - incorrect sensitivity calculation.
...
The fix for the compiler hang when calculating the sensitivity list
for an always_comb construct containing recursive function calls
could cause the compiler to ignore sequential calls to the same
function, and thus not add the arguments of those calls to the
sensitivity list.
2019-10-28 21:01:42 +00: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
f0326bc9c2
Fix bug in converting directory separators for MinGW.
2019-10-23 13:05:48 +01:00
Martin Whitaker
160bfbf2fc
Another makefile fix.
2019-10-23 13:03:32 +01:00
Martin Whitaker
c98f8b17ba
Support IVERILOG_VPI_MODULE_PATH in compiler driver.
...
Also make sure we convert '/' to '\' before doing any searches when
running in Windows.
2019-10-23 12:26:28 +01:00
Martin Whitaker
a8fc131fc9
Use more explicit name for VPI routine jump table.
2019-10-23 11:41:14 +01:00
Martin Whitaker
1c26bcef2d
Update vpi.txt.
2019-10-23 10:04:58 +01:00
Martin Whitaker
79d3a21b65
Minor code tidy-up.
2019-10-22 21:52:52 +01:00
Martin Whitaker
f5cb5b2d90
Make sure vlog_startup_routines is exported from Windows VPI modules.
2019-10-22 20:33:52 +01:00