Martin Whitaker
a676db798a
Remove redundant elab_and_eval_lossless().
...
(cherry picked from commit 711623f682 )
2021-05-16 22:38:53 +01:00
Martin Whitaker
a14118cd6c
Do not force lossless calculation for index expressions (issue #515 )
...
The standard Verilog expression bit length rules must be used.
(cherry picked from commit a040ddc070 )
2021-05-16 22:38:44 +01:00
Martin Whitaker
0bd51dbfb8
Record the actual data type when a module port has an enum type.
...
This fixes assignment compatibility problems (issue #498 ).
(cherry picked from commit cf0bf4d9aa )
2021-04-28 20:35:57 +01:00
Martin Whitaker
ada3067899
Fix waveform dumpers to use vpiInstance when dumping all variables.
...
(cherry picked from commit a7cb93842e )
2021-04-21 11:42:14 +01:00
Martin Whitaker
69cf8d8901
Add support for vpiInstance as the type code in calls to vpi_iterate().
...
This is needed for the waveform dumpers now that vpi_iterate(vpiModule, NULL)
has been ficed to only return modules.
This includes recognising vpiProgram and vpiInterface, although the compiler
and vvp currently incorrectly classify them as modules.
(cherry picked from commit d2521878d7 )
2021-04-21 11:41:51 +01:00
Martin Whitaker
a83a205b06
Properly report errors for out-of-bounds constant indexed part selects.
...
(replacing assertions)
The IEEE standard either requires out-of-bounds bits to be ignored on
write, returned as 1'bx on read, or requires a compile-time error message.
The latter is easier to implement.
(cherry picked from commit 7d7aa0604c )
2021-04-21 11:41:07 +01:00
Martin Whitaker
c0c46dc173
Support indexed part selects that index sub-arrays (issue #497 )
...
(cherry picked from commit 4af830187e )
2021-04-21 11:39:48 +01:00
Cary R
cccf36d76f
Fix warning and little E full vector up/down selects
...
(cherry picked from commit 0c12344b27 )
2021-04-21 11:39:40 +01:00
Martin Whitaker
f64c831688
Fix width calculation for bit/part selects of multi-dimensioned packed arrays.
...
If we have a bit/part select that is selecting one or more sub-arrays, e.g.
wire [3:0][3:0] foo;
assign foo[1] = 4'd1;
we need to take into account the bit width of the sub-array when calculating
the bit width of the select.
(cherry picked from commit 7c024d6cab )
2021-04-21 11:39:01 +01:00
Martin Whitaker
adb4be5c75
Don't return packages when iterating over root modules (issue #496 )
...
The code assumed all handles stored in vpip_root_table were modules. This
is true for traditional Verilog, but not so for SystemVerilog.
Whilst here, also add support for iterating over packages.
(cherry picked from commit 3167b2ed24 )
2021-04-18 10:53:34 +01:00
Cary R
eaea698027
V11: Add support to include macro expanded strings
2021-02-13 16:58:09 -08:00
Cary R
338b9a69ee
Update severity tasks to match devel
2021-02-01 00:23:35 -08:00
Cary R
b613cf4bf5
Update warning to match devel
2021-01-30 14:29:09 -08:00
Martin Whitaker
a89eab47f5
CI: run 'make check' before 'make install'.
...
This makes sure 'make check' works when iverilog isn't already
installed on the system.
2021-01-28 00:38:45 +00:00
Martin Whitaker
0d9268cdbc
Don't exit when ivl_root not found - the user may have supplied it.
...
When running 'make check' without having an installed copy, find_ivl_root()
will fail on Unix systems that don't provide /proc/self/exe (e.g. MacOS).
(cherry picked from commit 56d2d798ec )
2021-01-28 00:34:11 +00:00
Cary R
f806ed5084
Add define to indicate Icarus synthesis
2021-01-14 00:15:58 -08:00
Cary R
e396369410
Update copyright data to match patch
2021-01-11 21:39:26 -08:00
Cary R
9771be8ba1
Fix index down part selects to work with multiple dimensions
2021-01-11 21:39:16 -08:00
Martin Whitaker
3d7d2e5502
Explicitly require C99 if using autoconf < 2.70.
...
(cherry picked from commit 57e87149e8 )
2021-01-05 21:02:12 +00:00
Martin Whitaker
8c4dd80944
Remove redundant assignment.
2021-01-03 19:59:09 +00:00
Martin Whitaker
b58ca95909
Elaborate package scopes in textual order (fix for issue #461 )
...
When elaborating a subclass, the base class scope needs to be elaborated
before the subclass scope. If the base class and subclass are defined in
different packages, this requires the package scopes to be elaborated in
the correct order. SystemVerilog reqires packages to be defined before
they are used, so that is the order we should elaborate them in.
(cherry picked from commit ba25b55f53 )
2021-01-03 19:50:49 +00:00
Martin Whitaker
7866168cf7
Protect against infinite recursion in NetScope::find_class().
...
(cherry picked from commit 9fa9a9d95a )
2021-01-03 19:50:40 +00:00
Martin Whitaker
d56efebbfe
Fix build with clang.
...
(cherry picked from commit aae3a570c2 )
2021-01-03 19:50:05 +00:00
Martin Whitaker
48615fb8ac
Fix warnings about implicit copy assignments.
...
(cherry picked from commit 51a171a399 )
2021-01-03 19:49:06 +00:00
Martin Whitaker
25154b6482
Avoid possible truncation of path strings when writing config file.
...
(cherry picked from commit 2e4bf05e21 )
2021-01-03 19:47:29 +00:00
Martin Whitaker
d9484b4f75
Fix configure scripts to work with autoconf 2.70.
...
Numerous deprecated features have now become obsolete. Mostly done by
running autoupdate, but that left a few fixes to be done manually.
This includes the latest version of AX_PROG_CC_FOR_BUILD from
https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
(cherry picked from commit 4b3e1099e5 )
2021-01-03 19:08:32 +00:00
Stephen Williams
859e3e39be
Merge pull request #458 from steveicarus/steveicarus/v11-real-output-port
...
output ports of type real are variables, not wires.
2020-12-29 22:45:10 -08:00
Stephen Williams
c690558cd6
output ports of type real are variables, not wires.
2020-12-29 22:22:20 -08:00
Cary R
838349590e
Remove R-value class check until class variables are found correctly
2020-12-28 04:55:50 -08:00
Cary R
5aac481d9a
Report operators that cannot be used with null/class vars
2020-12-27 19:06:01 -08:00
Cary R
363f45cd7d
Handle a void function call in the delay type calculation
2020-12-27 12:54:39 -08:00
Cary R
b4d8108409
Check if no argument task calls are allowed in the current context
2020-12-27 12:52:33 -08:00
Martin Whitaker
c8aa7bf873
Fix search for class imported from another package (issue #437 ).
...
(cherry picked from commit a019994513 )
2020-12-23 19:17:59 +00:00
Cary R
864c09d034
Add support for calling queue/darray functions as tasks
2020-12-20 16:50:44 -08:00
Cary R
b62c37ea58
Update to the latest GTKWave files
2020-12-20 12:52:05 -08:00
Martin Whitaker
ebad47937e
Support macro text continuation after single line comment (issue #435 )
...
(cherry picked from commit fe79f130b5 )
2020-12-20 13:16:02 +00:00
Martin Whitaker
45c52d5291
Fix CI test.sh to return an exit code of 1 if any step fails.
...
(cherry picked from commit a1dd6bb056 )
2020-12-14 11:37:08 +00:00
Martin Whitaker
8d8cb16b72
tgt-vlog95: fix assertion failure when function calls a void function
...
(cherry picked from commit f4d22af4bd )
2020-12-13 22:59:26 +00:00
Martin Whitaker
04b0a1f80d
Add extra debug output.
...
(cherry picked from commit fbd87b4fee )
2020-12-13 22:59:01 +00:00
Martin Whitaker
1fda3ff23e
Fix assertion failure when elaborating a void function call (issue #318 )
...
Depending on the order of elaboration, a function may not have been
elaborated before a call to it is elaborated, so don't assert that it
has been. As an optimisation, try to elaborate it on the fly, so we can
elide the call if the function body is empty.
(cherry picked from commit 393236a9a8 )
2020-12-13 22:58:48 +00:00
Martin Whitaker
bfac44a630
Fix assertion failure for function body with single null statement (GH issue #411 )
...
(cherry picked from commit 94b503fc64 )
2020-12-10 17:42:10 +00:00
Martin Whitaker
27986477fb
Further fix to CI test script.
2020-12-05 22:55:23 +00:00
Martin Whitaker
0b991f5a28
Fix CI test script.
2020-12-05 22:01:38 +00:00
Martin Whitaker
e3ed4b28e7
Fix MSYS2 pkgver to only use allowed characters.
2020-12-05 21:55:18 +00:00
Martin Whitaker
9de8577e04
Convert CI from Travis to GitHub Actions.
...
Copied and adapted from the master branch, with thanks to
umarcor <unai.martinezcorral@ehu.eus> who did the original
work.
2020-12-05 21:43:09 +00:00
Tim
b415678d5c
Clarify "Standard inconsistency" warning
...
Fixes #343
(cherry picked from commit 2dcbfca5d9 )
2020-12-05 21:28:01 +00:00
Martin Whitaker
eec64de190
Fix vvp segfault on Windows when vvp_net_ptr_t values exceed 4GB.
...
Under Windows unsigned long is 32 bits, so we must use unsigned long long
values for 64-bit address masks.
(cherry picked from commit 0d6a2f95a8 )
2020-12-05 21:08:30 +00:00
umarcor
1baeb0d671
driver-vpi: add DESTDIR to iverilog-vpi install path
...
(cherry picked from commit dbe15b6a46 )
2020-12-05 21:08:10 +00:00
umarcor
26aaa42831
doc: add MSYS2 readme
...
(cherry picked from commit ae5be2b61f )
2020-12-05 21:04:05 +00:00
Martin Whitaker
7befefc65f
Fix the libveriuser TF and ACC functions to work in callbacks.
...
Use the new cur_instance variable to get the call handle instead of calling
vpi_handle(vpiSysTfCall, 0).
This completes a proper fix for issue #141 , to replace the problematic fix
that was reverted in commit 8da8261f .
(cherry picked from commit 360d1ca447 )
2020-12-05 21:03:07 +00:00