Wilson Snyder
c52ba28dd0
Tests: Fix commentary to unify issue references.
2023-09-15 18:12:11 -04:00
Wilson Snyder
10c1653e72
Fix ZERODLY to not warn on 'wait(0)'.
2023-09-15 08:53:29 -04:00
Ryszard Rozak
96857c5f95
Fix the error message when the type of ref argument is wrong ( #4490 )
2023-09-15 07:17:24 -04:00
Wilson Snyder
131eb319e0
Tests: Advance UVM through V3LinkDot Param ( #1538 partial)
2023-09-14 20:09:43 -04:00
Wilson Snyder
6e589377f4
Fix reference to extended class in parameterized class ( #4466 ).
2023-09-14 20:07:49 -04:00
Wilson Snyder
2c84b37bf7
Internals: Rename some V3LinkDot variables. No functional change.
2023-09-14 20:06:20 -04:00
Kamil Rakoczy
0d67caff77
Internals: V3Task: refactor common code to connectPort. No functional change intended ( #4488 )
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2023-09-14 07:24:49 -04:00
Anthony Donlon
3dde57d539
Fix lint of case statements with enum and wildcard bits ( #4464 ) ( #4487 )
2023-09-14 07:22:49 -04:00
Kamil Rakoczy
9fe459c820
Internals: V3LockGuard: Add constructor for adopting already locked mutex. ( #4476 )
2023-09-13 13:52:59 -04:00
Wilson Snyder
823e0723fb
Internals: Remove legacy define. No functional change.
2023-09-13 08:46:51 -04:00
Kamil Rakoczy
8bd6d7c5b1
Internals: Add V3ThreadSafety ( #4477 )
2023-09-13 07:57:48 -04:00
Wilson Snyder
839a8fa4d9
Fix error on enum with VARHIDDEN of cell ( #4482 ).
2023-09-12 17:47:57 -04:00
Krzysztof Boroński
24917a187a
Fix V3CUse, do not consider implementations (.cpp) at all ( #4386 )
2023-09-12 17:59:57 +02:00
Ryszard Rozak
6c6f03cf7c
Fix static cast from a stream type ( #4469 ) ( #4485 )
2023-09-12 11:06:12 -04:00
Kamil Rakoczy
5676443139
Internals: Rename and slightly change other threads stopping/resuming methods. ( #4478 )
...
Co-authored-by: Mariusz Glebocki <mglebocki@antmicro.com>
2023-09-11 13:43:26 -04:00
Kamil Rakoczy
e77d847671
Check whether V3ERROR_NO_GLOBAL_ is not already defined. ( #4475 )
...
Co-authored-by: Mariusz Glebocki <mglebocki@antmicro.com>
2023-09-11 09:01:34 -04:00
Kamil Rakoczy
0baee84e96
Move `dpiTemporaryVarSuffix()` to header. ( #4474 )
...
Co-authored-by: Mariusz Glebocki <mglebocki@antmicro.com>
2023-09-11 09:01:09 -04:00
Ryszard Rozak
c446cc2596
Internals: Remove unused constructor. No functional change. ( #4473 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-09-11 07:10:33 -04:00
Ryszard Rozak
b66c4153b1
Compute purity of AstCMethodHard ( #4460 )
2023-09-11 13:06:15 +02:00
Wilson Snyder
d72f1b89fc
Internals: Minor internal code coverage cleanups
2023-09-10 18:53:51 -04:00
Wilson Snyder
b5b278d072
Fix fork crash with no init, test for ( #4471 )
2023-09-10 08:53:21 -04:00
Wilson Snyder
cb5466a90b
Tests: UVM passes V3Param stage
2023-09-09 11:54:55 -04:00
Wilson Snyder
cdd8953085
Disable Subst when not pure
2023-09-08 21:52:33 -04:00
Wilson Snyder
2f2f0164ff
Internals: Use specific types on some cloneTrees. No functional change.
2023-09-08 21:51:59 -04:00
Kamil Rakoczy
6e977e1024
Generate compile_commands.json using bear ( #4463 )
2023-09-08 17:26:11 -04:00
Krzysztof Boroński
70b11f91b4
Support block_item_declaration in forks ( #4455 )
2023-09-08 16:40:14 +02:00
Wilson Snyder
014301587f
Unsupported instead of syntax error on parameter var initial values
2023-09-08 08:37:17 -04:00
Krzysztof Bieganski
139e93d371
Internals: Reduce the number of typechecks in graphs ( #4398 ). No functional change intended.
2023-09-08 07:35:52 -04:00
Krzysztof Bieganski
fb1fc46b06
Internals: Rework self pointers ( #4396 )
2023-09-08 07:34:35 -04:00
Ryszard Rozak
91227d26bb
Internals: Rename pure to dpiPure. No functional change. ( #4461 )
2023-09-08 08:51:19 +02:00
Wilson Snyder
11b5dae88d
Support let
2023-09-07 21:45:51 -04:00
Wilson Snyder
0c7d485417
Fix error printing internal name()
2023-09-06 21:07:06 -04:00
Ryszard Rozak
c40e34b134
Support assignments of stream expressions on queues to packed values ( #4458 )
2023-09-06 15:25:48 +02:00
Wilson Snyder
c65265477f
Tests: Enable cover named property
2023-09-03 21:02:42 -04:00
Wilson Snyder
de77f1ee5c
Improve error that assert-under-assert is unsupported
2023-09-03 09:08:43 -04:00
Wilson Snyder
c8c980c49d
Fix mis-warning on #() in classes' own functions.
2023-09-02 08:33:56 -04:00
Wilson Snyder
ad329612fd
Internals: Remove unnecessary cloneTree.
2023-09-01 20:13:20 -04:00
Wilson Snyder
c324895cbc
Internals: Remove unnecessary cloneTree.
2023-09-01 19:49:57 -04:00
Ryszard Rozak
5b7e32581b
Internals: Cleanup V3Task. No function change intended. ( #4454 )
2023-09-01 08:03:16 -04:00
Wilson Snyder
2f90fb2bec
Set lifetime for repeat variable ( #4451 partial)
2023-08-31 18:34:37 -04:00
Wilson Snyder
8c480fd39e
Internals: Fix cppcheck warnings
2023-08-31 18:29:58 -04:00
Krzysztof Bieganski
ffbbd438ae
Internals: Use runtime type info instead of `dynamic_cast` for faster graph type checks ( #4397 )
2023-08-31 18:00:53 -04:00
Anthony Donlon
96ee81fa3f
Fix unstable output of VHashSha256 ( #4453 )
2023-08-31 13:42:37 -04:00
Wilson Snyder
6d5dde8645
Fix duplicate Vfork functions ( #4418 )
2023-08-30 17:59:25 -04:00
Wilson Snyder
048c9f3fe2
Support extra commas before $display
2023-08-30 17:31:11 -04:00
Wilson Snyder
373265752f
Fix display %x formatting of real.
2023-08-30 17:21:33 -04:00
Wilson Snyder
ccdb52c1d9
Fix lifetime unknown error on enum.name ( #4448 ).
2023-08-30 07:20:25 -04:00
Yinan Xu
b4b74d72f0
Add prepareClone and atClone APIs for Verilated models ( #3503 ) ( #4444 )
...
This API is used if the user copies the process using `fork`
and similar OS-level mechanisms. The `at_clone` member function
ensures that all model-allocated resources are re-allocated, such
that the copied child process/model can simulate correctly.
A typical allocated resource is the thread pool, which every model
has its own pool.
2023-08-30 07:02:55 -04:00
Wilson Snyder
ca6ab584d0
Internals: Remove cloneTreeNull. No functional change intended.
2023-08-29 20:29:11 -04:00
github action
799a502cac
Apply 'make format'
2023-08-29 23:56:25 +00:00
Ethan Sifferman
8d1570db28
Add check for conflicting options e.g. binary+lintonly ( #4409 )
2023-08-29 19:55:37 -04:00
Wilson Snyder
2a30bbe493
Fix internal error on real conversion ( #4447 ).
2023-08-29 18:07:23 -04:00
Anthony Donlon
cf6566b9bc
Internal: Optimize program size by refactoring error reporting routines ( #4446 )
2023-08-29 16:54:32 -04:00
Krzysztof Boroński
c3e19f2821
Move variables mutated under fork..join_none/join_any blocks into anonymous objects ( #4356 )
2023-08-29 20:01:00 +02:00
Ryszard Rozak
e24197fd16
Don't move function calls before the expression ( #4413 )
2023-08-28 15:44:41 +02:00
Anthony Donlon
63db60f646
Fix using type in parameterized classes without #() ( #4281 ) ( #4440 )
...
* Check whether a class is parameterized or not with AstClass::isParameterized method
* Fix usage conflict of user2 pointer in V3Param.cpp
2023-08-26 12:06:26 -01:00
Wilson Snyder
e66b28823d
Internals: Cleanup some spacing. No functional change.
2023-08-26 05:59:56 -04:00
Wilson Snyder
00d63883f8
Fix false MULTITOP on bound interfaces ( #4438 ).
2023-08-25 08:21:15 -04:00
Wilson Snyder
10dd675371
Fix false UNUSEDPARAM on generate localparam ( #4427 ).
2023-08-25 07:59:29 -04:00
Ryszard Rozak
2daa32b98b
Support assignments of packed values to stream expressions on queues ( #4401 )
2023-08-25 11:24:12 +02:00
Ryszard Rozak
90079c2974
Fix nested assignments on the LHS ( #4435 )
2023-08-23 12:08:22 +02:00
Wilson Snyder
967a8530dd
Fix errors on some $past cases ( #4425 )
2023-08-22 01:49:06 -04:00
Krzysztof Boroński
ef4794e36d
Support parenthesesless calls to static methods ( #4432 )
2023-08-22 06:06:34 +01:00
Anthony Donlon
768b78e7d0
Fix checking for parameter and port connections in the wrong place ( #4428 )
2023-08-20 08:55:16 -04:00
Aleksander Kiryk
4370254e73
Fix ++/-- under statements ( #4399 )
2023-08-19 07:03:21 -04:00
github action
7479db6ffc
Apply 'make format'
2023-08-19 08:52:38 +00:00
Frans Skarman
e9cc2786b7
Add --no-trace-top option ( #4422 )
2023-08-19 04:51:29 -04:00
Anthony Donlon
cbdee5a804
Fix Windows filename format, etc. ( #3873 ) ( #4421 )
...
* Ignore CLion project files and CMake outputs
* Supporting stripping file path that contains backslash
* Set /bigobj flag and increase stack size for windows platform
* Fix MSVC warnings
2023-08-16 07:34:57 -04:00
Anthony Donlon
0f66262fa1
Internals: Refactor AstNode::checkTreeIter for better stack size ( #4420 )
2023-08-16 07:32:39 -04:00
Wilson Snyder
16008acdf1
Internals: Add disabled duplicate function check ( #4418 )
2023-08-12 10:51:35 -04:00
Wilson Snyder
5447ed2629
Fix multple function definitions in V3Sched ( #4416 ).
2023-08-12 10:41:44 -04:00
Wilson Snyder
bc97319402
Internals: State commentary. No functional change.
2023-08-12 08:55:08 -04:00
Wilson Snyder
709db5c648
Internals: Avoid unordered_set
2023-08-12 08:46:25 -04:00
Krzysztof Boroński
b752faa107
Fix jumping over object initialization ( #4411 )
2023-08-11 18:28:37 +02:00
Krzysztof Boroński
8d512c3187
Fix variable lifetimes in extern methods ( #4414 )
2023-08-11 16:52:59 +02:00
Ryszard Rozak
2d9bc73709
Fix dtype of condition operation on class objects ( #4345 ) ( #4352 )
2023-08-07 05:54:30 -04:00
Ryszard Rozak
b0942ed8c7
Fix detection of mixed blocking and nonblocking assignment in nested assignments ( #4404 )
2023-08-07 11:35:44 +02:00
Krzysztof Bieganski
1a77030c9b
Internals: Speedup to only typecheck node child getters in debug builds ( #4394 )
2023-08-05 03:24:00 -04:00
Aleksander Kiryk
4afa14b612
Internals: Remove m_pkgp and m_classp from WidthVisitor ( #4402 )
2023-08-05 03:07:23 -04:00
Krzysztof Bieganski
9caa79a7ea
Internals: Remove the name field from `AstVarRef` ( #4395 )
2023-08-03 02:52:52 -04:00
Wilson Snyder
06521f6cf1
Tests: Fix some missing coverage, and cleanup some error messages
2023-07-27 06:53:43 -04:00
github action
75336670d7
Apply 'make format'
2023-07-27 09:44:05 +00:00
Andrew Miloradovsky
106a9fe67f
Fix config_build.h issues ( #4380 ) ( #4381 )
2023-07-27 05:42:35 -04:00
Anthony Donlon
959387b69f
Support property declaration with empty parentheses ( #4313 ) ( #4317 )
2023-07-26 05:18:21 -04:00
Ryszard Rozak
fd0703b8c8
Fix selects on unpacked structs ( #4359 )
2023-07-25 12:50:24 +02:00
Ryszard Rozak
3ff608b9cb
Fix non-public methods with wide output ( #4364 )
2023-07-25 04:55:58 -04:00
Aleksander Kiryk
edc0a0e982
Optimize V3Number::opAdd ( #4385 )
2023-07-24 17:09:27 -04:00
Aleksander Kiryk
1549ff9185
Support more types in wait ( #4374 )
2023-07-24 08:14:01 -04:00
Ryszard Rozak
aa0ef554b3
Fix order of evaluation of function calls in statements ( #4375 )
2023-07-21 03:29:11 -04:00
Ryszard Rozak
a6015863d8
Support for static method calls as default values of function arguments ( #4378 )
2023-07-21 03:27:00 -04:00
Aleksander Kiryk
5a694ccb8a
Fix assign to input var in methods ( #4367 )
2023-07-17 09:52:37 -04:00
Ryszard Rozak
4de1b22672
Fix handling of super.new calls ( #4366 )
2023-07-17 13:30:42 +02:00
Krzysztof Boroński
4bdda3f240
Improve propagation of process requirement and decouple it from suspendability ( #4321 )
2023-07-14 17:12:02 +02:00
Ryszard Rozak
ced1dfeffd
Fix select operation on assoc array with wide keys ( #4360 )
2023-07-12 18:48:24 +02:00
Krzysztof Boroński
0774f825cf
Internals: Use pointer to const nodes in V3MemberMap ( #4353 )
2023-07-12 11:36:24 -04:00
Ryszard Rozak
23fe5c1b93
Fix string concatenations ( #4354 )
2023-07-10 12:58:54 -04:00
Julian Daube
3ee9b33f8a
Fix cmake astgen for Rocky Linux 8.7 ( #4343 )
2023-07-09 06:02:21 +05:00
Wilson Snyder
5be0813893
Explicity reference std:: in header files ( #4338 ). No functional change intended.
2023-07-08 13:20:40 -04:00
Wilson Snyder
f94c1b32e5
Internals: Make V3MemberMap to remove member cache ( #4350 )
2023-07-08 12:40:27 -04:00
Wilson Snyder
ff4923cf67
Internals: Make V3MemberMap towards removing member cache ( #4350 )
2023-07-08 12:27:50 -04:00
Krzysztof Bieganski
5788bc8048
Propagate class timescale to class package ( #4348 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-07-07 17:27:33 +02:00
Krzysztof Bieganski
d5d1cc47e0
Fix multiple edge timing controls in class methods ( #4318 ) ( #4320 ) ( #4344 )
...
Multiple edge timing controls in class methods would cause compilation errors on
the generated C++ code. This is because the `SenExprBuilder` used for these
would get recreated per timing control, resulting in duplicate variable names.
The fix is to have a single `SenExprBuilder` per scope.
2023-07-07 08:19:49 -04:00
Aleksander Kiryk
9aa90569bf
Support string replication with variable ( #4341 )
2023-07-07 13:05:06 +05:00
Wilson Snyder
294d78e0e2
Backout unstable dbb35ab8 ( #4318 ) ( #4320 )
2023-07-05 14:26:28 -04:00
Aleksander Kiryk
399319dc1c
Fix wildcard referring types ( #4336 ) ( #4342 )
2023-07-05 13:08:00 -04:00
Krzysztof Bieganski
35d6da391b
Fix multiple edge timing controls in class methods ( #4318 ) ( #4320 )
...
Multiple edge timing controls in class methods would cause compilation errors on the generated C++ code. This is because the `SenExprBuilder` used for these would get recreated per timing control, resulting in duplicate variable names. The fix is to have a single `SenExprBuilder` per scope.
2023-07-05 10:36:10 +00:00
Aleksander Kiryk
fcbd7c87af
Fix unexpected RefDType on assoc arrays ( #4337 )
2023-07-04 18:13:22 +05:00
Ryszard Rozak
97feba6898
Support locator methods with "with" on assoc arrays ( #4335 )
2023-07-04 18:11:15 +05:00
Aleksander Kiryk
9249ffdb84
Fix queue slicing ( #4329 )
2023-07-03 13:55:24 -04:00
أحمد المحمودي
71df9e3381
Commentary: Fix typo of concurrent ( #4332 )
2023-07-02 16:12:09 -04:00
Wilson Snyder
3c964147be
Add MISINDENT lint warning for misleading indentation.
2023-07-01 10:45:25 -04:00
Wilson Snyder
54b4b6b378
Internals: Fix missing calls to cleanFileline.
2023-07-01 08:59:26 -04:00
Wilson Snyder
cff37f0775
Add GENUNNAMED lint warning.
...
Also fix generate-for blocks with empty statements getting lost.
2023-07-01 08:31:53 -04:00
Ryszard Rozak
24a9f7c650
Fix references to members of results of static methods ( #4327 )
2023-06-30 13:23:34 +02:00
Ryszard Rozak
242f661644
Fix selects of static members ( #4326 )
2023-06-30 09:12:22 +02:00
Aleksander Kiryk
32019d2bc4
Fix state update for always processes ( #4311 )
2023-06-29 09:21:49 -04:00
Krzysztof Boroński
b252bb048f
Fix unhandled overloads in V3InstrCount ( #4324 )
2023-06-28 08:49:56 -04:00
Ryszard Rozak
ba47c01a01
Fix implicit calls of base class constructors with optional arguments ( #4319 )
2023-06-27 16:08:38 +02:00
Ryszard Rozak
51266898ec
Fix comparison of string parameters ( #4308 )
2023-06-27 10:40:45 +02:00
Wilson Snyder
f9164ab0d2
Internals: Assert dtype comparison. No functional change intended.
2023-06-25 07:40:00 -04:00
Wilson Snyder
c43e707f43
Internals: refactor sameTreeIter. No functional change.
2023-06-25 07:26:45 -04:00
Mariusz Glebocki
85b7f828b3
Internals: Use `std::packaged_task` as a job wrapper; add and use `V3ThreadPool::ScopedExclusiveAccess` ( #4310 ).
...
* Add VL_ASSERT_CAPABILITY; add assumeLocked and pretendUnlock to V3Mutex.
* Pass jobs as template-arguments and use std::packaged_task.
* Add and use V3ThreadPool::ScopedExclusiveAccess.
2023-06-23 18:25:12 -04:00
Jiamin Zhu
1c88c3083c
Fix splitting coroutines ( #4297 ) ( #4307 )
2023-06-23 06:01:38 -04:00
Ryszard Rozak
4522834f7a
Fix duplicate fork names ( #4295 )
2023-06-22 06:51:53 -04:00
Ryszard Rozak
9ee5fd0585
Fix handling of ref types in initial values of type parameters ( #4304 )
2023-06-20 14:10:07 -04:00
Wilson Snyder
63b2dbb827
Fix error when multiple duplicate DPI exports ( #4301 ).
2023-06-20 06:26:46 -04:00
Wilson Snyder
d45deccc0a
Internals: Favot std::array. No functional change intended.
2023-06-16 19:44:40 -04:00
Ryszard Rozak
d1ff81a41c
Fix class reference assignment checking ( #4296 )
2023-06-15 14:00:47 +02:00
Krzysztof Bieganski
43fa6858f6
Fix `VlForkSync` redeclaration ( #4277 )
...
Given nested forks, if the inner fork had a `join` or `join_any` at the end,
`V3Sched::transformForks()` would decide that the fork's `VlForkSync` variable
should be passed in from the outside. This resulted in the `VlForkSync` getting
redeclared as a function argument. Ultimately, it led to C++ compilation errors
due to variable redeclaration.
Fixed by rearranging the `if`s that decide whether a variable should be passed
in or left as-is.
2023-06-15 07:49:50 -04:00
Krzysztof Boronski
21c01ba97b
V3Fork - transform processes that can outlive their parents into separate tasks ( #4253 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-06-14 20:44:53 +02:00
Ryszard Rozak
b517fb5ee3
Support some stream operations on queues ( #4292 )
2023-06-13 22:46:42 -04:00
Wilson Snyder
48e98ea2bd
Internals: Sort some error codes ( #4253 ). No functional change intended.
2023-06-13 08:52:13 -04:00
Julien Margetts
ac4315e145
Fix LATCH warning on function local variables ( #4221 ) ( #4284 )
2023-06-12 09:24:46 -04:00
Àlex Torregrosa
4b7b185d05
Fix VCD scope types ( #4227 ) ( #4282 )
2023-06-08 11:43:04 -04:00
Aleksander Kiryk
6cb0335d28
Support array max ( #4275 )
2023-06-07 07:44:21 -04:00
Aleksander Kiryk
c248318958
Fix struct redefinition ( #4276 )
2023-06-06 18:28:35 -04:00
Ryszard Rozak
c3e5db5f04
Fix names of foreach blocks ( #4264 )
2023-06-06 16:24:42 +02:00
Krzysztof Bieganski
058233fc87
Set the global `usesTiming` flag if forks exist ( #4274 )
2023-06-06 09:35:12 -04:00
Mariusz Glebocki
186c851695
Internals: Avoid pessimistic mutex locking in waitIfStopRequested() ( #4272 ). No functional change intended.
...
`stopRequested()` reads only atomic variables. It doesn't need a mutex
to do this.
This function is called in `waitIfStopRequested()`, which in turn
is called before execution of every job, and inside some jobs. With this
change the mutex inside `waitIfStopRequested` needs to be locked only in
very rare cases instead of every time.
2023-06-05 19:40:36 -04:00
Mariusz Glebocki
5aa36357f6
Internals: Use `auto` instead of SFINAE in return type ( #4271 ). No functional change intended.
2023-06-05 18:53:19 -04:00
github action
a7b0551d23
Apply 'make format'
2023-06-03 14:11:23 +00:00
John Wehle
dc34968fe7
Add class specific same methods for AstVarScope, AstVar, and AstScope ( #4203 ) ( #4250 )
2023-06-03 10:07:39 -04:00
Jiamin Zhu
45f064f7cb
Fix missing assignment for wide class members. ( #4267 )
2023-06-03 06:40:23 -07:00
Krzysztof Boroński
545caba720
Give iterated variables in foreach loops VAUTOM lifetimes ( #4265 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-06-02 17:16:42 +02:00
Krzysztof Boroński
0e24f36fef
Use STATIC lifetime for variables created from clocking items ( #4262 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-06-01 17:49:27 +02:00
Aleksander Kiryk
db7935faf3
Add std::process class ( #4212 )
2023-06-01 10:02:08 -04:00
Adrien Le Masle
9cc218db3e
Fix incorrect multi-driven lint warning ( #4231 ) ( #4248 )
2023-06-01 08:43:17 -04:00
Ryszard Rozak
15f8ebc562
Fix static methods with prototypes ( #4220 )
2023-05-31 21:18:32 -04:00
Don Williamson
df2746de71
Add --main-top-name option for C main TOP name ( #4235 ) ( #4249 )
2023-05-31 09:02:26 -07:00
Risto Pejašinović
7f471d862e
Fix operator == for unpacked struct, if elements are VlUnpacked arrays ( #4247 )
2023-05-31 08:34:34 -04:00
Risto Pejašinović
338acabe2b
Fix AstStructSel clean when data type is structure ( #4241 ) ( #4244 )
2023-05-30 23:44:48 -04:00
Ryszard Rozak
4f1f487ae4
Fix function calls in with statements ( #4245 )
2023-05-30 09:02:59 -04:00
Krzysztof Bieganski
77502aeb97
Add warning that timing controls in DPI exports are unsupported ( #4238 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-05-30 09:00:10 -04:00
Ryszard Rozak
ba82d43ca1
Support for condition operator on class objects ( #4214 )
2023-05-30 08:59:00 -04:00
Wilson Snyder
e9135598b3
Fix method calls on function return values.
2023-05-29 18:51:27 -04:00
Risto Pejašinović
1c0739db10
Fix unpacked struct == and != operators ( #4234 ) ( #4240 )
2023-05-29 12:08:39 -04:00
Ryszard Rozak
dfd3907787
Mark AstMemberSel as clean ( #4236 )
2023-05-29 09:35:53 +02:00
Wilson Snyder
1069652701
Fix some AstExprStmt handling issues, towards side effect fixes.
2023-05-27 12:43:40 -04:00
Wilson Snyder
70b82f1aec
Internals: V3Dead cleanups. No functional change.
2023-05-27 11:46:25 -04:00
Wilson Snyder
5573bdb219
Internals: Cleanup V3SplitAs VL_RESTORED. No functional change intended.
2023-05-27 10:43:04 -04:00
Wilson Snyder
cf68578261
Internals: Cleanup V3SplitAs VL_RESTORED. No functional change intended.
2023-05-27 10:17:51 -04:00
Wilson Snyder
f407d442d4
Commentary
2023-05-27 09:43:23 -04:00
Wilson Snyder
5efe9367d2
Fix SystemC signal copy macro use ( #4135 ).
2023-05-27 07:00:26 -04:00
Krzysztof Bieganski
519792d02b
Fix to commit coroutines immediately on `wait` statements ( #4229 )
...
Event-triggered coroutines live in two stages: 'uncommitted' and 'ready'. First
they land in 'uncommitted', meaning they can't be resumed yet. Only after
coroutines from the 'ready' queue are resumed, the 'uncommitted' ones are moved
to the 'ready' queue, and can be resumed. This is to avoid self-triggering in
situations like waiting for an event immediately after triggering it.
However, there is an issue with `wait` statements. If you have a `wait(b)`, it's
being translated into a loop that awaits a change in `b` as long as `b` is
false. If `b` is false at first, the coroutine is put into the `uncommitted`
queue. If `b` is set to true before it's committed, the coroutine won't get
resumed.
This patch fixes that by immediately committing event controls created from
`wait` statements. That means the coroutine from the example above will get
resumed from now on.
2023-05-25 20:20:44 -04:00
Jiamin Zhu
bfa1f2d7ce
Fix missing assignment for wide unpacked structs ( #4233 )
2023-05-25 20:13:02 -04:00
Mariusz Glebocki
8303938d0e
Internals: Make mutex classes uncopyable. ( #4223 )
2023-05-25 07:35:14 -04:00
Mariusz Glebocki
0ece155418
Internals: Move some includes to .cpp files. ( #4224 )
2023-05-24 18:53:14 -04:00
Ryszard Rozak
4f7e155e59
Fix class parameters of enum types ( #4219 )
2023-05-24 15:51:03 +02:00
Wilson Snyder
19d0aabe7a
Internals: Fix extra cast on ExprStmt.
2023-05-23 20:52:30 -04:00
Krzysztof Boroński
167a30be1c
Fix deep traversal of class inheritance timing ( #4216 )
2023-05-23 09:01:57 -04:00
Wilson Snyder
5982528274
Fix duplicate std:: declaration with -I ( #4215 ).
2023-05-22 20:32:20 -04:00
Krzysztof Boroński
de3095e3b4
Fix missing class forward declarations ( #4151 )
2023-05-22 08:29:01 -04:00
Wilson Snyder
8e0682f442
Fix V3Expand ignoring side effects
2023-05-21 21:02:39 -04:00
Wilson Snyder
140994d2c4
Internals: Cleanup more VL_RESTORER. No functional change intended.
2023-05-21 14:06:39 -04:00
Wilson Snyder
950e29d56e
Internals: Cleanup some missing VL_RESTORER in V3Gate. No functional change intended.
2023-05-21 12:49:07 -04:00
Wilson Snyder
65667356b6
wip
2023-05-21 12:24:00 -04:00
Wilson Snyder
6b393e9d7c
Internals: Allow statement-in-statement recursion in V3Premit
2023-05-21 12:03:13 -04:00
Wilson Snyder
4818130e4f
Internals: Remove dead code, addBeforeStmt
2023-05-20 22:37:28 -04:00
Ryszard Rozak
9da3aacd08
Fix bit selections under parameterized classes ( #4210 )
2023-05-18 20:01:36 -04:00
Krzysztof Bieganski
729f8b9334
Move suspendable detection to a separate visitor ( #4208 )
...
This makes the implementation of the detection and propagation of the
suspendable property simpler and easier to read. More importantly, there are no
more jumps around the AST with the `visit` functions, which in some cases could
result in incorrect visitor context while in the `visit` function. See the added
test, which would cause Verilator to segfault before this patch.
In testing, verilation performance was not shown to be affected by this change.
Though there is a slight performance improvement from this patch, due to adding
one more check before refreshing class member cache.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-05-17 17:09:33 +00:00
Ryszard Rozak
279216048b
Fix dotted references in parameterized classes ( #4206 )
2023-05-16 07:40:02 -04:00
Ryszard Rozak
2ce7a348df
Fix references to members of parameterized base classes ( #4196 )
2023-05-15 19:50:04 -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
Krzysztof Bieganski
4835ed6967
Fix forced assignments that override non-continuous assignments ( #4183 ) ( #4192 )
...
Only assign forced value on release if it was forced in the first place.
2023-05-12 06:57:12 -04:00
Ryszard Rozak
0198a3fc52
Use unchanged copy of parameterized class for instantation ( #4179 )
2023-05-11 09:56:15 +02:00
Krzysztof Boroński
e095bf1af0
Support inside expressions with strings and doubles ( #4138 ) ( #4139 )
2023-05-10 20:36:41 -04:00
Aylon Chaim Porat
d5de67c6dc
Fix wide structure VL_TOSTRING_W generation ( #4188 ) ( #4189 )
...
* V3Common.cpp::makeVlToString: fix `VL_TOSTRING_W` statement generation to include width argument
* fix contribution name
* add testcase for long struct `VL_TO_STRING_W` bug
2023-05-10 20:34:44 -04:00
Ryszard Rozak
2267db093f
Fix hashes of instances of parameterized classes ( #4182 )
2023-05-10 18:34:29 -04:00
Ryszard Rozak
5aecfa98a1
Internals: Add param value string to hash in V3Param.cpp ( #4186 )
2023-05-10 17:52:17 -04:00
Wilson Snyder
d269fbb446
Add creating __inputs.vpp file with --debug ( #4177 ).
2023-05-07 17:58:14 -04:00
Wilson Snyder
444020f7c7
Fix super.new missing data type ( #4147 ).
2023-05-07 16:47:34 -04:00
Wilson Snyder
e6f5a0495f
Fix $fscanf of decimals overflowing variables ( #4174 ).
2023-05-07 08:25:10 -04:00
Wilson Snyder
0606a29f13
Fix arrays of unpacked structs ( #4173 ).
2023-05-06 21:41:17 -04:00
Wilson Snyder
4bb876aee5
Fix false IMPLICITSTATIC on package functions.
2023-05-06 19:48:22 -04:00
Wilson Snyder
a3640c1767
Support get_randstate/set_randstate class method function.
2023-05-06 19:09:19 -04:00
Wilson Snyder
250c6950cf
Fix randomize missing simple class rand members.
2023-05-06 18:33:08 -04:00
Wilson Snyder
4ae80f9a9f
Commentary
2023-05-05 22:50:28 -04:00
github action
8a3cb8daa8
Apply 'make format'
2023-05-06 02:37:42 +00:00
Ethan Sifferman
64ab537b68
Add NEWERSTD warning when using feature in newer language standard ( #4168 ) ( #4172 ).
2023-05-05 22:36:51 -04:00
Wilson Snyder
fdea386727
Fix false WIDTHEXPAND on array declarations ( #3959 ).
2023-05-05 22:05:19 -04:00
Wilson Snyder
28944ed862
Fix crash on duplicate imported modules ( #3231 ).
2023-05-05 20:31:48 -04:00
Wilson Snyder
d308a561e4
Fix detection of wire/reg duplicates
2023-05-05 20:16:27 -04:00
Wilson Snyder
584f8cc9e7
Internal: With --xml-only support --debug-exit-uvm
2023-05-05 13:47:34 -04:00
Kamil Rakoczy
61e1483b74
Add multi-threaded Verilating at emit stage ( #3608 )
2023-05-05 08:36:20 -04:00
Krzysztof Bieganski
76c5875912
Fix marking overridden methods as coroutines ( #4120 ) ( #4169 )
...
This patch fixes two cases where methods in base classes were not being marked
as coroutines, even though they were being overridden by coroutines.
- One case is the class member cache not getting refreshed for searched classes.
- The other is when the overriding methods are not declared as `virtual`. In
that case, the `isVirtual()` getter on such a method returns false, which led
to `V3Timing` skipping the step of searching for overridden methods.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-05-04 15:27:45 +02:00
Ryszard Rozak
266dc7679a
Don't link AstRefDType if it has parameterized class ref ( #4164 ) ( #4170 )
2023-05-04 15:09:01 +02:00
Wilson Snyder
add68130b8
Internals: Rename to dumpLevel(), to avoid confusion with make-a-dump()
2023-05-03 18:04:10 -04:00
Tudor Timi
d9b5680a45
Fix crash caused by $display() optimization ( #4165 ) ( #4166 )
2023-05-03 17:04:18 -04:00
Wilson Snyder
dc25be536c
Internals: Deprecate VL_ATTR_ALIGNED, use alignas instead.
2023-05-02 21:21:10 -04:00
Stefan Wallentowitz
7708c88e32
Fix duplicate static names in blocks in functions ( #4144 ) ( #4160 )
...
Static variables of functions are created in the function. When blocks
in a function use identical names for static variables, we need to name
those variables properly.
2023-05-02 20:24:44 -04:00
Kamil Rakoczy
49d2eb9a08
Fix initialization order of initial static after function/task ( #4159 )
2023-05-02 11:50:57 -04:00
Toru Niina
9130eb8b99
Fix DPI function type alias ( #4148 ) ( #4149 )
2023-04-28 07:21:09 -04:00
Ryszard Rozak
09e856d2f3
Fix deleting unused parameterized classes ( #4150 )
2023-04-28 07:20:25 -04:00
Ryszard Rozak
ee5c0a2902
Support parameterized class references in extends statement ( #4146 )
2023-04-24 17:25:53 -04:00
Ryszard Rozak
621b7e63cf
Print the type of provided RHS in class type check ( #4145 )
2023-04-24 17:24:04 -04:00
github action
c6bf9fb89e
Apply 'make format'
2023-04-24 11:29:33 +00:00
Risto Pejašinović
f794180865
Fix hier attribute of --xml-only cell section to respect begin blocks ( #4129 ) ( #4133 )
...
Co-authored-by: Risto Pejasinovic <risto.pejasinovic@cern.ch>
2023-04-24 07:28:29 -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
Geza Lore
cac634d39b
Fix DfgToAst conversion of CountBits ( #4101 ) ( #4143 )
2023-04-23 08:49:44 -04:00
Peter Monsson
08330bad0b
Fix variables in class methods to be automatic ( #4111 ) ( #4137 )
2023-04-21 08:07:22 -04:00
Ryszard Rozak
84a46939b3
Fix class extend param references ( #4136 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-04-20 07:11:35 -04:00
Kamil Rakoczy
65a484e00b
Internal: Update clang_check_annotations conditions ( #4134 )
2023-04-20 07:02:31 -04:00
Krzysztof Boroński
843fdd3e57
Resolve class lvalues after parameterization ( #4131 )
2023-04-19 18:05:37 -04:00
Ryszard Rozak
a10b51705f
Fix class param extends A=B ( #4128 )
...
Visit global class params even if a class extends a param
2023-04-17 09:08:57 -03:00
Wilson Snyder
7f49b6c102
Parse 'let' as unsupported
2023-04-16 17:23:16 -04:00
Krzysztof Boroński
754a0b8320
Fix to use parallel build for projects with a lot of files ( #4116 )
2023-04-14 18:52:05 -04:00
Krzysztof Boroński
7d3b3761b2
Fix including __Syms header in generated C++ files ( #4123 )
2023-04-14 11:53:27 -04:00
Ryszard Rozak
d1b80ffa29
Support parameterized return types of methods ( #4122 )
2023-04-14 08:52:43 -04:00
Ryszard Rozak
f95ce886f1
Fix duplicating parameter class types ( #4115 )
2023-04-14 06:51:33 -04:00
Geza Lore
23f90b13f3
Do not create unnecessary DPI AstSenTrees
...
No functional change
2023-04-13 14:01:45 +01:00
Geza Lore
37e7b5dfc7
Fix unused/hard-coded argument
...
No functional change.
2023-04-13 14:01:37 +01:00
Kamil Rakoczy
e1683afb31
Internals: V3ThreadPool: add function waiting for list of futures ( #4112 )
2023-04-12 08:49:48 -04:00
Kamil Rakoczy
e38b359d75
Internals: Refactor for better clang thread-safety analysis ( #4092 )
2023-04-11 07:25:10 -04: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
0307d59c1f
Fix unpacked structs under classes ( #4102 ).
2023-04-10 19:40:34 -04:00
github action
fc70876aa9
Apply 'make format'
2023-04-10 23:38:20 +00:00
Srinivasan Venkataramanan
722ab9306a
Support class method calls without parenthesis ( #3902 ) ( #4082 )
2023-04-10 19:37:24 -04:00
Wilson Snyder
2ab34b5eeb
Fix false error on new const assignment ( #4098 ).
2023-04-09 19:46:47 -04:00
Wilson Snyder
bf5cbb512e
Add UNSUPPORTED on dotted disable instead of syntax error
2023-04-09 10:11:47 -04:00
Wilson Snyder
d4bb58630e
Support 'for' initialization with comma
2023-04-09 09:56:39 -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
114d93b212
Internals: Move -debug-exit-uvm to post V3LinkDot, just before V3Param ( #1538 )
2023-04-08 15:11:26 -04:00
Wilson Snyder
d67d75282c
Support ++/-- on dotted member variables.
2023-04-07 20:57:17 -04:00
Kamil Rakoczy
827cbf22c9
Fix sense expression variable naming ( #4081 )
2023-04-07 07:23:37 -04:00
Wilson Snyder
2530cda507
Fix debug crash when no std:: used
2023-04-06 21:43:39 -04:00
Wilson Snyder
38000a3da0
Fix unnecessary verilated_std.sv waivers in --waiver-output.
2023-04-06 21:43:23 -04:00
Wilson Snyder
8caf9be3e6
Internals: Favor {} constructor syntax. No functional change intended.
2023-04-06 21:04:26 -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
05660d1118
Add CONSTRAINTIGN warning when constraint ignored. Likewise ignore constraint_mode, rand_mode.
2023-04-05 21:27:37 -04:00
Ryszard Rozak
a3f9221a67
Fix importing symbols from base class ( #4084 )
2023-04-04 20:56:18 -04:00
Wilson Snyder
86156dd05b
Revert false-positive static error ( #4072 ) ( #4077 )
2023-04-01 18:54:37 -04:00
Wilson Snyder
3a01c32bf9
Revert false-positive static error ( #4072 ) ( #4077 )
2023-04-01 15:45:34 -04:00
Wilson Snyder
9ffd0a4e70
Support queue[$-1] selects.
2023-04-01 15:23:39 -04:00
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Krzysztof Bieganski
d012563ab1
Fix tracing with awaits at end of block ( #4075 ) ( #4076 )
...
Given an await at the end of a block, e.g. at the end of a loop body, a trace
activity setter was not inserted, as there were no following statements. This
patch makes the activity update unconditional.
2023-03-31 13:51:31 -04:00
Krzysztof Bieganski
0b96789e65
Add error on static access to non-static class member ( #4072 )
...
Before this patch, it was possible to access non-static class members using
static access, which resulted in C++ compilation errors. This adds
verilation-time checks for such situations.
2023-03-27 10:46:51 -04:00
Wilson Snyder
947402bc57
Fix interface generate begin ( #4065 ).
2023-03-26 08:49:38 -04:00
Yutetsu TAKATSUKASA
d4107dce52
Improve xor tree optimization ( #4071 )
...
* AstNot does not have to be frozen in an xor tree during BitOp tree optimization.
* Tests: Update stats.
2023-03-26 20:36:32 +09:00
Yutetsu TAKATSUKASA
990b19e048
Fix incorrect optimization of bit op tree ( #4059 ) ( #4070 )
2023-03-26 03:29:10 -04:00
Srinivasan Venkataramanan
2290e6ccf2
Fix info message prints under --assert ( #4036 ) ( #4053 )
2023-03-24 19:22:48 -04:00
Ryszard Rozak
5b86248b54
Add error if class types don't match ( #4064 )
2023-03-24 13:18:20 -04:00
Josep Sans
449ac44131
Fix _Vilp used before declaration ( #4057 ) ( #4062 )
2023-03-24 11:51:02 +01:00
Ryszard Rozak
f439a7927f
Fix parameters in a class body to be localparam ( #4061 )
2023-03-23 10:20:35 +01:00
Aleksander Kiryk
277bd67f72
Fix NBAs inside fork-joins ( #4050 )
2023-03-21 10:39:29 -04:00
Krzysztof Bieganski
5de8ccbf32
Fix task calls as fork statements ( #4055 )
...
Before this patch, calling tasks directly under forks would result in each
statement of these tasks being executed concurrently. This was due to Verilator
inlining tasks most of the time. Such inlined tasks' statements would simply
replace the original call, and there would be no indication that these used to
be grouped together. Ultimately resulting in `V3Timing` treating each statement
as a separate process.
The solution is simply to wrap each fork sub-statement in a begin in `V3Begin`
(except for the ones that are begins, as that would be pointless). `V3Begin` is
already aware of forks, and is supposed to avoid issues like this one, so it
seems like a natural fit. This also protects us from similar bugs, i.e. if some
statement gets replaced or expanded into multiple statements.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-03-21 13:50:53 +01:00
github action
71a37484f5
Apply 'make format'
2023-03-21 08:43:31 +00:00
Jesse Taube
daf157e6c0
Fix false LATCH warning on --assert 'unique else if' ( #4033 ) ( #4054 ).
2023-03-21 04:42:19 -04:00
Iztok Jeras
2aa6a229ca
Change range order warning from LITENDIAN to ASCRANGE ( #4010 )
2023-03-20 20:44:11 -04:00
Wilson Snyder
9b869edd90
Internals: Fix cppcheck warnings. No functional change.
2023-03-18 19:28:48 -04:00
Wilson Snyder
2b21697b86
Support class extends of package::class.
2023-03-18 17:26:36 -04:00
Wilson Snyder
895ab8789b
Internals: Fix recently added assertion false firing
2023-03-18 17:11:39 -04:00
Wilson Snyder
f2aac8c49a
Internals: Use VNVisitorConst where possible, for better performance. No functional change indended.
2023-03-18 12:23:17 -04:00
Wilson Snyder
82e653a739
Internals: Avoid emit inheritance in V3EmitCBase. No functional change intended.
2023-03-18 12:23:17 -04:00
Tim Snyder
053f760e2a
Fix characters from DEFENV literals for conda ( #4035 ) ( #4044 )
...
The baked in DEFENV paths might end up with extra NULL characters
at the end if the binaries are installed by something that patches them
for relocatable installs (e.g. conda). Avoid this issue by immediately
passing them through std::string::c_str() method to stop at the first NULL
2023-03-18 11:25:27 -04:00
Wilson Snyder
d60a3e2b66
Fix random internal crashes ( #666 ).
...
Internally, in V3Broken check m_interpp for null, and make several cleanups
in the addNext/addNextHere/unlinkFr* methods.
2023-03-18 09:48:26 -04:00
Wilson Snyder
80cbf81b3b
Internals: Fix missing relink() and add assert
2023-03-17 22:29:48 -04:00
Kamil Rakoczy
798d7346cf
Internals: Add VL_MT_SAFE attribute to functions that requires locking. ( #3805 )
2023-03-17 20:24:15 -04:00
Wilson Snyder
d6c5d40f9b
Internals: Add VNVisitorConst class.
2023-03-17 19:59:09 -04:00
Ryszard Rozak
371b8310d9
Support method calls without parenthesis ( #4034 )
...
* Support method class without parenthesis
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
* Delete replaced nodes
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
---------
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-17 13:25:39 +01:00
Ryszard Rozak
1ac721af8f
Add STATICVAR warning and convert to automatic ( #4027 ) ( #4030 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-17 07:48:41 -04:00
Wilson Snyder
85fd88ace2
Optimize duplicate JumpBlocks away ( #4028 )
2023-03-16 22:29:06 -04:00
Wilson Snyder
ed1e377bb1
Fix large return blocks with --comp-limit-blocks ( #4028 ).
2023-03-16 21:40:01 -04:00
Wilson Snyder
4240c29f4b
Internals: Fix missing broken check
2023-03-16 21:14:49 -04:00
Wilson Snyder
51ba4a1531
Fix clocking block scope internal error ( #4032 ).
2023-03-16 20:48:18 -04:00
Wilson Snyder
d1b55cb7aa
Fix compile error last commit ( #4029 )
2023-03-16 20:22:08 -04:00
Kamil Rakoczy
bbf53bd5af
Add VL_MT_SAFE attribute to several functions. ( #3729 )
2023-03-16 19:48:56 -04:00
Wilson Snyder
b2ced6ff1d
Add more debug info to --report-unoptflat graph ( #4039 )
2023-03-16 19:47:13 -04:00
Kamil Rakoczy
66e4656a8e
Fix event controls reusing same variable ( #4014 )
2023-03-16 07:12:54 -04:00
Wilson Snyder
8ae79066a2
Fix false ENUMVALUE on expressions and arrays.
2023-03-15 21:56:35 -04:00
Wilson Snyder
36da6a3563
Fix parsing #1_2 delays
2023-03-15 21:22:28 -04:00
Wilson Snyder
45690faea7
Parse defparam = as unsupported
2023-03-15 21:04:10 -04:00
Wilson Snyder
046fecbb35
Fix fclose(0).
2023-03-15 20:49:59 -04:00
Ryszard Rozak
0f6024ef3c
Fix rand fields in base classes ( #4025 )
2023-03-15 11:48:18 -04:00
Wilson Snyder
2488b5a97f
Fix pullup/pulldown to create implicit wires.
2023-03-14 21:14:27 -04:00
Wilson Snyder
56de6f1a9f
Fix min/typ/max internal error
2023-03-14 20:40:58 -04:00
Wilson Snyder
0fc5d37901
Fix bounded queues with parameter bounds
2023-03-14 20:29:47 -04:00
Wilson Snyder
ea4cc4e076
Parse nettype with package, still unsupported
2023-03-14 19:52:01 -04:00
Wilson Snyder
9e25c21fed
Fix unpacked struct clocking
2023-03-14 19:35:40 -04:00
Ryszard Rozak
80b7b8bbdb
Don't call randomize on null field ( #4023 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-14 14:48:06 +01:00
Wilson Snyder
a8ce272e4a
Commentary: spelling
2023-03-14 08:39:54 -04:00
Ryszard Rozak
4e5bd361e0
Internal: Fix dumping of AstMethodCall ( #4021 )
2023-03-14 06:54:45 -04:00
Ryszard Rozak
ed1a9309d4
Throw warning if static variable is declared in a loop ( #4018 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-14 10:03:08 +01:00
Ryszard Rozak
1d0a06438c
Assign unique names for blocks in do..while loop ( #4019 )
2023-03-14 09:54:43 +01:00
Wilson Snyder
2c62714a30
Fix push to dynamic queue in struct ( #4015 ).
2023-03-13 22:03:53 -04:00
Wilson Snyder
f13e753b52
Change ZERODLY to a warning.
2023-03-12 21:28:14 -04:00
Wilson Snyder
39a5bce8a6
Parse covergroup, still unsupported.
2023-03-12 14:11:11 -04:00
Wilson Snyder
1debd0405b
Support complicated IEEE 'for' assignments.
2023-03-12 10:46:40 -04:00
Wilson Snyder
1f1d9312d2
Parse event 'iff', still unsupported.
2023-03-11 22:39:59 -05:00
Wilson Snyder
259201b352
Support $fopen as an expression
2023-03-11 18:11:01 -05:00
Wilson Snyder
bb45bd048e
Commentary
2023-03-11 11:27:40 -05:00
Wilson Snyder
5489ec6eff
Parse 'first_match', and still unsupported.
2023-03-11 11:08:37 -05:00
Wilson Snyder
e55e81bcd0
Parse sequence 'local input', still unsupported.
2023-03-11 10:53:10 -05:00
Wilson Snyder
5c5c758718
Parse 'wait_order' and test, still unsupported.
2023-03-11 10:47:08 -05:00
Wilson Snyder
b87669039e
Commentary
2023-03-10 22:25:47 -05:00
Wilson Snyder
60a6ed2a20
Support assert property statement-else-statement
2023-03-10 22:13:17 -05:00
Wilson Snyder
81e8388c3f
Parse 'expect', still unsupported.
2023-03-10 21:48:56 -05:00
Wilson Snyder
4532680e5f
Internals: Cleanup assert/assume. No functional change.
2023-03-10 21:17:54 -05:00
Andrew Nolte
fc17ab280a
Add --public-depth to force public to a certain instance depth ( #3952 )
2023-03-09 21:48:05 -05:00
Wilson Snyder
621cd0f008
Internals: Framework for renaming warnings ( #4010 partial)
2023-03-08 21:32:37 -05:00
Andrew Nolte
13c9877099
Add --public-params flag ( #3990 )
2023-03-08 19:38:26 -05:00
Wilson Snyder
ff889fde18
Add debug comment when trace disabled ( #4004 ).
2023-03-06 18:22:46 -05:00
Krzysztof Boroński
f68c16a5e6
Fix symbol entries when inheriting classes ( #3995 ) ( #3996 )
2023-03-06 07:43:58 -05:00
Ryszard Rozak
cc45f64280
Add __PVT__ prefix to selects nodes ( #4001 )
2023-03-06 13:18:48 +01:00
Wilson Snyder
725ec088ea
Parse 'sequence' declarations, property case/if, still unsupported.
2023-03-06 05:12:09 -05:00
Wilson Snyder
87c3de5aab
Parse 'matches', still unsupported.
2023-03-05 23:58:54 -05:00
Wilson Snyder
6d7c04a3de
Parse cycle delays and boolean abbrev, still unsupported.
2023-03-05 23:22:41 -05:00
Wilson Snyder
d0f5ce0cc4
Parse intersect/throughout/within, still unsupported.
2023-03-05 19:57:09 -05:00
Wilson Snyder
cb89ef9885
Parse more property expression syntax, as still unsupported
2023-03-05 19:42:21 -05:00
Wilson Snyder
90360d40fd
Change property expression handling towards eventual more general expressions.
2023-03-05 18:52:55 -05:00
Wilson Snyder
15dcd326f8
Internals: Parse weak/strong but do not lex
2023-03-05 18:30:43 -05:00
Wilson Snyder
ae1eb56695
Internals: Parser commentary
2023-03-05 17:59:17 -05:00
Wilson Snyder
a47fd07585
Internals: Standard grammar for property_expression |-> |=>.
2023-03-05 16:59:24 -05:00
Wilson Snyder
19bc257002
Internals: UNSUPPORTED commentary
2023-03-05 16:45:07 -05:00
Wilson Snyder
329a933efd
Internals: Parse nettype as unsupported
2023-03-04 10:50:28 -05:00
Wilson Snyder
e21198cb2d
Add warning on missing class reference #()
2023-03-03 21:06:52 -05:00
Wilson Snyder
ab502c5196
Fix coverage of class methods ( #3998 ).
2023-03-03 19:26:15 -05:00
Felix Neumärker
12728bc478
Fix UNDRIVEN warning seg fault ( #3989 )
2023-03-03 18:54:38 -05:00
Wilson Snyder
3fc684359a
Fix prettyName in structure dumps, partial ( #4001 )
2023-03-03 18:49:26 -05:00
Wilson Snyder
dd917d50eb
Internals: Parse interconnect then say unsupported
2023-03-02 20:02:14 -05:00
Wilson Snyder
8a5804fc3a
Tests: Add tagged union test
2023-03-02 08:11:11 -05:00
Wilson Snyder
3df29085c8
Fix end label fileline reporting.
2023-03-02 07:50:16 -05:00
Wilson Snyder
976af0068b
Support parsing min:typ:max parameters
2023-03-01 23:11:48 -05:00
Wilson Snyder
463ea57b0a
Add error (vs previous warning) on enum value overflow.
2023-03-01 22:36:42 -05:00
Wilson Snyder
326a60d307
Add error on mixing .name and by-port instantiations.
2023-03-01 21:19:21 -05:00
Ryszard Rozak
2c60c5f816
Support recursive methods ( #3987 )
2023-03-01 21:07:37 -05:00
Cameron Kirk
faf3804b9a
Fix LITENDIAN warning is backwards ( #3966 ) ( #3967 ).
2023-03-01 11:46:44 -05:00
github action
08a433260c
Apply 'make format'
2023-03-01 05:44:35 +00:00
Wilson Snyder
7fc278f6db
Fix import of extends typedefs
2023-03-01 00:30:45 -05:00
Wilson Snyder
b1a95f642f
Support cast to numbers from strings.
2023-02-28 23:34:33 -05:00
Krzysztof Boroński
06661ab676
Disallow ++/-- over expressions with potential side effects ( #3976 ).
2023-02-28 15:21:58 -05:00
Wilson Snyder
a0997d0b98
Fix internal error with UNSUPPORTED of procedural clocked assertions
2023-02-28 00:35:58 -05:00
Felix Neumärker
a3ff375ce7
Fix timing delays to not truncate below 64 bits ( #3973 ) ( #3982 )
2023-02-27 21:42:22 -05:00
Wilson Snyder
c03affa544
Fix enum.next(0) and enum.prev(0).
2023-02-26 15:24:24 -05:00
Wilson Snyder
4703fc39be
Add error to avoid @* fatal
2023-02-26 13:13:02 -05:00
Wilson Snyder
9bf0e54937
Internals: add const
2023-02-26 12:21:17 -05:00
Wilson Snyder
b039f246df
Lint check posedge of nonintegral
2023-02-26 12:08:10 -05:00
Adam Bagley
003a8cfe75
Add lint warning on always_comb multidriven ( #3888 ) ( #3939 )
2023-02-23 05:36:28 -05:00
Wilson Snyder
7559af5879
Fix missing error on negative replicate ( #3963 ).
2023-02-22 19:11:02 -05:00
Ryszard Rozak
47a7e75841
Fix subsequent parameter declarations ( #3969 )
2023-02-22 11:26:25 +01:00
Wilson Snyder
adf1de45de
With -Wpedantic change ASSIGNIN to a warning
2023-02-21 16:45:35 -05:00
Ryszard Rozak
45f955f175
Fix self references to parameterized classes ( #3962 )
2023-02-17 11:17:35 -05:00
Ryszard Rozak
063f9a7a4c
Fix dicts declared with ref type ( #3960 )
2023-02-16 12:49:45 -05:00
Wilson Snyder
c82a098f2e
Internals: Parse class extends ::
2023-02-14 21:23:55 -05:00
Wilson Snyder
393b7714c4
Convert some mis-syntax errors to UNSUPPORTED
2023-02-14 20:48:52 -05:00
Wilson Snyder
43d8de4f80
Support property var decls.
2023-02-14 20:44:14 -05:00
Wilson Snyder
026bbc306b
Removed deprecated --cdc option.
2023-02-13 22:49:51 -05:00
Wilson Snyder
f8b0e359b9
Support class parameters without initial values.
2023-02-13 22:06:52 -05:00
Wilson Snyder
94ef1b76d0
Fix error text on packed struct init.
2023-02-13 20:58:49 -05:00
Wilson Snyder
50929e5d43
Fix packed array structure replication.
2023-02-13 07:49:08 -05:00
Wilson Snyder
5064ec2806
Support type case and type equality comparisons.
2023-02-12 20:09:10 -05:00
Wilson Snyder
4f19eeaffa
Fix type(typedef) operation core dump
2023-02-12 19:57:52 -05:00
Wilson Snyder
10d0088f73
Fix generate case with empty body statements.
2023-02-12 18:14:18 -05:00
Wilson Snyder
15d0ec317d
Fix lint for non-integral types in packed structs.
2023-02-12 16:32:36 -05:00
Wilson Snyder
d9c4d9316f
Parse checkers as UNSUPPORTED.
2023-02-11 14:31:28 -05:00
Wilson Snyder
e9441cff50
Parse external constraints as UNSUPPORTED.
2023-02-11 13:29:52 -05:00
Wilson Snyder
daa545774e
Parse randsequence as UNSUPPORTED.
2023-02-11 13:03:10 -05:00
Wilson Snyder
4d29487e75
Fix -Wpedantic on std::process.
2023-02-11 10:55:06 -05:00
Wilson Snyder
5aa4f46101
Internals: Add some std::. No functional change intended.
2023-02-10 20:32:39 -05:00
Ryszard Rozak
d34aa10faf
Fix class field linking when a super classes is a param ( #3949 )
2023-02-10 07:44:14 -05:00
Kamil Rakoczy
93d50c4499
Internals: Add mutex to V3Error ( #3680 )
2023-02-09 22:15:37 -05:00
Todd Strader
4eb280601e
handle constant format field widths ( #3946 )
2023-02-09 10:09:00 -05:00
Wilson Snyder
b778784333
Add --annotate-points option, change multipoint on line reporting ( #3876 ).
2023-02-08 20:22:54 -05:00
Todd Strader
9121a81a74
Fix constant enum methods ( #3621 )
2023-02-08 18:50:27 -05:00
Todd Strader
d3cbb1e53f
Fix constant string function assignment ( #3945 )
2023-02-08 18:48:07 -05:00
Ryszard Rozak
072d76fe8e
Use VAR_BASE as attr type if a select's base is a ref ( #3943 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-02-07 15:10:19 +01:00
Aleksander Kiryk
3436d1780f
Fix namespace fallback resolution ( #3863 ) ( #3942 )
2023-02-07 07:13:55 -05:00
Wilson Snyder
1607225063
Fix VPI upper interface scopes not found ( #3937 ).
2023-02-05 16:16:39 -05:00
Wilson Snyder
2c64b83c19
Internals: Fix constructor syntax
2023-02-05 14:29:49 -05:00
Wilson Snyder
936bb7b1ed
Add error on size with unsized number
2023-02-05 14:06:03 -05:00
Wilson Snyder
88e5017564
Internals: Directly assign dtype instead of using dtype's dtype
2023-02-05 13:50:29 -05:00
Wilson Snyder
508f6f7e5a
Fix core dump with initial variable delays
2023-02-05 13:17:35 -05:00
Wilson Snyder
70eceae3d8
Fix core dump on bad dotted reference.
2023-02-05 12:45:14 -05:00
Wilson Snyder
eb5aad94f1
Support to packed array
2023-02-05 10:18:03 -05:00
Wilson Snyder
2d89c458f6
Fix force/release of real.
2023-02-04 20:37:36 -05:00
Wilson Snyder
d33ded22f9
Internals: Remove unused variable
2023-02-04 19:50:04 -05:00
github action
edc32ca82d
Apply 'make format'
2023-02-04 13:20:41 +00:00
Kritik Bhimani
dc9c81256d
Fix MsWin missing directory exception, and ::std ( #3928 ) ( #3933 ) ( #3935 )
2023-02-04 08:19:49 -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
Wilson Snyder
11043aeb9b
Work around mswin crash with --std ( #3933 )
2023-02-03 19:01:20 -05:00
Wilson Snyder
c7ed73e249
Fix MSVC++ compile warning
2023-02-03 18:47:37 -05:00
Aleksander Kiryk
31130c4b4a
Fix std:: to be parsed first ( #3864 ) ( #3928 )
2023-02-03 09:04:16 -05:00
github action
00f0027c80
Apply 'make format'
2023-02-03 13:48:46 +00:00
Joseph Nwabueze
c8be50d40b
Add /*verilator public[flat|flat_rd|flat_rw| ]*/ metacomments ( #3894 )
2023-02-03 08:47:55 -05:00
Wilson Snyder
f6d4f1ad02
Fix very long VPI signal names ( #3929 ).
2023-02-02 19:10:23 -05:00
Andrew Nolte
d3c14cc1ac
Split WIDTH warning into WIDTHEXPAND and WIDTHTRUNC ( #3900 )
2023-02-02 18:25:25 -05:00
Ryszard Rozak
33468fa0e7
Fix class extend parameter dot case ( #3926 )
2023-02-02 17:59:47 -05:00
Ryszard Rozak
0e955d503e
Handle references of static members of type aliases of a parametrized class ( #3922 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-02-02 08:36:11 +01:00
Andrew Nolte
18e317fb78
Fix inconsistent naming of generate scope arrays ( #3840 )
2023-02-01 17:30:02 -05:00
Wilson Snyder
ef9f443532
Fix single-element replication to dynarray/unpacked/queue ( #3548 ).
2023-01-31 22:43:41 -05:00
Ryszard Rozak
7f3e178b68
Fix paramaterized class function linkage ( #3917 )
...
* Visit function arguments even if the function is unlinkable
* Don't use m_unlinedScopep in AstLambdaArgRef handling
2023-01-30 22:20:56 -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
164aa96953
Fix GCC warning (fixes recent #3510 )
2023-01-29 17:34:48 -05:00
Wilson Snyder
6a7dfb7696
Fix pattern assignment to unpacked structs ( #3510 ).
2023-01-29 16:50:10 -05:00
Wilson Snyder
4208db7811
Support multiple-output buf/not gate primitives
2023-01-28 23:20:48 -05:00
Wilson Snyder
a19dddf05e
Fix real parameters of infinity and NaN.
2023-01-28 22:11:09 -05:00
Wilson Snyder
7855a78a0f
Support %p of union with real
2023-01-28 21:41:50 -05:00
Wilson Snyder
248bd173d3
Support interface classes and class implements.
2023-01-28 18:06:37 -05:00
Wilson Snyder
8d2be855f5
Internals: Parsing and tests for class interfaces
2023-01-28 16:30:47 -05:00
Wilson Snyder
ba8700f99d
Support $changed_gclk, $fell_gclk, $rose_gclk, $stable_gclk
2023-01-28 14:05:26 -05:00
Wilson Snyder
f20997a2f0
Support global clocking and $global_clock.
2023-01-28 12:31:52 -05:00
Wilson Snyder
bea225e191
Fix duplicate name check on extern symbols
2023-01-28 11:55:44 -05:00
Wilson Snyder
93517b8378
Support unpacked unions.
2023-01-27 22:41:12 -05:00
Kamil Rakoczy
a39c7f7dac
Internals: Add V3ThreadPool class ( #3898 )
...
The thread pool is self tested, but not otherwise used by the code yet.
2023-01-27 10:43:50 -05:00
Ilya Barkov
d118a739dc
Fix cinlude check ( #3907 )
2023-01-26 06:35:59 -05:00
Ryszard Rozak
91c44d7830
Support class extending its parameter ( #3904 )
2023-01-25 20:33:18 -05:00
Ryszard Rozak
4a8cfe367d
Support function calls without parenthesis ( #3903 ) ( #3902 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-01-24 15:36:30 +01:00
Ryszard Rozak
b56e7f6910
Support static function variables ( #3830 )
2023-01-23 08:35:10 -05:00
Varun Koyyalagunta
be26e8da1b
Support struct I/O in --lib-create ( #3378 ) ( #3892 )
2023-01-22 22:24:36 -05:00
Kamil Rakoczy
6ea725f479
Add --verilate-jobs option ( #3889 )
...
Currently this option isn't used, but in the future it will be used to specify parallelization of Verilation step.
2023-01-22 21:52:52 -05:00
Geza Lore
3069860fdf
Allow mismatched widths in operands of shifts in DFG
...
Fixes #3872 .
Testing this is a bit tricky, as the front-end fixes up the operand
widths in shifts to match, and we need V3Const to introduce a mismatched
one by reducing `4'd2 ** x` (with x being 2 2-bit wide signal) to `4'd1
<< x`, but t_dfg_peephole runs with V3Const disabled exactly because it
makes it hard to write tests. Rather than fixing this one case in
V3Const (which we should do systematically at some point), I fixed DFG
to accept these just in case V3Const generates more of them. The
assertions were there only because of paranoia (as I thought these were
not possible inputs), the code otherwise works.
2023-01-22 10:55:03 +00:00
Wilson Snyder
bc7048e8d1
Convert verilator_includer to python3
2023-01-21 14:40:22 -05:00
Wilson Snyder
30d6edd2e5
Cleanup missing copyrights and those on simply copied files. No functional change.
2023-01-20 20:42:30 -05:00
James Shi
5ef373500f
Fix module parameter name collision ( #3854 ) ( #3855 )
2023-01-20 18:38:59 -05:00
Ryszard Rozak
be53eec5ca
Support property calls without parenthesis ( #3879 ) ( #3893 )
2023-01-20 07:25:37 -05:00
github action
41e5f6b7d5
Apply 'make format'
2023-01-19 23:22:37 +00:00
James Shi
c1c0aa61f9
Fix signed/unsigned parameter types ( #3866 )
2023-01-19 18:00:32 -05:00
Wilson Snyder
e94023367f
Fix elaboration of member selected classes ( #3890 ).
2023-01-19 17:44:27 -05:00
Wilson Snyder
035bf13e4a
Fix foreach unnamedblk duplicate error ( #3885 ).
2023-01-18 21:48:06 -05:00
Joey Liu
901d1d8087
Fix unpacked array expansion ( #3861 )
2023-01-18 14:35:48 -05:00
github action
6cd26edb64
Apply 'make format'
2023-01-18 16:48:16 +00:00
Gökçe Aydos
956fd89b87
Support import/export lists in modport ( #3886 )
2023-01-18 11:46:51 -05:00
Ilya Barkov
ff2f711d0c
Fix chain call of abstract class constructor ( #3868 ) ( #3883 )
2023-01-17 13:02:39 -05:00
Aleksander Kiryk
a1160a85a3
Support p format for UnpackArray ( #3877 )
2023-01-16 12:41:02 -04:00
Wilson Snyder
83f6b11235
Fix astgen in CMakeLists.txt ( #3867 )
2023-01-13 09:33:50 -05:00
Wilson Snyder
5fce23e90d
Fix empty case items crash ( #3851 ).
2023-01-10 07:18:12 -05:00
Wilson Snyder
1d2293b783
Fix some indents of warnMore
2023-01-05 17:59:51 -05:00
Ryszard Rozak
4784daa7dc
Add IMPLICITSTATIC warning when a ftask/function is implicitly static ( #3839 )
2023-01-05 17:42:05 -05:00
Larry Doolittle
2ab70ba452
Internals: Cleanup .txt file whitespace ( #3842 )
2023-01-05 05:00:54 -05:00
Yutetsu TAKATSUKASA
816cff009a
Fix #3824 of wrong bit op tree optimization ( #3825 )
...
* Tests: Add a test to reproduce #3824
* Fix #3824 of wrong bitOpTree optimization. Consider constant 1 in an Or-tree made by shift-out.
2023-01-04 23:10:55 +09:00
Wilson Snyder
e004ea7ae2
Revert ( #3835 ) ( #3836 )
2023-01-03 08:25:30 -05:00
Andrew Nolte
6159a7dd8d
Fix VPI generate scope array naming ( #3835 ) ( #3836 )
2023-01-03 07:38:55 -05:00
Kamil Rakoczy
be65030d61
Fix cmake upper-case and missing include directory ( #3838 )
2023-01-02 06:25:50 -05:00
Geza Lore
a168d593eb
Fix some front-end memory leaks
2023-01-01 15:31:29 +00:00
Geza Lore
6ab47f799b
Actually delete the netlist when VL_LEAK_CHECKS
2023-01-01 15:31:29 +00:00
Geza Lore
fd52f7f479
Fix memory leak in V3Sched.
...
Fixes #3834 .
2023-01-01 15:31:29 +00:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Ryszard Rozak
bf4a844f2b
Fix self references when param class instantiated ( #3833 )
2022-12-30 06:05:01 -05:00
Wilson Snyder
9255707dd4
Fix detecting multiple pattern defaults
2022-12-29 20:16:30 -05:00
Wilson Snyder
24198ef0ed
Internal line coverage fix
2022-12-29 14:18:45 -05:00
Wilson Snyder
fde380868a
Fix misc memory leaks
2022-12-29 13:59:24 -05:00
Wilson Snyder
be42dc906c
Fix GDB watchedit
2022-12-29 13:58:19 -05:00
Wilson Snyder
bad4110b03
For --stat, add total elapsed time
2022-12-29 11:48:19 -05:00
github action
f6b101d98b
Apply 'make format'
2022-12-26 09:31:25 +00:00
Larry Doolittle
80a144797d
Commentary: Fix more spelling ( #3828 )
2022-12-26 10:30:41 +01:00
Wilson Snyder
45abcb6107
Internals: Some V3LinkInc cleanups. No functional change.
2022-12-23 16:17:08 -05:00
Wilson Snyder
d5a18c99fe
fungetc has lvalue character argument.
2022-12-23 13:00:34 -05: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
Wilson Snyder
afd7c2ae25
Internals: Use visitor to refactor Ctors, prep for ( #3815 )
2022-12-23 10:12:11 -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
Kritik Bhimani
65daf99bf4
Support Windows-native builds using cmake ( #3814 )
2022-12-20 19:42:27 -05:00
Jevin Sweval
299261714b
Fix crash in DFT due to width use after free ( #3817 ) ( #3820 )
2022-12-20 19:36:04 -05:00
Aleksander Kiryk
c2b09e35f8
Support unpacked structs ( #3802 )
2022-12-20 19:22:42 -05:00
Wilson Snyder
51de2c9194
Remove reader task code which was non-functional ( #3360 )
2022-12-17 16:48:08 -05:00
Wilson Snyder
a554dd7c8d
Optimize expansion of extend operators - fix earlier commit.
2022-12-15 22:49:49 -05:00
Wilson Snyder
7d93952a0d
Fix make intermediate ( #3748 )
2022-12-15 19:53:51 -05:00
Wilson Snyder
1ddb2dd5e7
Fix make intermediate ( #3748 )
2022-12-15 19:26:54 -05:00
Wilson Snyder
2770ddf071
Optimize expansion of extend operators.
2022-12-15 07:38:53 -05:00
github action
fcd1306ef3
Apply 'make format'
2022-12-14 12:08:19 +00:00
Kritik Bhimani
9d2f1c607a
Fix MSVCC issues ( #3813 )
2022-12-14 07:07:25 -05:00
github action
d192372c7e
Apply 'make format'
2022-12-12 23:46:23 +00:00
Kritik Bhimani
7b073fec7d
Fix MSVC++ portability issues ( #3812 )
2022-12-12 18:45:32 -05:00
Wilson Snyder
972a11537c
Internals: Fix lint-py warnings
2022-12-11 21:58:02 -05:00
Wilson Snyder
609bfa46e8
Fix ENUMVALUE on parameter, again ( #3777 ).
2022-12-11 21:10:12 -05:00
Wilson Snyder
0a3c90e517
Fix forked processes compiled as slow/cold ( #3766 )
2022-12-11 14:44:18 -05:00
Wilson Snyder
afc66f6a85
Fix make jobserver with submakes ( #3758 ).
2022-12-11 14:19:40 -05:00
Wilson Snyder
86b07423a9
Fix ENUMVALUE on parameter ( #3777 ).
2022-12-11 13:28:24 -05:00
Wilson Snyder
3f4d4dec77
Fix ENUMVALUE on typedef ( #3777 )
2022-12-11 11:50:22 -05:00
Wilson Snyder
86e3c02339
Internal: Remove stale make rule ( #3811 ).
2022-12-11 09:48:25 -05:00
Wilson Snyder
a0e7930036
docs: Fix spelling
2022-12-09 22:39:41 -05:00
Krzysztof Bieganski
4b6e15d0eb
Fix non-blocking assignments in forks ( #3781 ) ( #3800 )
2022-12-06 07:16:07 -05:00
Krzysztof Bieganski
87bb32fde1
Fix forks without any delayed statements ( #3792 ) ( #3801 )
2022-12-06 07:14:29 -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
87135d0b2d
Internals: Fix missing const. No functional change.
2022-12-01 18:47:09 -05:00
Wilson Snyder
e465a30eee
Fix lint_off EOFNEWLINE in .vlt files ( #3796 ).
2022-12-01 18:27:36 -05:00
Yutetsu TAKATSUKASA
889a1211f1
Fix 3786 (Internal error in bit op tree optimization) ( #3793 )
...
* Tests: Add a test to reproduce 3786
* Fix #3786 (Internal error in bit op tree optimization).
2022-12-01 22:00:24 +09:00
Wilson Snyder
31d8b4cb8e
Internals: Rename AstNodeSystem*D etc. No functional change intended.
2022-11-30 22:08:57 -05:00
Wilson Snyder
d87ef8394a
Fix CASEINCOMPLETE when covers all enum values ( #3745 ) ( #3782 ).
...
Co-authored-by: "G-A. Kamendje" <gkamendje@gmail.com>
2022-11-30 19:42:21 -05:00
Wilson Snyder
4f4c26383c
Support unpacked byte assignment from strings.
2022-11-30 19:17:28 -05:00
Wilson Snyder
42e4e18ec8
Support multiple $dumpvar identifiers
2022-11-30 18:13:57 -05:00
Wilson Snyder
355c4f76d0
Add error when super.new is not first statement ( #3789 )
2022-11-30 07:41:57 -05:00
Ryszard Rozak
073dc03adc
Support super.new calls ( #3789 )
2022-11-30 06:42:48 -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
b51bb4d0e7
Internal: Add node objects to UASSERT ( #3786 )
2022-11-29 18:34:44 -05:00
Wilson Snyder
f0a7abcef8
Internals: Use named accessors instead of op1p etc. No functional change intended.
2022-11-29 18:17:50 -05:00
Yinan Xu
ff9596bb23
Fix missing user objects in --lib-create mode ( #3780 ) ( #3784 )
2022-11-29 09:02:39 -05:00
Yinan Xu
e569ff2752
Add error when use --exe with --lib-create. ( #3785 )
2022-11-29 06:37:38 -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
f4be3d5d2b
Fix empty string literals converting to string types ( #3774 ).
2022-11-27 13:28:57 -05:00
Wilson Snyder
054b792021
Fix ENUMVALUE error to show value location ( #3783 )
2022-11-27 08:44:30 -05:00
Wilson Snyder
2c7f1ef40f
Internals: Cleanup debug dumps so can grep-out leading-dashed lines
2022-11-27 08:31:22 -05:00
Wilson Snyder
5f583b0680
Fix clang warning from previous commits.
2022-11-27 06:27:51 -05:00
Wilson Snyder
fa4270b551
bisonpre: Commentary
2022-11-27 06:18:58 -05:00
Wilson Snyder
d8071819fc
Fix unquoted name in dtype errors.
2022-11-27 05:59:40 -05:00
Wilson Snyder
833780fac1
Internal: cppcheck fixes. No functional change intended.
2022-11-27 05:52:40 -05:00
Wilson Snyder
4b3731d318
Remove env from main() to be C++11 compatible
2022-11-23 18:50:31 -05:00
Ryszard Rozak
68f8617f79
Support member selects in with clauses ( #3775 )
2022-11-23 13:15:10 -05:00
Yves Mathieu
06fdf7be58
Add support of Events for VCD/FST traces ( #3759 )
2022-11-23 04:07:14 -05:00
Wilson Snyder
e97e6c2213
Fix V3Tristate warning ( #3773 )
2022-11-22 17:46:58 -05:00
Geza Lore
508e937164
Fix tautological predicate in V3DfgPeephole
...
Fixes #3771
2022-11-22 15:05:34 +00: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
73d6de4471
Internals: Fix constructor style.
2022-11-21 20:41:32 -05:00
Wilson Snyder
0af02563ca
Internals: Fix verilog.y style
2022-11-21 20:22:13 -05:00
Wilson Snyder
b82ce5743b
Internals: Fix verilog.y style
2022-11-21 08:30:40 -05:00
Wilson Snyder
d3c1f4353e
Fix float parameters without parens
2022-11-21 06:48:13 -05:00
Ryszard Rozak
62bdd3ab49
Fix timing control in while-break loops ( #3733 ) ( #3769 )
2022-11-21 06:27:55 -05:00
Wilson Snyder
2eed4452ad
Internals: Fix constructor style.
2022-11-20 20:13:55 -05:00
Wilson Snyder
f44cd9cd48
Internals: Fix constructor style.
2022-11-20 17:40:38 -05:00
Wilson Snyder
25f970eac2
Internals: Fix constructor style.
2022-11-20 15:06:49 -05:00
Geza Lore
3abb65d732
Strengthen AstNode types to AstNodeExpr
...
Declare every AstNode children and variables as AstNodeExpr where we
statically know this is the appropriate sub-type.
2022-11-20 19:31:28 +00:00
Wilson Snyder
352d0b4582
Internals: Fix constructor style.
2022-11-20 13:11:01 -05:00
github action
a60e273c29
Apply 'make format'
2022-11-20 15:26:23 +00:00
Jiacheng Qian
47253450a4
Fix to escape VERILATOR_ROOT file paths ( #3764 ) ( #3765 )
2022-11-20 10:25:41 -05:00
Wilson Snyder
aacb38b776
Support assignment expressions.
2022-11-19 15:23:37 -05:00
Wilson Snyder
21d80cdfa1
Internals: Fix constructor style.
2022-11-19 14:45:38 -05:00
Mariusz Glebocki
d0e7177d8e
Disable stack size limit ( #3706 ) ( #3751 )
2022-11-19 14:44:54 -05:00
Wilson Snyder
3a27e3d67b
Fix false ENUMVALUE errors in unstable branch ( #3761 )
2022-11-19 14:07:39 -05:00
Wilson Snyder
09dff9c3a7
Fix false ENUMVALUE errors in unstable branch ( #3761 )
2022-11-19 13:30:23 -05:00
Wilson Snyder
f266b02bc7
Internals: Improve dtype small dump.
2022-11-19 13:23:28 -05:00
Wilson Snyder
de9c92fd14
Internals: Add missing const. No functional change.
2022-11-19 10:48:46 -05:00
Wilson Snyder
0322e9da7e
Fix randcase inside function.
2022-11-18 21:30:34 -05:00
Wilson Snyder
b2d92b7c25
Allow ENCAPSULATED and ENUMVALUE to be disabled
2022-11-18 21:30:34 -05:00
Ryszard Rozak
ef72b73a59
Support foreach loops on strings ( #3760 )
2022-11-18 07:07:56 -05:00
Wilson Snyder
749aab0a56
Support triple-quote blocks.
2022-11-17 20:38: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
Ryszard Rozak
d41efb189d
Fix pre/postincrement operations ( #3744 ) ( #3756 )
2022-11-17 13:26:45 -05:00
Wilson Snyder
3c77c7bb92
Support and
2022-11-16 21:10:54 -05:00
Ryszard Rozak
3ddfa214e3
Fix $unit as base package for other packages ( #3755 )
2022-11-16 18:58:57 -05:00
Wilson Snyder
a58cd66358
Fix printtimescale
2022-11-16 18:17:24 -05:00
Wilson Snyder
e6da59eecd
Internals: Mark some VL_PURE functions. No functional change.
2022-11-15 09:18:47 -05:00
Wilson Snyder
c6ecd60993
Support pre_randomize and post_randomize.
2022-11-13 11:59:40 -05:00
Wilson Snyder
ee26dddfa1
Internals: Fix constructor style.
2022-11-13 11:23:57 -05:00
github action
d1658b9e82
Apply 'make format'
2022-11-13 14:27:37 +00:00
Wilson Snyder
818347f99b
Internals: Fix some unnecessary member paddings. No functional change intended.
2022-11-13 09:26:46 -05:00
Kritik Bhimani
201419c646
Fix MSVC compiler errors ( #3742 ) ( #3746 )
2022-11-13 08:35:06 -05:00
Wilson Snyder
d25834e57b
Add ENUMVALUE warning when value misused for enum ( #726 ).
2022-11-12 20:11:05 -05:00
Wilson Snyder
4f50073feb
Internals: Fix constructor style.
2022-11-12 19:51:03 -05:00
Geza Lore
eaf09ba0e7
Dfg: resolve multi-driven signal ranges
...
In order to avoid unexpected breakage on multi-driven variables, we
resolve in DFG construction by using only the first driver encountered.
Also issues the MULTIDRIVEN error for these signals.
2022-11-12 20:34:51 +00:00
github action
8291d8bcc1
Apply 'make format'
2022-11-12 17:10:41 +00:00
Wilson Snyder
0a045a7bf6
Change ENDLABEL from warning into an error.
2022-11-12 12:09:48 -05:00
Geza Lore
dbcaad99c5
Dfg: Fix crash on additional driver from non-DFG logic
...
Ensure variables written by non-DFG code are kept
Fixes #3740
2022-11-12 11:55:49 +00:00
Wilson Snyder
6736e92cdb
Internals: Fix some ugly line breaks. No functional change.
2022-11-11 22:33:17 -05:00
Wilson Snyder
a427860825
Support randcase.
2022-11-11 21:53:05 -05:00
William D. Jones
41d2ebe288
Fix CONTEXT compile error on mingw64 ( #3741 ).
2022-11-11 21:43:10 -05:00
Wilson Snyder
227e61f891
Fix comparing ranged slices of unpacked arrays.
2022-11-11 18:01:30 -05:00
Wilson Snyder
b2e61425d6
Fix const initial assignments.
2022-11-11 17:45:34 -05:00
Wilson Snyder
9d7c4d9af3
Fix wait 0.
2022-11-11 17:18:59 -05:00
Wilson Snyder
0c75d4eaca
Internals: Fix constructor style.
2022-11-10 22:58:27 -05:00
Wilson Snyder
528a73a492
Fix instability after disable iff error.
2022-11-10 22:09:24 -05:00
Wilson Snyder
fbf2e59c85
Fix loss of V3Simulate on expression statements.
2022-11-10 20:49:11 -05:00
Wilson Snyder
16586d1d37
Fix tracing parameters overridden with -G ( #3723 ).
2022-11-10 20:30:10 -05:00
Ryszard Rozak
441b5da5ce
Fix 'with' clause handling in functions ( #3739 )
2022-11-10 18:08:15 -05:00
Wilson Snyder
e64295e92b
Fix missing UNUSED warnings with --coverage ( #3736 ).
2022-11-09 21:45:14 -05:00
Ryszard Rozak
cbf9cc8e5f
Fix return in constructors ( #3734 )
2022-11-09 06:32:22 -05:00
Ryszard Rozak
a29d9469da
Fix jump handling in do while loops ( #3731 )
2022-11-08 20:01:08 -05:00
Geza Lore
2a3eabff73
Various Dfg performance improvements
2022-11-06 15:54:51 +00:00
Geza Lore
454efbe3fc
Dfg: Use a worklist driven algorithm for unused vertex removal
...
This improves verilation speed slightly.
2022-11-06 14:13:42 +00:00
Geza Lore
fb9ec03c3f
DfgPeephole: Use a work list driven algorithm for speed
...
Replace the 'run to fixed point' algorithm with a work list driven
approach. Instead of marking the graph as changed, we explicitly add
vertices to the work list, to be visited, when a vertex is changed. This
improves both memory locality (as the work list is processed in last in
first out order), and removed unnecessary visitations when only a few
nodes changes.
2022-11-05 20:31:09 +00:00
Wilson Snyder
21926eeb6b
Tests: Improve some coverage
2022-11-05 11:40:34 -04:00
Geza Lore
6ae6b16223
V3Const: Fix folding of LogAnd with non-bool operands
...
Folding an AstLogAnd with a non-zero constant operand used to coerce the
type of the other operand, yielding an ill-typed node that DFG was then
unhappy about. Add a RedOr instead if the width of the replacement
operand is greater than zero.
Fixes #3726
2022-11-05 13:36:21 +00:00
Kamil Rakoczy
d6126c4b32
Remove --no-threads; require --threads 1 for single threaded ( #3703 ).
2022-11-05 08:47:34 -04:00
Ryszard Rozak
8d61cea366
Fix return type of $countbits functions to int ( #3725 )
2022-11-04 08:58:17 -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
cf4c00e3b4
Internals: if assertion should be VL_UNLIKELY
2022-11-02 20:11:25 -04:00
Ryszard Rozak
bac98df46b
Support named properties ( #3667 )
2022-11-01 18:53:47 -04:00
Geza Lore
0675510eb9
DFG: Fix attempted evaluation of constants wider than 32 bits
...
Fixes #3718
2022-10-28 17:14:19 +01:00
Geza Lore
99791ac8b3
Reduce verbosity of DFG debug
2022-10-28 16:35:53 +01:00
Geza Lore
54c4351c39
V3Const: Do not introduce redundant AstExtend
...
Fixes #3716
2022-10-28 14:54:00 +01:00
Geza Lore
e504e9aced
Optimize clocked processes to comb when referencing const variables
...
In V3Active, we try hard to turn `always @(a or b or c)` into an
`always_comb` if the only variables read in the block are also in the
sensitivity list. In addition, also allow this optimization when reading
variables that are not in the sensitivity list, but are known to be
constant/never changing after initialization. In particular lookup
tables introduced by V3Table are covered by this. This can have a
significant impact on designs that use the `always @(a or b or c)` style
for combinational logic.
2022-10-28 14:37:30 +01:00
Geza Lore
ef2776034e
Adjust instruction count estimates for AstCMethodHard
...
The cost of an AstCMethodHard right now is generally unknown. However,
VlTriggerVec::at is used a lot in conditions, so we make an effort
to estimate this correctly via 2 changes:
- In general when an AstVarRef appears as the target of an
AstCMethodHard, we cost it as a simple address computation (an add)
- Check for VlTriggerVec::at explicitly when costing AstCMethodHard,
which is essentially a load.
This can have a significant effect when there are a lot of unique
triggers in the design.
2022-10-28 14:37:30 +01:00
Wilson Snyder
5c658f8cd5
Fix width mismatch on inside operator ( #3714 ).
2022-10-28 06:38:49 -04:00
Geza Lore
65290afe0a
Fix VString::endsWith when suffix is longer than input string.
2022-10-27 18:38:44 +01:00
Wilson Snyder
3487701b04
Tests: Cover some previously uncovered warnings
2022-10-22 16:03:42 -04:00
Wilson Snyder
8e1901da10
Tests: Cover some previously uncovered warnings
2022-10-22 13:45:48 -04:00
Wilson Snyder
ecfa385f13
Test/cleanup endtable without table
2022-10-22 12:30:44 -04:00
Wilson Snyder
495d52d30f
Test and fix extra end_keywords
2022-10-22 12:17:56 -04: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
Wilson Snyder
a57a3579c0
Fix false LATCH warning on 'unique if' ( #3088 ).
2022-10-21 19:10:06 -04:00
Wilson Snyder
203993b018
Internals: Fix constructor style.
2022-10-21 19:03:40 -04:00
Wilson Snyder
347e9b4ec8
Fix cell assigning integer array parameters ( #3299 ).
2022-10-21 18:26:39 -04:00
Krzysztof Bieganski
785c51dd0b
Fix emitting timing debug info with `--protect-ids` ( #3689 ) ( #3701 )
2022-10-21 16:56:44 -04:00
Jiuyang Liu
2e4f5c863f
Fix VPI inline module naming mismatch ( #3690 ) ( #3694 )
2022-10-21 13:04:42 -04:00
HungMingWu
196f3292d5
Improve V3Ast function usage ergonomics ( #3650 )
...
Signed-off-by: HungMingWu <u9089000@gmail.com>
2022-10-21 14:12:12 +01:00
Arkadiusz Kozdra
627a144b83
Support access to constructs inside type parameters ( #3702 )
...
This changeset brings support for accesses like:
class Cls#(type TYPE1);
TYPE1::some_method();
endclass
It is done by delaying dot resolution on type parameters until they get
resolved by V3Param, and doing a more thorough reference skip.
2022-10-21 09:00:40 -04:00
Krzysztof Bieganski
5688d1a935
Internals: Add `V3UniqueNames` consistency assertion ( #3692 )
2022-10-21 07:05:38 -04:00
Geza Lore
8b0d71994d
DFG: don't try to call DfgVertex::width() on arrays
...
In DFG DfgVertex::width() is only defined for vertices representing
packed values, which DfgVertex::hash() used to violate. The only
non-packed values at the moment are DfgVarArray, which is a
DfgVertexVar, which are handled specially anyway, so this is easy to
fix.
Fixes #3682
2022-10-21 10:57:13 +01:00
Wilson Snyder
79682e6072
Support empty generate_regions ( #3695 ). [mpb27]
2022-10-20 22:04:50 -04:00
Wilson Snyder
7e1b92fa75
Add --get-supported to determine what features are in Verilator ( #3688 ).
2022-10-20 21:42:30 -04:00
Geza Lore
7b07cf912e
Delete trigger dump when --protect-ids is used
...
In order to not leak signal names with --protect-ids, we simply make the
trigger dump function empty (this is a debug only construct).
Partial fix for #3689
2022-10-20 15:44:51 +01:00
Geza Lore
6a3ec17887
DFG: Do not inline SystemC variables
...
The emitted SystemC types (e.g. sc_bv) are not interchangeable with
Verilator internal C++ types (e.g.: VlWide), so the variables themselves
are not interchangeable (but can be assigned to/from each other). We can
preserve correctness simply be not inlining any SystemC variables (i.e.:
don't simplify any 'sc = nonSc' or 'nonSc = sc' assignments). SystemC
types only appear at top level ports so this should have no significant
impact.
Fixes #3688
2022-10-20 15:44:51 +01:00
Arkadiusz Kozdra
0e4da3b0bf
Support virtual interfaces ( #3654 )
2022-10-20 06:31:00 -04:00
Krzysztof Bieganski
e6add5e0b8
Fix trace activity with --timing ( #3576 ) ( #3678 ) ( #3696 )
2022-10-20 06:28:55 -04:00
Krzysztof Bieganski
22243d1e49
Support class type params without defaults ( #3693 )
2022-10-19 21:59:26 -04:00
Krzysztof Bieganski
bec0b7d4d0
Disallow delays with `--lib-create` ( #3691 )
2022-10-19 20:52:29 -04:00
Wilson Snyder
f6f13c7fda
Internals: Comment out debug that may flag ASAN problem ( #3574 )
2022-10-18 21:17:52 -04:00
Wilson Snyder
e7068369fe
Fix $display of fixed-width numbers ( #3565 ).
2022-10-18 21:10:35 -04:00
Wilson Snyder
b930d0731a
Fix foreach and pre/post increment in functions ( #3613 ).
2022-10-18 20:04:09 -04:00
Wilson Snyder
2723223884
Fix LSB error on --hierarchical submodules ( #3539 ).
2022-10-18 17:29:51 -04:00
Kamil Rakoczy
b6c116d4bf
Internals: Add VL_MT_SAFE annotations to const functions ( #3681 )
2022-10-18 17:07:09 -04:00
github action
c057847760
Apply 'make format'
2022-10-17 23:52:01 +00:00
Topa Topino
46c5764383
Split UNUSED warning into genvar, param, and signal warnings ( #3607 )
2022-10-17 19:51:13 -04:00
Wilson Snyder
22ce36012e
Add VERILATOR_TIMING define ( #3684 )
2022-10-17 18:18:56 -04:00
Geza Lore
5c65e0cfa1
Dfg: Fix incorrect folding of associative expressions with shared terms
...
Fixes #3679
2022-10-17 15:03:30 +01:00
Geza Lore
840e26b69a
Fix incorrect return in DFG decomposition
...
Fixes #3676
2022-10-17 14:41:20 +01:00
Wilson Snyder
76ccd332a6
Internals: Remove DETECTARRAY, dead code.
2022-10-16 09:41:51 -04:00
Wilson Snyder
3cd2c8532d
Internals: Cleanup spacing of Vi for loops.
2022-10-15 18:47:10 -04:00
Wilson Snyder
c0739e908c
Fix internal traceActivity to be zero reset not randomized.
2022-10-15 18:37:44 -04:00
Wilson Snyder
916a3d9066
Fix --main --trace missing initial timestep ( #3678 ).
2022-10-15 13:24:38 -04:00
Wilson Snyder
14f58ed6c7
Add error on real edge event control.
2022-10-15 06:21:34 -04:00
Arkadiusz Kozdra
038d57070b
Support standalone 'this' in classes ( #3675 ) ( #2594 ) ( #3248 )
2022-10-14 08:55:55 -04:00
Krzysztof Bieganski
8a347248f5
Use `AstDelay` nodes for intra-assignment delays ( #3672 )
...
Also fix messy implementation of net delays.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-14 09:35:26 +02:00
Krzysztof Bieganski
caed086516
Move Postponed logic after the eval loop ( #3673 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-13 21:04:43 +02:00
Krzysztof Bieganski
68927d4fd3
Make class ref typing stricter ( #3671 )
...
Prevents the possibility of assigning an integer to a class reference,
both at the SystemVerilog and the emitted C++ levels.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-13 14:33:15 +02:00
github action
8dacbdec3a
Apply 'make format'
2022-10-11 09:04:38 +00:00
Geza Lore
2a110c91cf
Speed up DfgGraph decomposition algorithms
2022-10-11 09:55:08 +01:00
Krzysztof Bieganski
ba052beccd
Make reference to increment temporary an rvalue ( #3659 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-10 13:58:05 +02:00
Wilson Snyder
18c26b90af
Fix --trace with --main/--binary ( #3664 )
2022-10-09 14:16:44 -04:00
Geza Lore
ff49f797e5
Speed up DfgGraph::addGraph
...
Append whole lists in one go, rather than going item by item.
2022-10-08 12:46:02 +01:00
Geza Lore
c033a0d7c8
Optimize DfgGraph vertex storage
...
Vertices representing variables (DfgVertexVar) and constants (DfgConst)
are very common (40-50% of all vertices created in some large designs),
and we also need to, or can treat them specially in algorithms. Keep
these as separate lists in DfgGraph for direct access to them. This
improve verilation speed.
2022-10-08 12:46:02 +01:00
Geza Lore
461f3c1004
DFG: Remove topological sort
...
Cyclic components are now extracted separately, so there is no
functional reason to have to do a topological sort (previously we used it
to detect cyclic graphs). Removing it to gain some speed.
2022-10-08 12:46:02 +01:00
Geza Lore
90447d54d1
Make DfgConst hold V3Number directly
...
Remove intermediary AstConst. No functional change intended.
2022-10-08 12:46:02 +01:00
Geza Lore
439d30a953
Minor cleanup in V3Number
2022-10-08 12:46:02 +01:00