Wilson Snyder
426069a4dd
Configure for faster C++ linking using 'mold', if it is installed.
2023-05-23 21:26:29 -04:00
Mariusz Glebocki
949be301de
Internals: Fix unbalanced V3LockGuard locking ( #4193 )
2023-05-13 10:32:33 -04:00
Mariusz Glebocki
be429a5800
Internals: Lock the same mutex reference as specified in VL_ACQUIRE. ( #4194 )
2023-05-13 10:28:34 -04:00
Mariusz Glebocki
e7714e0902
Internals: Add additional clang's thread safety analysis annotations ( #4195 )
...
* Simplify some Clang-specific attribute defines.
* Add `VL_RETURN_CAPABILITY` and `VL_PT_GUARDED_BY`.
2023-05-12 09:06:36 -04:00
Wilson Snyder
befb415f27
Fix mod/div/round argument side effects
2023-05-07 22:31:31 -04:00
Wilson Snyder
e6f5a0495f
Fix $fscanf of decimals overflowing variables ( #4174 ).
2023-05-07 08:25:10 -04:00
Wilson Snyder
c6052830e1
Fix C++17 requirement on previous commit.
2023-05-06 20:23:35 -04:00
Wilson Snyder
a3640c1767
Support get_randstate/set_randstate class method function.
2023-05-06 19:09:19 -04:00
Wilson Snyder
dc25be536c
Internals: Deprecate VL_ATTR_ALIGNED, use alignas instead.
2023-05-02 21:21:10 -04:00
github action
128186ea68
Apply 'make format'
2023-05-02 11:29:45 +00:00
Hennadii Chernyshchyk
949be9d0a1
Optimize VPI callValueCbs ( #4155 )
...
Co-authored-by: Oleh Maks <olehmaksa@gmail.com>
2023-05-02 07:28:56 -04:00
Geza Lore
0e769d42a1
Optimize trigger evaluation
...
Pack the elements of VlTriggerVec as dense bits (instead of a 1 byte
bool per bit), and check whether they are set on a word granularity.
This effectively transforms conditions of the form `if (trig.at(0) |
trig.at(2) | trig.at(64))` into `if (trig.word(0) & 0x5 | trig.word(1) &
0x1)`. This improves OpenTitan ST by about 1%, worth more on some other
designs.
2023-04-24 09:09:36 +02:00
Wilson Snyder
cbeb9d39ff
Fix -CFLAGS to allow overriding optimization levels ( #4140 ).
2023-04-23 10:18:48 -04:00
Kamil Rakoczy
65a484e00b
Internal: Update clang_check_annotations conditions ( #4134 )
2023-04-20 07:02:31 -04:00
Eyck Jentzsch
df86e39845
Fix systemc namespace issues ( #4126 ) ( #4127 )
...
* replaces use of "systemc.h" with <systemc> to avoid default namespace import
2023-04-17 06:57:29 -03:00
Kamil Rakoczy
b6dcec2710
Internals: Split Mutex class used in verilated code and verilator ( #4048 )
2023-04-11 07:23:24 -04:00
Wilson Snyder
fff0eb5d88
Internals: Use standard 'result' name for return variable. No functional change.
2023-04-08 22:11:28 -04:00
Wilson Snyder
7ae0c5d546
Internals: cppcheck fixes. No functional change intended
2023-04-08 21:36:32 -04:00
Wilson Snyder
13a87e5514
Parse process class, and report runtime errors ( #3612 )
2023-04-08 15:04:42 -04:00
Wilson Snyder
6c21b21ecc
Internals: Indent verilated_std.sv with Verilog-mode. No functional change.
2023-04-06 21:27:16 -04:00
Krzysztof Bieganski
cdb61842d6
Internals: Remove `VlNow` ( #4089 )
...
`VlNow{}` is completely unnecessary, as coroutines are always on the
heap (unless optimized out). Also fix access of var ref passed to forked processes.
2023-04-06 10:31:52 -04:00
Wilson Snyder
9ffd0a4e70
Support queue[$-1] selects.
2023-04-01 15:23:39 -04:00
Wilson Snyder
90e049c674
Internals: Remove unneeded variable. No functional change.
2023-04-01 11:46:43 -04:00
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Wilson Snyder
28eadded87
Update include/gtkwave from upstream
2023-04-01 10:38:47 -04:00
Krzysztof Bieganski
c55df02b1a
Fix C++ compile errors when passing class refs as task arg ( #4063 )
...
1. Fixes passing a null reference as a task argument. Before this patch it would
cause a C++ compile error like `cannot convert ‘VlNull’ to ‘VlClassRef<...>’`.
2. Fixes passing a class reference as a task argument when the argument is a
reference to a base class. Before the patch it would cause a C++ compile
error like `cannot convert ‘VlClassRef<{DERIVED_CLASS}>’ to ‘VlClassRef<{BASE_CLASS}>`.
2023-03-24 13:18:59 -04:00
Wilson Snyder
9b869edd90
Internals: Fix cppcheck warnings. No functional change.
2023-03-18 19:28:48 -04:00
Kamil Rakoczy
bbf53bd5af
Add VL_MT_SAFE attribute to several functions. ( #3729 )
2023-03-16 19:48:56 -04:00
Wilson Snyder
8e55580cde
Update include/gtkwave from upstream
2023-03-15 22:11:06 -04:00
Wilson Snyder
ab502c5196
Fix coverage of class methods ( #3998 ).
2023-03-03 19:26:15 -05:00
Kamil Rakoczy
0130c2bceb
Internals: update clang attributes check report conditions ( #3997 )
2023-03-02 18:37:07 -05:00
Wilson Snyder
b1a95f642f
Support cast to numbers from strings.
2023-02-28 23:34:33 -05:00
Larry Doolittle
aff3f7c4f6
Fix build on hppa ( #3954 )
...
As supplied by John David Anglin in Debian bug #1030913
2023-02-11 04:23:26 -05:00
Kamil Rakoczy
93d50c4499
Internals: Add mutex to V3Error ( #3680 )
2023-02-09 22:15:37 -05:00
Wilson Snyder
eb5aad94f1
Support to packed array
2023-02-05 10:18:03 -05:00
Wilson Snyder
6908e471e7
Revert: e3558d9e: Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 21:26:21 -05:00
Andrew Nolte
e3558d9e1b
Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 19:14:41 -05:00
Aleksander Kiryk
31130c4b4a
Fix std:: to be parsed first ( #3864 ) ( #3928 )
2023-02-03 09:04:16 -05:00
Larry Doolittle
9f9c84aa64
Internals: Avoid using <tab> in the middle of lines ( #3913 )
2023-01-29 22:39:22 -05:00
Wilson Snyder
7855a78a0f
Support %p of union with real
2023-01-28 21:41:50 -05:00
Wilson Snyder
53835355b0
Add CFG_CXXFLAGS_STD so CFG_CXXFLAGS_STD_NEWEST can still exist ( #3881 )
2023-01-22 09:44:50 -05:00
Wilson Snyder
bc7048e8d1
Convert verilator_includer to python3
2023-01-21 14:40:22 -05:00
Wilson Snyder
c2bdd06fcc
Fix VPI one-time timed callbacks ( #2778 ).
2023-01-21 13:43:27 -05:00
Ilya Barkov
8918f17c17
Support class queue equality ( #3895 )
2023-01-21 13:20:02 -05:00
Wilson Snyder
317fe7a787
Fix VL_CPU_RELAX on MIPS/Armel/s390/sparc ( #3891 )
2023-01-19 17:22:28 -05:00
Wilson Snyder
6a60ace2c7
Commentary ( #3887 )
2023-01-18 18:21:53 -05:00
Andrew Nolte
e5eb7d8930
Add VL_VALUE_STRING_MAX_WORDS override ( #3869 )
...
Co-authored-by: Andrew Nolte <anolte@hudson-trading.com>
2023-01-13 15:23:15 -05:00
Sören Tempel
78fe77db0f
Fix compatibility with musl libc / Alpine Linux ( #3845 )
2023-01-05 15:50:25 -05:00
Larry Doolittle
2ab70ba452
Internals: Cleanup .txt file whitespace ( #3842 )
2023-01-05 05:00:54 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Larry Doolittle
80a144797d
Commentary: Fix more spelling ( #3828 )
2022-12-26 10:30:41 +01:00
Wilson Snyder
c0499da28b
Spelling fixes
2022-12-23 11:32:38 -05:00
Wilson Snyder
3ccb2e0f2d
Fix initiation of function variables ( #3815 ).
2022-12-23 10:51:52 -05:00
Krzysztof Bieganski
bb44d4e4f2
Support clocking blocks ( #3674 )
2022-12-23 07:34:49 -05:00
Wilson Snyder
d64971ba35
Fix some MSVC warnings.
2022-12-22 12:19:09 -05:00
Jevin Sweval
3340f7b0b4
Fix macOS weak symbols with -U linker flag ( #3823 )
2022-12-20 11:17:43 -05:00
Kamil Rakoczy
982fa3d7bb
Fix signed/unsigned comparison compile warning ( #3822 )
2022-12-19 10:52:19 -05:00
Kamil Rakoczy
7a15457511
Tests: Add multithreading attribute checks ( #3748 )
2022-12-16 11:19:27 -05:00
Kamil Rakoczy
4f7df4a915
Internals: Mark more VL_MT_SAFE functions ( #3816 ).
2022-12-16 10:14:02 -05:00
Wilson Snyder
073af8e1f2
Fix to zero possibly uninitialized bits in replications ( #3815 )
2022-12-15 22:00:21 -05:00
Wilson Snyder
2eafd82696
Internals: Mark more VL_MT_SAFE functions ( #3748 ). No functional change
2022-12-15 21:32:34 -05:00
Kamil Rakoczy
925fb921a2
Fix missing VL_REQUIRES in definition ( #3804 )
2022-12-14 21:16:16 -05:00
Kritik Bhimani
9d2f1c607a
Fix MSVCC issues ( #3813 )
2022-12-14 07:07:25 -05:00
Kritik Bhimani
7b073fec7d
Fix MSVC++ portability issues ( #3812 )
2022-12-12 18:45:32 -05:00
Wilson Snyder
424faa883e
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-11 23:10:59 -05:00
Wilson Snyder
61d6546400
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-11 23:03:27 -05:00
Wilson Snyder
a0e7930036
docs: Fix spelling
2022-12-09 22:39:41 -05:00
Kamil Rakoczy
5aa935d170
Internals: Add annotations for check attributes ( #3803 )
2022-12-09 07:12:26 -05:00
Wilson Snyder
bcf58defe0
Update include/gtkwave from upstream
2022-12-08 07:30:23 -05:00
Wilson Snyder
ea1b141d13
Support probablity distribution functions.
2022-12-04 17:30:51 -05:00
Wilson Snyder
84c7368621
Rename std.sv and add to install.
2022-12-03 11:31:26 -05:00
Larry Doolittle
f27cf4c804
Commentary: Fix spelling in C++ comments ( #3797 ) ( #3798 )
2022-12-02 18:46:38 -05:00
Wilson Snyder
338e875b70
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-01 19:32:09 -05:00
Wilson Snyder
468a33b61c
Move SystemC requirement out of .cpp files ( #3507 )
2022-11-29 22:44:37 -05:00
Wilson Snyder
8ff607f679
Deprecate verilated_fst_sc.cpp and verilated_vcd_sc.cpp ( #3507 )
2022-11-29 22:17:50 -05:00
Wilson Snyder
6143892619
Internals: Add some VL_UNLIKELY. No functional change.
2022-11-29 20:36:56 -05:00
Wilson Snyder
7d807a7e0e
Commentary
2022-11-29 07:33:12 -05:00
Krzysztof Bieganski
68e1b473e2
Support `std::semaphore` and typed `std::mailbox` ( #3708 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-11-28 16:53:55 +01:00
Wilson Snyder
4452a9b10f
Internals: Fix some VL_MT metacomments.
2022-11-28 07:08:34 -05:00
Larry Doolittle
6349e76abd
Remove $date from .vcd files ( #3779 )
2022-11-27 20:24:22 -05:00
Wilson Snyder
f4be3d5d2b
Fix empty string literals converting to string types ( #3774 ).
2022-11-27 13:28:57 -05:00
Wilson Snyder
833780fac1
Internal: cppcheck fixes. No functional change intended.
2022-11-27 05:52:40 -05:00
Wilson Snyder
a83ed6b06f
Internals: Fix destructor calling virtual. No functional change intended.
2022-11-23 07:04:22 -05:00
github action
821dd070bf
Apply 'make format'
2022-11-23 09:08:02 +00:00
Yves Mathieu
06fdf7be58
Add support of Events for VCD/FST traces ( #3759 )
2022-11-23 04:07:14 -05:00
Ryszard Rozak
57975c82b7
Support 'with' in unique, unique_index, min, max in queues ( #3772 )
2022-11-22 09:10:25 -05:00
Wilson Snyder
66d85b3381
Internals: Fix cppcheck warnings. No functional change intended.
2022-11-21 21:40:49 -05:00
Wilson Snyder
352d0b4582
Internals: Fix constructor style.
2022-11-20 13:11:01 -05:00
github action
cd8528e83b
Apply 'make format'
2022-11-18 00:14:05 +00:00
Wilson Snyder
e8a1e4745c
Support $stacktrace
2022-11-17 19:12:54 -05:00
Miodrag Milanović
f782496092
Fix for mingw cross-compile, arm and riscv ( #3752 )
2022-11-16 05:34:25 -08:00
Wilson Snyder
e6da59eecd
Internals: Mark some VL_PURE functions. No functional change.
2022-11-15 09:18:47 -05:00
Wilson Snyder
04f68cbd99
Internals: Spacing
2022-11-13 21:58:18 -05:00
Wilson Snyder
8c6d1e53ca
Internals: Fix some 'p' names, and make new base class for VlDeleter. No functional change intended.
2022-11-13 17:40:50 -05:00
Wilson Snyder
818347f99b
Internals: Fix some unnecessary member paddings. No functional change intended.
2022-11-13 09:26:46 -05:00
Wilson Snyder
218dd4322b
Fix C++11 warnings
2022-11-12 16:03:13 -05:00
Kamil Rakoczy
207bc2b18a
Fix comment annotation
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2022-11-10 13:36:14 +00:00
Kamil Rakoczy
d6126c4b32
Remove --no-threads; require --threads 1 for single threaded ( #3703 ).
2022-11-05 08:47:34 -04:00
Geza Lore
65e08f4dbf
Make all expressions derive from AstNodeExpr ( #3721 ).
...
Apart from the representational changes below, this patch renames
AstNodeMath to AstNodeExpr, and AstCMath to AstCExpr.
Now every expression (i.e.: those AstNodes that represent a [possibly
void] value, with value being interpreted in a very general sense) has
AstNodeExpr as a super class. This necessitates the introduction of an
AstStmtExpr, which represents an expression in statement position, e.g :
'foo();' would be represented as AstStmtExpr(AstCCall(foo)). In exchange
we can get rid of isStatement() in AstNodeStmt, which now really always
represent a statement
Peak memory consumption and verilation speed are not measurably changed.
Partial step towards #3420
2022-11-03 16:02:16 +00:00
Wilson Snyder
0ed7aaeabd
Update include/gtkwave/fstapi.c from upstream.
2022-10-27 21:37:09 -04:00