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
Kamil Rakoczy
ed93a111c2
Fix deadlock in ``timeprecision`` when using systemC ( #3707 )
2022-10-26 04:50:28 -07:00
Krzysztof Bieganski
fcf0d03cd4
Dynamic triggers for non-static contexts ( #3599 )
...
In non-static contexts like class objects or stack frames, the use of
global trigger evaluation is not feasible. The concept of dynamic
triggers allows for trigger evaluation in such cases. These triggers are
simply local variables, and coroutines are themselves responsible for
evaluating them. They await the global dynamic trigger scheduler object,
which is responsible for resuming them during the trigger evaluation
step in the 'act' eval region. Once the trigger is set, they await the
dynamic trigger scheduler once again, and then get resumed during the
resumption step in the 'act' eval region.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-22 14:05:39 +00:00