Commit Graph

9541 Commits

Author SHA1 Message Date
Stephen Williams 48db632a03
Merge pull request #408 from umarcor/fix/driver-vpi-destdir
driver-vpi: add DESTDIR to iverilog-vpi install path
2020-12-03 22:01:48 -08:00
Stephen Williams af9f02472f
Merge pull request #406 from umarcor/doc/msys2
doc: add MSYS2 readme
2020-12-03 21:59:33 -08:00
umarcor dbe15b6a46 driver-vpi: add DESTDIR to iverilog-vpi install path 2020-12-04 03:58:40 +01:00
umarcor ae5be2b61f doc: add MSYS2 readme 2020-12-04 01:34:15 +01:00
Martin Whitaker 360d1ca447 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.
2020-12-04 00:19:46 +00:00
Martin Whitaker 3f9a49ae01 Rework libveriuser to make vpiSysTfCall handles available in callbacks.
PLI 1.0 callbacks are directly associated with the instance of the system
task/function that initiated them, allowing them to access the task/function
arguments. However, we implement them using VPI callbacks, which are not so
associated. So we need to pass the VPI handle for the associated task/function
instance to the callback routine via the VPI callback user_data pointer,
because vpi_handle(vpiSysTfCall, 0) will return null when called from the
callback function.

This is the first step to a proper fix for issue #141, to replace the
problematic fix that was reverted in commit 8da8261f.
2020-12-04 00:19:46 +00:00
Stephen Williams df72e1d362
Merge pull request #398 from umarcor/ci/msys2
CI: test on MINGW64 and MINGW32, use PKGBUILD recipe
2020-12-03 15:44:11 -08:00
umarcor cd7c3fdc4c ci/win: upload artifacts 2020-12-03 09:17:44 +01:00
umarcor 17ef6d65e1 ci/win: cleanup 2020-12-03 09:17:44 +01:00
umarcor 5e1dbb1624 ci/win: test mingw64-manual and msys2-pkgbuild only 2020-12-03 09:17:39 +01:00
umarcor efdf4a8a8a msys2: set LDFLAGS=-pipe to disable ASLR 2020-12-03 09:17:39 +01:00
umarcor e30cbee332 ci/win: mingw64 mingw32-make 2020-12-03 09:17:34 +01:00
umarcor 0fdffe624d ci/win: test mingw64|msys2 and manual|pkgbuild 2020-12-03 09:17:29 +01:00
umarcor ed27dbf608 ci/win: merge 'win' and 'msys' 2020-12-03 09:17:24 +01:00
umarcor eca41e411e ci/win: use 'test.sh' 2020-12-03 09:17:18 +01:00
umarcor 59e117ddcc ci/win: add 'msys2' jobs 2020-12-03 09:17:14 +01:00
umarcor 2f86923c71 msys2: use mingw32-make 2020-12-03 08:07:27 +01:00
umarcor 7419875e2f msys2: add PKGBUILD 2020-12-03 08:07:27 +01:00
umarcor 08ec099091 ci/win: merge 'build.sh' into workflow 2020-12-03 08:07:27 +01:00
umarcor 7a729f3ff8 ci/win: use mingw64 as a custom shell 2020-12-03 08:07:27 +01:00
umarcor bbd09ce87c ci/win: add mingw64 2020-12-03 08:07:27 +01:00
umarcor 5c76ce3923 ci/win: add 'build.sh' 2020-12-03 08:07:26 +01:00
Martin Whitaker 8da8261fc3 Fix segfault under mingw32 due to dynamic cast of invalid pointer value.
sync_cb::run_run() attempts to cast the obj field of the callback data to a
__vpiSysTaskCall pointer. But a sync_cb object is only used for simulation
time callbacks, where the obj field is (mostly) not used, so I can't see
that would ever succeed. As the obj field is not required to be set by the
user, the dynamic cast results in undefined behaviour, so mingw32 is not to
blame.

This code was introduced by Johann Klammer in commit c79df7c44, but the user
klammerj and all trace of that pull request have vanished from GitHub, and
there is no associated regression test, so I can't establish the rationale
for it.
2020-12-02 12:27:42 +00:00
Martin Whitaker 8f736c7df7 Fix syntax in fprintf calls ("<" -> ","). 2020-12-02 11:32:19 +00:00
Cary R b1484a97e2 Generate a unique name for mutli output gates 2020-12-01 21:12:40 -08:00
Cary R 11f4e71dd0 Fix the vlog95 -> and <-> expression code for wide results 2020-12-01 00:04:00 -08:00
Cary R c37f1c9309 An input port driven by a variable is not collapsible 2020-11-30 22:48:39 -08:00
Stephen Williams b7dec18088
Merge pull request #403 from umarcor/ci/test-script
ci: add 'test.sh'
2020-11-30 15:05:06 -08:00
Stephen Williams 8bb856f29d
Merge pull request #397 from garmin-mjames/skip_callbacks
Skip all removed VPI callbacks
2020-11-30 15:04:04 -08:00
Marlon James 65b4c17451 Skip all removed VPI callbacks 2020-11-30 09:22:18 -08:00
umarcor f4aff860e7 ci/win: remove 'mingw64' from 'test.sh' 2020-11-30 09:41:18 +01:00
umarcor 0d20bf2123 ci/lin: install to system, not HOME 2020-11-30 08:59:42 +01:00
umarcor de4e19ceea ci/lin: split Build and Test steps 2020-11-30 08:12:32 +01:00
umarcor b8ea1e5cfe ci: add 'test.sh' 2020-11-30 08:12:32 +01:00
Stephen Williams bda74bcd56
Merge pull request #402 from umarcor/ci/win
ci/win: install MSYS2 packages through setup-msys2 (cached)
2020-11-29 21:54:15 -08:00
umarcor b2cca8fbec ci/win: install MSYS2 packages through setup-msys2 (cached) 2020-11-30 06:00:53 +01:00
umarcor d18e280b1b ci/lin: update job names 2020-11-30 06:00:53 +01:00
Stephen Williams 9b7afd2146
Merge pull request #401 from steveicarus/steveicarus/lnet-struct-members
Support nested struct in continuous assign l-values
2020-11-29 19:22:27 -08:00
Stephen Williams a79b55ae28 Support nested struct in continuous assign l-values
When doing continuous assignment of packed structs, support the case
where the value being assigned is a member of a member, etc. Procedural
assignments already support this.

See issue#307
2020-11-29 18:18:55 -08:00
Cary R a7ce4ec110 Report a package connot be dumped with most dumpers 2020-11-29 12:43:01 -08:00
Stephen Williams 1b4244474c
Merge pull request #400 from umarcor/ci/gha
ci: migrate from Travis CI to GitHub Actions
2020-11-29 10:12:24 -08:00
umarcor 038f52b924 ci/win: do not reinstall msys2 through choco 2020-11-29 13:08:18 +01:00
umarcor 22bfa7b584 ci: migrate from Travis CI to GitHub Actions 2020-11-29 13:08:18 +01:00
Stephen Williams 99bb0d15b2 Report error if command file is not properly terminated.
Command file lines must all be terminated by EOL. If the last line
is not properly terminated, report an error.
2020-11-26 16:11:59 -08:00
Tim 2dcbfca5d9 Clarify "Standard inconsistency" warning
Fixes #343
2020-11-26 14:07:37 -08:00
Stephen Williams dee68faf80
Merge pull request #396 from steveicarus/array-copy
Fix dynamic array assignment to make a copy of the rvalue.
2020-11-26 13:17:30 -08:00
Stephen Williams 3c2fb6a601 Fix dynamic array assignment to make a copy of the rvalue.
IEEE Std 1800-2017 Section 7.6 Array assignments

Assignment of a dynamic array creates a duplicate of the source,
so that assignments to the copy don't impact the original. Handle
all sorts of dynamic array base types.
2020-11-26 12:52:06 -08:00
Martin Whitaker 159af4d4ba In Windows, export VPI functions from vvp.exe (GitHub issue #395)
This is to support cocotb, who don't use our vpi_user.h and libvpi.a,
instead building their own import library to directly link to vvp.
2020-11-24 20:01:12 +00:00
Martin Whitaker b0b44fdd8a Support passing class objects as task/function arguments (GitHub issure #391) 2020-11-24 17:16:46 +00:00
Martin Whitaker 55e06db693 Support calls to inherited methods without "this." prefix (GitHub issue #388). 2020-11-23 22:03:59 +00:00