Krzysztof Bieganski
59d2eea302
Fix capturing fields from superclass in `randomize() with` ( #5389 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-20 13:25:58 -04:00
Drew Ranck
48c71ef76c
Support default value on module input ( #5358 ) ( #5373 )
2024-08-15 10:04:07 -04:00
Ryszard Rozak
563faeb33f
Internals: Fix removing nodes in V3Life ( #5365 )
2024-08-14 09:23:24 +02:00
Krzysztof Bieganski
6cb0a41857
Support inline random variable control ( #5317 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-13 14:20:31 -04:00
Ethan Sifferman
1b15509a9c
Fix lint_off on Errors ( #5351 ) ( #5363 )
2024-08-11 21:04:46 +02:00
Wilson Snyder
24b097b228
Improve new class error ( #5359 )
2024-08-11 10:09:05 -04:00
Tim Hutt
c812a9b18f
Fix shortened module names when searching for files ( #5196 ) ( #5246 )
2024-08-09 17:23:00 -04:00
Arkadiusz Kozdra
367249ec84
Add parsing but otherwise ignore std::randomize ( #5354 )
2024-08-09 17:21:32 -04:00
Wilson Snyder
f4acc59b82
Tests: Check for wrong quotes in docs ( #5355 )
2024-08-09 17:18:59 -04:00
Krzysztof Bieganski
ec0815e9ac
Fix NBAs in suspendables ( #5348 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 22:12:00 +01:00
Krzysztof Bieganski
97e9996f0b
Fix optimized-out sentrees with `--timing` ( #5080 ) ( #5349 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:57:12 +01:00
Krzysztof Bieganski
b7af859ba3
Fix forks capturing non-input ports in tasks ( #5237 ) ( #5343 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:55:46 +01:00
Krzysztof Bieganski
701fa5438a
Fix output clockvar overwriting signal ( #5320 ) ( #5347 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:48:25 +01:00
Geza Lore
004865a8b2
Fix tracing_{on,off} in the presence of non-inlined modules ( #5346 )
...
Previously "*.foo.*" failed to match non-inlined instances called 'foo'.
2024-08-08 17:16:54 +01:00
Arkadiusz Kozdra
3e5859e5da
Support constraining AstSel ( #5344 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-08 15:37:08 +01:00
Arkadiusz Kozdra
78555b683c
Fix missing type coercion in 'inside {array}' ( #5340 )
2024-08-08 03:46:41 -04:00
Wilson Snyder
c2e44dbd99
Fix $sformat with array arguments ( #5330 ).
2024-08-08 03:32:07 -04:00
Wilson Snyder
f4f8ea0dcf
Internals: Change cast fileline to point to cast operator
2024-08-07 18:45:53 -04:00
Arkadiusz Kozdra
f78c4e8490
Fix compilation error on unreachable disable fork / wait fork ( #5339 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-07 18:44:02 -04:00
Arkadiusz Kozdra
e6fe367bdb
Support streams to/from arrays of wide data ( #5334 )
2024-08-06 16:18:16 +01:00
Ryszard Rozak
3426ee5170
Fix purity of functions with AstJumpBlock or AstStmtExpr ( #5332 )
2024-08-06 16:07:38 +01:00
Arkadiusz Kozdra
a32b8d80f9
Support streaming operator on arrays and wide data ( #5326 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-06 08:48:46 -04:00
Wilson Snyder
6abd556f5a
Tests: Fix GCC 11.4.0 hang
2024-08-06 08:47:28 -04:00
Varun Koyyalagunta
31c1df638b
Fix assert on wide expression ( #5319 ) ( #5324 )
2024-08-06 01:45:57 -04:00
Krzysztof Bieganski
f4cb2c8cf2
Add more `rand_mode` unsupported errors ( #5329 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-05 17:56:03 -04:00
Bartłomiej Chmiel
7d5e19365e
Support assertcontrol directive type ( #5310 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-08-05 17:54:13 -04:00
Bartłomiej Chmiel
99c619a4c9
Error on static variable initializers using automatic variables in procedures ( #5296 )
2024-08-05 08:39:43 +01:00
Krzysztof Bieganski
37a4002098
Fix stringify in nested preprocessor macros ( #5323 )
2024-08-02 11:46:02 -04:00
Krzysztof Boroński
45ee949cc4
Internals: Disambiguate variable references under `with` clauses of `randomize()` methods ( #5277 )
2024-08-02 11:45:17 -04:00
Arkadiusz Kozdra
54f9f4b6a9
Support foreach constraints ( #5302 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-02 10:03:55 -04:00
Arkadiusz Kozdra
a61178bd89
Internals: Convert foreach loops in V3Begin as well as V3Width ( #5283 )
2024-08-02 08:29:05 -04:00
Krzysztof Bieganski
2f5c58b345
Support `rand_mode` ( #5273 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-07-31 22:30:48 +01:00
Wilson Snyder
3a659d460d
Fix ==? and !=? with X values.
2024-07-28 14:40:55 -04:00
Wilson Snyder
8707c88787
Tests: Close misc internal code coverage holes
2024-07-28 14:18:24 -04:00
Wilson Snyder
5b931faf2b
CI: Fix codecov upload
2024-07-27 06:31:20 -04:00
Markus Krause
a01a21db86
Fix make flows to pass PYTHON3 (like perl) ( #5307 ) ( #5308 )
...
Fixes #5307
2024-07-26 09:35:37 -04:00
Wilson Snyder
50a5a1ff5b
Tests: Fix some verilog.y parser coverage holes
2024-07-26 07:29:15 -04:00
Ryszard Rozak
b9e1d55262
Fix handling of rand fields not referenced in constraints ( #5305 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2024-07-26 05:46:30 -04:00
Udaya Raj Subedi
a2506a6f96
Fix monitor block sensitivity items ( #4400 ) ( #5294 )
2024-07-24 07:18:57 -04:00
Bartłomiej Chmiel
20dba7464d
Support`--compiler-include` headers in user-supplied cpp files ( #5271 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-07-24 06:40:39 -04:00
Wilson Snyder
cb5d03ff0b
Fix WIDTHEXPAND on left shift of intuitive amount ( #5284 ).
2024-07-24 06:39:27 -04:00
Wilson Snyder
0419ed0430
Fix initializing static array in dynamic arrays and queues ( #5287 ).
2024-07-24 06:06:57 -04:00
Wilson Snyder
1e3c7a5496
Fix inline function ref port persistence
2024-07-23 18:47:04 -04:00
Krzysztof Bieganski
f5caa4b7dc
Fix randomizing current object with `rand` class instance member ( #5292 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-07-22 14:41:12 +02:00
Wilson Snyder
8f4490628f
Commentary: Clarify some warning messages.
2024-07-20 17:50:14 -04:00
Wilson Snyder
df566bdf4d
Improve PINMISSING to show related port
2024-07-20 17:37:33 -04:00
Wilson Snyder
981d3ce782
Add suggestions on misspelled PLI functions.
2024-07-20 07:20:10 -04:00
Wilson Snyder
b7345eb5d5
Tests: Add checkp macro. No test functionality change.
2024-07-20 06:51:50 -04:00
Krzysztof Bieganski
2bd2b9324f
Fix inline constraints creating class random generator ( #5280 )
2024-07-19 13:03:48 -04:00
Arkadiusz Kozdra
298faa84ee
Fix elaborating foreach loops ( #5285 )
2024-07-19 14:56:30 +02:00
Arkadiusz Kozdra
43377ed8b0
Add support for `this.randomize with` ( #5282 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-07-19 09:14:56 +02:00
Yutetsu TAKATSUKASA
095b1ccb67
Fix incorrect result of width mismatch ( #5186 ) ( #5189 )
2024-07-17 11:54:58 +02:00
Krzysztof Bieganski
2a30a87580
Fix randomization when used with inheritance ( #5268 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-07-17 08:21:45 +02:00
Arkadiusz Kozdra
0a9b31bb30
Add warning on dist in constraints ( #5264 )
2024-07-15 21:01:33 -04:00
Krzysztof Obłonczek
67ea819d82
Fix toggle coverage aggregation on same line ( #5248 )
...
Documentation states that minimum of all reported coverage of all signals in a line should be taken.
Previous logic would break if there were any signals with zero coverage followed by signals with
nonzero coverage - a minimum from those nonzero toggle count would be taken, disregarding zero
coverage of previous signals.
Internal-tag: [#62193 ]
Signed-off-by: Krzysztof Obłonczek <koblonczek@antmicro.com>
2024-07-14 17:05:58 -04:00
Andrew Nolte
60f9e21d8c
Fix `--x-assign` to be independent from `+verilator+rand+reset` ( #5214 )
2024-07-14 17:04:00 -04:00
Wilson Snyder
0658af90f5
Fix classes/modules of case-similar names ( #5109 ).
2024-07-14 13:57:16 -04:00
Wilson Snyder
e080f5c0cb
Fix tracing with `--main-top-name -` ( #5261 ).
2024-07-14 07:35:26 -04:00
Wilson Snyder
b1cc0c54c1
Tests: Fail with `test.pl-file-needs-have_solver()-call` if forget have_solver()
2024-07-13 08:55:06 -04:00
Geza Lore
4cf017d7fe
Tests: Skip t_randomize_method_constraints when no solver is installed ( #5260 )
2024-07-13 08:31:16 -04:00
Geza Lore
25f5db4b5f
DFG: Allow inlining of variabels driven from forced vars ( #5259 )
...
Not sure why this was disabled before, but it seems legal to me to
change
'forced A' -> 'B' -> 'C'
into
'forced A' -> 'B',
'forced A' -> 'C'
Fixes #5249
2024-07-13 12:35:09 +01:00
Krzysztof Boroński
3cf9606ea9
Support inline constraints for class randomization methods ( #5234 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2024-07-12 16:18:18 +02:00
Krzysztof Bieganski
2696a9a5bd
Fix unconstrained randomization of unpacked structs ( #5252 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-07-11 16:43:56 +02:00
Wilson Snyder
bbb223f217
Fix error on empty generate with -O0 ( #5250 ).
2024-07-11 06:59:15 -04:00
Arkadiusz Kozdra
570e1bc35a
Support conditional constraints ( #5245 )
2024-07-10 11:30:18 -04:00
Bartłomiej Chmiel
11da07d3b9
Support `$assertcontrol` assertion_type ( #5236 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-07-10 05:06:13 -04:00
Arkadiusz Kozdra
2cfec0ecc3
Support clocking blocks in virtual interfaces ( #5235 )
2024-07-09 18:31:58 -04:00
Wilson Snyder
fe0b210a0c
Fix errors on using string in incorrect format ( #5340 ).
2024-07-09 08:29:22 -04:00
Wilson Snyder
b66fdd7421
Fix unknown conversion on queues ( #5220 ).
2024-07-08 10:19:51 -04:00
Ryan Ziegler
947b6fd23f
Add `--emit-accessors` ( #5182 ) ( #5227 )
2024-07-06 13:12:53 +01:00
Wilson Snyder
de44ca8df3
Fix top-level unpacked structure resets ( #5221 ).
2024-07-05 17:22:26 -04:00
Geza Lore
dace2c0a9a
Tests: Skip t_constraint_state when no solver is installed ( #5224 )
2024-07-04 11:42:53 +01:00
Liam Braun
ca4858eb7f
Fix concurrency for mailbox and semaphores ( #5222 )
2024-07-03 22:29:32 +01:00
Wilson Snyder
a6d438d111
Fix mis-removing $value$plusargs calls ( #5127 ) ( #5137 ). [Seth Pellegrino]
...
Co-authored-by: Seth Pellegrino <seth@codecopse.net>
2024-07-02 18:46:58 -04:00
Bartłomiej Chmiel
955ed3f193
Fix splitting if statements with impure conditions ( #5219 )
2024-07-02 15:17:10 -04:00
Arkadiusz Kozdra
85356f464f
State-dependent constraints ( #5217 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-07-01 20:19:15 +02:00
Arkadiusz Kozdra
72993ec3dd
Support cross-module clockvars access ( #5184 )
2024-06-30 15:19:02 -04:00
Bartłomiej Chmiel
864a852bca
Add `--compiler-include` for additional C++ includes ( #5139 ) ( #5202 )
2024-06-27 18:53:44 -04:00
Bartłomiej Chmiel
9e2c8aefc8
Add `--pins-sc-uint-bool` to force SystemC uint type ( #5192 )
2024-06-25 05:27:09 -04:00
Wilson Snyder
3315a6e431
Internals: Also cleanup gettes/setters in .cpp. No functional change intended.
2024-06-22 19:50:59 -04:00
Ryan Ziegler
e1580b9c3d
Internals: Reorder class getters/setters ( #5197 ). No functional change intended.
2024-06-22 18:57:54 -04:00
Wilson Snyder
607c19a67d
Fix isPure to be superset of isOutputter.
...
This may cause some additional SIDEEFFECT warnings that previously were not shown.
2024-06-16 21:43:30 -04:00
Wilson Snyder
d5cfe1a379
Fix fusing macro arguments to not ignore whitespace ( #5061 ).
2024-06-15 09:21:21 -04:00
Wilson Snyder
ad2862ce3f
Fix DPI import of null C-string ( #5179 ).
2024-06-14 22:50:54 -04:00
Bartłomiej Chmiel
4695967185
Fix signed types emitted in hierarchical Verilation ( #5178 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-06-14 08:07:32 -04:00
Arkadiusz Kozdra
442c9bc316
Support parsing and otherwise ignoring inline constraints ( #5126 )
2024-06-13 08:38:20 -04:00
Arkadiusz Kozdra
3203019408
Fix coroutines without awaits to have a co_return ( #4208 ) ( #5175 )
...
After the V3Timing refactoring the V3SchedTiming phase could apparently
move away all awaits from a coroutine without adding a co_return
statement.
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-06-12 15:13:52 -04:00
Geza Lore
bc853e260b
Support StructSel in unpacked array assignments ( #5176 )
2024-06-12 17:07:33 +01:00
Alex Solomatnikov
a9e50327fd
Fix hierarchical compilation with nested -F ( #5114 ) ( #5124 )
2024-06-12 07:42:52 -04:00
Wilson Snyder
6f0a36318e
Tests: Fix test stability ( #5167 update).
2024-06-11 20:55:01 -04:00
Wilson Snyder
fd1e4d9e45
Add assertion on reusing VerilatedContext ( #5167 ).
2024-06-11 19:38:58 -04:00
Arthur Rosa
2537431273
Fix table optimization when applied on real data type ( #5172 ) ( #5173 )
2024-06-11 13:26:11 -04:00
Arkadiusz Kozdra
e9f59e44a5
Fix non-constant replication in concats ( #5171 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-06-10 11:21:43 -04:00
Arkadiusz Kozdra
d4c3e35f97
Support `$psprintf` system function ( #4314 ) ( #5169 )
...
`$psprintf` is a non-standard system function present in some other
simulators, and has been rejected for standardization by IEEE because
of being basically the same as `$sformatf`.
To encourage users to fix their codebase, a warning is emitted by
default, but it gets otherwise interpreted as `$sformatf` as early as
during lexing.
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
* wording/formatting
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
---------
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-06-10 08:38:26 -04:00
Geza Lore
2bc883f3b3
Extend out-of-range select ( #5159 ) ( #5164 )
2024-06-09 17:05:14 -04:00
Geza Lore
29db25b70e
Reset radix in width warnings ( #5166 )
2024-06-09 14:39:17 +01:00
Geza Lore
d6bc0c712a
Disable ASLR for more tests. ( #5165 )
...
These show spurious errors with some toolchains due to an address sanitizer bug.
2024-06-09 14:32:31 +01:00
Valentin Atepalikhin
4babba16d6
Support 2D dynamic array initialization ( #4700 ) ( #5122 )
...
* Support 2D dynamic array initialization (#4700 )
- new[] on sub arrays (as per original issue)
- Built-in methods for sub-arrays
- Initialization and literals assignmensts
- Dynamic array as an element for other arrays and queues
2024-06-08 22:44:45 -04:00
Yutetsu TAKATSUKASA
6584b4d426
Fix assertion failure in V3Gate ( #5101 )
2024-06-08 08:37:01 -04:00
Arkadiusz Kozdra
1dbf1be3e6
Support `inout` clocking items ( #5160 )
2024-06-07 08:30:58 -04:00
Wilson Snyder
3f886f7c61
Fix select value too wide ( #5148 ) ( #5153 ).
...
Co-authored-by: Dercury <dercury@qq.com>
2024-06-07 08:27:03 -04:00
Wilson Snyder
7c9fa8647c
Fix string to be more standard ( #5082 ) ( #5083 ).
2024-05-31 21:51:12 -04:00
Wilson Snyder
dbf68a99e8
Tests: SHow expected values in t_typenames
2024-05-30 22:54:40 -04:00
Andrew Nolte
53c2e416f4
Tests: Extend t_typenames ( #5083 )
...
Co-authored-by: Andrew Nolte <anolte@hudson-trading.com>
2024-05-30 22:32:14 -04:00
Geza Lore
d4b3583307
Apply DFG regularization to cyclic graphs ( #5142 )
...
The Dfg2Ast conversion assumes the 'regularize' pass was run, but we
failed to run it on cyclic sub-graphs. Do so now.
Fixes #5130 .
2024-05-26 12:01:30 +01:00
Wilson Snyder
ee130cb20d
Tests: Skip if no constraint solver
2024-05-23 22:25:14 -04:00
Pawel Jewstafjew
913679f261
Fix output C++ type error on change detect of I/O arrays ( #5125 ) ( #5131 )
...
operand order reversed for AstCMethodHard "neq"
interface between C-style arrays and VlUnpacked
overloads added to VlUnpacked::neq(), VlUnpacked::assign()
VlUnpacked::operator=() added
Fixes #5125
2024-05-22 12:53:28 +01:00
Ethan Sifferman
d9078df650
Fix 4-state value support for $readmem ( #5070 ) ( #5078 )
2024-05-21 17:27:32 -04:00
Wilson Snyder
f84592af49
Fix x-valued parameters with `--x-assign unique` ( #5129 ).
2024-05-21 08:07:57 -04:00
Arkadiusz Kozdra
739be2f782
Support constrained randomization with external solvers ( #4947 )
2024-05-17 10:38:34 -04:00
Krzysztof Bieganski
25b9a16bc7
Fix references to ports in forks ( #5123 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-05-17 07:38:36 -04:00
Todd Strader
19cccd170e
Fix vpiInertialDelay for memories ( #5113 )
2024-05-10 18:49:43 -04:00
Wilson Snyder
d99c8f5d44
Fix redundant AstExtend breaks DFG ( #5112 )
2024-05-10 18:48:09 -04:00
Geza Lore
cf111d2e1f
Do not create aliases for forced port signals ( #5105 )
...
+ don't remove forced signals in V3Const and Dfg
Fixes #5062
2024-05-10 18:19:51 +01:00
Arkadiusz Kozdra
45eb5b8a5c
Fix method calls parsing in constraints ( #5110 )
2024-05-10 06:37:19 -04:00
Yinan Xu
ce5cad17a8
Add increasing of stack size when possible ( #5071 ) ( #5104 )
2024-05-08 22:40:42 -04:00
Wilson Snyder
ed01befc25
Fix tracing interface functions ( #5108 ).
2024-05-08 22:23:53 -04:00
Bartłomiej Chmiel
2a9f29912c
Add parameterless assert control system tasks ( #5010 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-05-08 08:31:34 -04:00
Wilson Snyder
298e0f24d1
Add traceCapable indication to model header ( #5053 ).
2024-05-03 20:18:06 -04:00
Geza Lore
80b08b71aa
Support NBAs to arrays inside loops ( #5092 )
...
For NBAs that might execute a dynamic number of times in a single
evaluation (specifically: those that assign to array elements inside
loops), we introduce a new run-time VlNBACommitQueue data-structure
(currently a vector), which stores all pending updates and the necessary
info to reconstruct the LHS reference of the AstAssignDly at run-time.
All variables needing a commit queue has their corresponding unique
commit queue.
All NBAs to a variable that requires a commit queue go through the
commit queue. This is necessary to preserve update order in sequential
code, e.g.:
a[7] <= 10
for (int i = 1 ; i < 10; ++i) a[i] <= i;
a[2] <= 10
needs to end with array elements 1..9 being 1, 10, 3, 4, 5, 6, 7, 8, 9.
This enables supporting common forms of NBAs to arrays on the left hand
side of <= in non-suspendable/non-fork code. (Suspendable/fork
implementation is unclear to me so I left it unchanged, see #5084 ).
Any NBA that does not need a commit queue (i.e.: those that were
supported before), use the same scheme as before, and this patch should
have no effect on the generated code for those NBAs.
2024-05-03 07:45:49 -04:00
Wilson Snyder
3cb4033c97
Fix width extension of unpacked array select ( #5095 ).
2024-05-02 20:41:39 -04:00
Wilson Snyder
ec45a77d93
Fix macro expansion in strings per 1800-2023 ( #5094 ).
2024-05-02 19:02:28 -04:00
Wilson Snyder
8044833c74
Fix `$typename` on array.min and others ( #5049 ).
2024-05-01 20:07:13 -04:00
Geza Lore
3f89bdcfac
Defer conversion of set flag based AssignDlys ( #5091 )
...
No functional change. Postpone the conversion of all AstAssignDlys that
use the 'VdlySet' scheme for array LHSs until after the complete
traversal of the netlist. The next patch takes advantage of this by
using some extra information also gathered through the traversal to
change the conversion.
AstAssignDlys inside suspendable or fork are not deferred and are
processed identical to the previous version.
There are some TODOs in this patch that are fixed in the next patch.
Output code perturbed due to variable ordering.
MULTIDRIVEN message ordering perturbed due to processing order change.
2024-05-02 00:24:00 +01:00
Todd Strader
c99364b81a
Support vpiInertialDelay ( #5087 )
2024-05-01 18:56:50 -04:00
Todd Strader
4a41f69293
Internals: Remove C-style cast in VPI_HANDLE ( #5088 )
2024-05-01 10:11:44 -04:00
Wilson Snyder
8fd038f88e
Add `--localize-max-size` option and optimization ( #5072 ).
2024-04-30 19:46:54 -04:00
Wilson Snyder
71bc60fb91
Add error on zero width select ( #5028 ).
2024-04-30 18:38:37 -04:00
Wilson Snyder
5d54fa8e6f
Fix missing parameters with comma to be errors ( #4979 ) ( #5012 ).
2024-04-29 22:41:16 -04:00
Aleksander Kiryk
8e0301c287
Fix bound queue printing ( #5032 )
2024-04-29 21:52:06 -04:00
Iztok Jeras
3f625fc359
Tests: Add unsupported streaming LHS tests ( #4302 )
2024-04-29 21:35:19 -04:00
Geza Lore
72b96d5069
tests: disable ASLR for t_trace_ub_misaligned_address ( #5075 )
...
This works around an address-sanitizer bug hit with some GCC versions
2024-04-29 15:38:00 +01:00
Wilson Snyder
5601056ed0
Tests: Check for bad event methods
2024-04-28 13:10:25 -04:00
Wilson Snyder
8ed269c77f
Make 'disable isn't underneath a begin' into UNSUPPORTED error ( #4699 ).
2024-04-27 21:30:40 -04:00
Geza Lore
27b7e70218
Fix DFG assertion with SystemC ( #5076 )
...
Fixes #5050
2024-04-27 13:41:10 +01:00
Wilson Snyder
4f3a816fb0
Fix false ASSIGNIN on functions with explicit port map ( #5069 ).
2024-04-26 19:26:21 -04:00
Todd Strader
25fd8ef5c0
Add VPI eval needed tracking ( #5065 )
2024-04-25 09:07:31 -04:00
Wilson Snyder
26a5729514
Add CITATION.cff ( #5057 ) ( #5058 ).
2024-04-19 20:33:11 -04:00
Arkadiusz Kozdra
5b839699ac
Support empty queue as dynarray default value ( #5055 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-04-18 11:53:23 -05:00
Wilson Snyder
5d8da6b4ac
Fix width extension on delays ( #5045 ).
2024-04-13 08:16:59 -04:00
Wilson Snyder
8e44487354
Tests: update style
2024-04-13 08:02:25 -04:00
Wilson Snyder
1012c054e6
Fix `$system` with string argument ( #5042 ).
2024-04-11 17:31:14 -04:00
Paul Wright
a8b5738b44
Support __en/__out signals on top level inout ports ( #4812 ) ( #4856 )
2024-04-11 09:02:58 -04:00
Krzysztof Bieganski
7ca2d6470a
Fix consecutive zero-delays ( #5038 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-04-05 16:48:47 -04:00
Wilson Snyder
8a4ceb5717
Tests: Fix test failure, last commit.
2024-04-02 07:04:27 -04:00
Andrew Nolte
63fa6accc4
[Vpi] Fix missing scopes 2 ( #4965 )
2024-04-01 23:11:15 -04:00
Wilson Snyder
28718f964a
Fix tracing replicated hierarchical models ( #5027 ) ( #5029 )
2024-03-30 16:00:52 -04:00
Szymon Gizler
8301fdc6d3
Add JSON AST dumps ( #5020 )
2024-03-28 07:32:18 -04:00
Arkadiusz Kozdra
f645382f11
Support inside range with implicit type conversion ( #5026 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-03-28 07:31:45 -04:00
Wilson Snyder
1ed5557d2d
Support 1800-2023 class and function :initial, :extends, :final virtual overrides ( #5025 ). ( #5025 )
2024-03-27 23:57:58 -04:00
Wilson Snyder
28b9216f8a
Fix tracing class parameters ( #5014 ).
2024-03-27 20:07:46 -04:00
Wilson Snyder
0114cb67ca
Fix $readmem with missing newline ( #5019 ).
2024-03-27 18:42:20 -04:00
Wilson Snyder
ea8f86dd30
Internals: Prefer '(void)' to avoid unused var. No functional change.
2024-03-27 18:07:14 -04:00
Wilson Snyder
db60b92613
Fix internal error on missing pattern key ( #5023 )
2024-03-27 08:41:58 -04:00
Wilson Snyder
4df9e2e0e5
Add printing summary reports ( #4909 ) ( #5018 )
2024-03-25 07:03:17 -04:00
Wilson Snyder
e67bdb4c08
Commentary
2024-03-24 09:23:37 -04:00
Wilson Snyder
38ad328956
Remove duplicate stop ignored messages
2024-03-22 19:35:42 -04:00
Fuad Ismail
1c79df8630
Support stream operation on unpacked array ( #4714 ) ( #5006 )
2024-03-21 18:26:42 -04:00
Arkadiusz Kozdra
88831ca21b
Fix preprocessor to respect strings in joins ( #5007 )
...
This adheres more to the wording used in IEEE 1800-2017 22.5.1,
specifying the join operator to be more of a delimiter than join:
> A `` delimits lexical tokens without introducing white space,
> allowing identifiers to be constructed from arguments.
Before, string RHS arguments to the join operator were silently dropped.
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-03-20 08:54:23 -04:00
Arkadiusz Kozdra
26f15e11c4
Fix unique {} constraints missing semicolon ( #5001 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-03-19 08:22:39 -04:00
Ryszard Rozak
5c0a7e06dc
Fix inout ports of unpacked stuct type ( #5000 )
2024-03-19 06:43:06 -04:00
Andrew Nolte
290b313dc0
Fix missing VPI scopes ( #4918 )
2024-03-18 20:47:28 -04:00
Wilson Snyder
93e5ca3f6d
Fix class type as an associative array parameter ( #4997 ).
2024-03-18 20:44:18 -04:00
Kevin Nygaard
a24f61403a
Support implicitly-typed variable definitions in for-loop initializers ( #4945 ) ( #4986 )
...
- Adds support for C-style for-loop initializers
- Current implementation supports: for (x a = 1, y b = 2, ...)
- This patch extends support to: for (x a = 1, b = 2, ...)
- Adds unit test for new feature
2024-03-16 19:02:37 -04:00
Wilson Snyder
0262819c20
Fix object assignment from conditionals ( #4968 ).
2024-03-16 09:12:18 -04:00
Wilson Snyder
d3b93a1113
Fix object reference to conditional null : null
2024-03-16 09:12:18 -04:00
Fuad Ismail
5802818b9a
Add error when pass net to function argument ( #4132 ) ( #4966 )
2024-03-16 08:25:42 -04:00
Geza Lore
df519ff16e
Fix --prof-exec predicted time values ( #4988 )
...
Wrapping the functions in #4933 broke --prof-exec report as the
predicted MTask times are computed during thread packing, but are
emitted in the wrapping functions.
2024-03-16 12:17:24 +00:00
Wilson Snyder
e82c9db6da
Fix unpacked structure upper bit cleaning ( #4978 ).
2024-03-15 21:56:24 -04:00
Wilson Snyder
65c3cb4708
Tests: stop testing if --fail-max tests fail
2024-03-15 21:11:24 -04:00
Wilson Snyder
229dbbb100
Tests: RUn same job count as CPU instead of +1 to reduce CI congestion
2024-03-11 20:13:23 -04:00
Wilson Snyder
4a439beae5
Add error on missing pure virtual functions ( #4961 ).
2024-03-11 18:56:30 -04:00
Wilson Snyder
49022c3e73
Add error on calling static function without object ( #4962 ).
2024-03-11 18:23:55 -04:00
Geza Lore
e4847464d4
Split V3Partition into logically separate pieces ( #4958 )
...
V3Partition used to contain 2 conceptually separate set of algorithms
- The MTask partitioning/coarsening algorithm used by V3Order. This has
been moved to V3OrderParallel.cpp
- The lowering of AstExecGraph into per thread functions by packing
tasks into threads and creating additional code
(V3Partition::finalize). This has been moved to the new
V3ExecGraph.cpp
This patch is just code movement/rename with minimal fixes required to
do so.
2024-03-10 15:58:58 +00:00
Geza Lore
5a69321be3
Split V3Order into further part and decouple various components ( #4953 )
...
Continuing the idea of decoupling the implementations of the various algorithms.
The main points:
-Move the former "processDomain" stuff, dealing with assigning combinational logic into the relevant sensitivity domains into V3OrderProcessDomains.cpp
-Move the parallel code construction in V3OrderParallel.cpp (Could combine this with some parts of V3Partition - those not called from V3Partition::finalize - but that's not for this patch).
-Move the serial code construction into V3OrderSerial.cpp
-Factored the very small common code between the parallel and serial code construction (processMoveOneLogic) into V3OrderCFuncEmitter.cpp
2024-03-09 12:43:09 +00:00
Wilson Snyder
5ee938fd1c
Fix assignment of null into struct member ( #4952 ).
2024-03-08 17:33:51 -05:00
Wilson Snyder
8ba494c71f
Fix null characters in shortened identifiers ( #4946 ).
2024-03-07 18:09:55 -05:00
Bartłomiej Chmiel
32f288084a
Add UNUSEDLOOP when unused loop is removed ( #4926 )
2024-03-07 08:33:49 -05:00
Andrew Nolte
6db149c588
Fix generate blocks in vpi_iterate ( #3609 ) ( #4913 )
2024-03-06 18:33:30 -05:00
Geza Lore
0fed5f8b3e
Avoid creating redundant vertices in V3DfgPeephole ( #4944 )
...
Add a new data-structure V3DfgCache, which can be used to retrieve
existing vertices with some given inputs vertices. Use this in
V3DfgPeephole to eliminate the creation of redundant vertices.
Overall this is performance neutral, but is in prep for some future
work.
2024-03-06 18:01:52 +00:00
Geza Lore
3a1355fb54
Fix bad assertion in DFG variable elimination
...
Fixes #4943
2024-03-05 18:51:46 +00:00
Andrew Nolte
97db128d66
Tests: Add VPI dump testcases ( #4838 )
2024-03-05 12:08:22 -05:00
Geza Lore
745605efe3
Fix DFG removing forceable signals ( #4942 )
...
DFG could remove forceable signals by replacing them with their
in-design driver. This is a bit of a pain to prevent, and ideally the
forcing transform should happen before DFG, but implementing it there is
a pain due to having to rewrite ports based on direction. This is an
attempted fix in DFG. More cases might remain.
2024-03-03 16:22:41 +00:00
Wilson Snyder
0fbd4313b2
Fix __Vlip undefined error in --freloop ( #4824 ).
2024-03-03 11:10:46 -05:00
Kefa Chen
5f1dc73a1b
Support public packed struct / union ( #860 ) ( #4878 )
2024-03-03 10:23:04 -05:00
Geza Lore
5e1fc6e24d
Add DFG 'regularize' pass, and improve variable removal ( #4937 )
...
This functionality used to be distributed in the removeVars pass and the
final dfgToAst conversion. Instead added a new 'regularize' pass to
convert DFGs into forms that can be trivially converted back to Ast, and
a new 'eliminateVars' pass to remove/repalce redundant variables. This
simplifies dfgToAst significantly and makes the code a bit easier to
follow.
The new 'regularize' pass will ensure that every sub-expression with
multiple uses is assigned to a temporary (unless it's a trivial memory
reference or constant), and will also eliminate or replace redundant
variables. Overall it is a performance neutral change but it does
enable some later improvements which required the graph to be in this
form, and this also happens to be the form required for the dfgToAst
conversion.
2024-03-02 19:49:29 +00:00
Wilson Snyder
0ec32ee404
Parse 1800-2023 map expressions and throw UNSUPPORTED
2024-03-02 10:15:19 -05:00
Wilson Snyder
97b21b3849
Parse 1800-2023
2024-03-02 10:15:19 -05:00
Wilson Snyder
214173c6b8
Support 1800-2023 preprocessor ifdef expressions; add PREPROC zero warning.
2024-03-02 10:15:19 -05:00
Wilson Snyder
3786f59e03
Change to IEEE 1800-2023 warning mentions
2024-03-02 10:15:19 -05:00
Wilson Snyder
fa7234ff68
Support 1800-2023 DPI headers, svGetTime/svgGetTimeUnit/svGetTimePrecision methods.
2024-03-02 10:15:19 -05:00
Wilson Snyder
91dd3c5fac
Support 1800-2023 keywords.
2024-03-02 10:15:19 -05:00
Wilson Snyder
a378dbd9b2
Tests: Fix t_dist_whitespace
2024-03-02 10:14:54 -05:00
Yutetsu TAKATSUKASA
da9521a351
Internals: Add --debug-width option for developers to check width consistency ( #4923 )
2024-03-02 08:57:26 -05:00
Wilson Snyder
af51107587
Fix statistics missing some additions.
2024-03-01 20:27:57 -05:00
Wilson Snyder
a4813ec677
Add warning on TOP-named modules ( #4935 ).
2024-03-01 17:28:12 -05:00
Yan Xu
b12f8b3d73
Fix V3Unknown unpacked struct x-assign ( #4934 )
2024-03-01 09:14:49 -05:00
Geza Lore
f56f318217
Make installation relocatable, and the installation testable ( #4927 )
...
Fixes #4893
2024-03-01 00:08:28 +00:00
Wilson Snyder
a69cb9b044
Tests: Avoid verilated.v include in most tests
2024-02-27 18:08:37 -05:00
Geza Lore
b68a696859
Ignore all JSON tree dumps in test-snap/test-diff
2024-02-27 17:16:34 +00:00
Wilson Snyder
42041f2403
Fix invalid cast on string structure creation ( #4921 ).
2024-02-25 08:19:53 -05:00
Yutetsu TAKATSUKASA
51ae8e13fb
Add --assert-case option ( #4919 )
2024-02-23 23:05:53 +09:00
Geza Lore
0892b39ad2
Fix incorrect code generation for change expression on typedefed unpacked array ( #4915 )
2024-02-23 03:53:42 -05:00
Geza Lore
5964d5cf63
Fix inconsistent driver resolution with typedefs ( #4917 )
2024-02-22 18:33:23 +00:00
Paul Swirhun
e00e4d4245
Fix whitespace in `pragma protect version` ( #4914 )
2024-02-22 03:29:57 -05:00
Yutetsu TAKATSUKASA
4b9532fe24
Improve message for priority case assertion failure ( #4905 )
2024-02-22 03:09:14 -05:00
Andrew Nolte
cfb73923bd
Test driver: Add -xrun Xcelium support ( #4896 )
...
Co-authored-by: Andrew Nolte <anolte@hudson-trading.com>
2024-02-20 14:41:05 -05:00
Yutetsu TAKATSUKASA
a951446f9b
Add --[no]-stop-fail option ( #4904 )
...
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-02-19 21:26:58 +09:00
Yutetsu TAKATSUKASA
65b632a7dd
Improve assertion for unique case ( #4892 )
...
- Use parallel_case, unique, and unique0 in error message
- Distinguish multiple match and no match
- Show the case value that triggers the assertion
2024-02-13 21:53:32 +09:00
Geza Lore
ec0787015e
Ignore JSON tree dumps and DFG stats in test-snap/test-diff
2024-02-11 20:38:16 +00:00
Geza Lore
cbc76a7816
Dump DFG patterns with --stats ( #4889 )
...
With --stats, we will print DFG pattern combinations, one per line, as
S-expressions to new stat files, together with their frequency, to aid
discovery of new peephole patterns.
2024-02-11 15:41:10 +00:00
Szymon Gizler
d667b73e8d
Add --json-only and related JSON dumping ( #4715 ) ( #4831 ).
2024-02-09 17:50:09 -05:00
Wilson Snyder
248de2be2e
Fix coverage with member
2024-02-08 21:51:36 -05:00
Wilson Snyder
365537d8e3
Fix coverage of delayed nets
2024-02-08 20:25:17 -05:00
Wilson Snyder
a23cf1ceea
Fix toggle coverage dataDeclp error on multi-edge driven signals.
2024-02-08 19:21:44 -05:00
Wilson Snyder
d0e7eaafc9
Tests: Define stop uniformly. No functional change.
2024-02-08 18:39:13 -05:00
Wilson Snyder
13b7cce8be
Fix compile error on structs with queues (and ignore toggle coverage on queues).
2024-02-08 08:44:27 -05:00
Wilson Snyder
efff630763
Fix tautological-compare warnings.
2024-02-07 22:16:08 -05:00
Wilson Snyder
e2e0795538
Fix toggle coverage of unpacked unions with reals.
2024-02-07 21:03:32 -05:00
Wilson Snyder
c20634e4f8
Fix coverage of real arrays giving operator^ not defined
2024-02-07 20:11:27 -05:00
Krzysztof Bieganski
fe8c7c5a94
Fix timing with expr on assign LHS ( #4880 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-02-06 07:27:19 -05:00
Wilson Snyder
7ada5195d8
Fix `this` in member initialization ( #4710 ). ( #4876 )
2024-02-04 19:44:10 -05:00
Wilson Snyder
a6ad85244f
Backout ( #4710 ) due to leak
2024-02-04 18:13:22 -05:00
Wilson Snyder
f13f2296de
Fix `this` in member initialization ( #4710 ).
2024-02-04 16:09:01 -05:00
Wilson Snyder
b1d901f100
Tests: Hardcode copyright exceptions ( #4874 )
2024-02-04 15:43:01 -05:00
Wilson Snyder
7425037db6
Fix Copyright
2024-02-04 09:35:19 -05:00
Geza Lore
6ca60429ce
Fix incorrect temporary insertion in loop conditions with statements ( #4873 )
...
When the condition of an AstWhile loop contains a statement (e.g.
through an AstExprStmt), temporaries inserted in that statement need to
go before that statement, not in the AstWhile precondition.
2024-02-04 09:19:54 -05:00
Bartłomiej Chmiel
c702fc944e
Fix SystemC biguint sign desynchronization ( #4870 )
...
* Fix writing to SystemC values with `VL_ASSIGN_SBW`
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Co-authored-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-02-02 07:00:13 -05:00
Yutetsu TAKATSUKASA
999c9ae21c
Fix #4864 of wrong runtime result ( #4867 )
...
* Fix #4864 . Ignore if EQ/NE is under SHIFTR.
2024-01-30 00:00:00 +09:00
Szymon Gizler
c715cfc254
Add --valgrind switch ( #4828 )
2024-01-29 07:50:05 -05:00
Wilson Snyder
22687a6901
Internals: Use C++14 quoted literal std::string
2024-01-28 21:00:20 -05:00
Wilson Snyder
9ccef4180f
Fix $fwrite of null ( #4862 ).
2024-01-28 09:05:50 -05:00
Yutetsu TAKATSUKASA
e4a0e5aad6
Fix #4857 consider NOT when checking EQ/NEQ under AND/OR tree ( #4863 )
2024-01-28 22:36:09 +09:00
Wilson Snyder
d6f8ccd20b
Add `unroll_disable` and `unroll_full` loop control metacomments ( #3260 ).
2024-01-26 07:49:07 -05:00
Wilson Snyder
3aece189ac
Fix tracing chandles ( #4860 ).
2024-01-25 08:13:52 -05:00
Wilson Snyder
188f0eb4ad
Tests: Add t_enum_enumvalue_struct_bad ( #2855 )
2024-01-25 07:57:45 -05:00
Wilson Snyder
d4c8a15407
Add --runtime-debug for Verilated executable runtime debugging.
2024-01-25 07:34:30 -05:00
Wilson Snyder
354a534d68
Add '--decorations node' for inserting debug comments into emitted code.
2024-01-24 21:51:47 -05:00
Wilson Snyder
c8a40e0b52
Commentary; Tests: Check summary options match guide options
2024-01-24 19:28:46 -05:00
Wilson Snyder
771cb5f60b
Tests: Fix last commit when no coroutines.
2024-01-24 18:48:27 -05:00
Wilson Snyder
23836ee8d0
Document gprof steps better. Add t_prof_timing test to show GCC bug ( #4858 ).
2024-01-24 17:55:23 -05:00
Jonathan Schröter
31262e81f9
Fix to not emit already waived warnings in waiver output ( #4574 ) ( #4818 )
2024-01-24 07:45:38 -05:00
Wilson Snyder
74ec50f933
Support interface class diamond relationship.
2024-01-23 22:07:35 -05:00
Wilson Snyder
21e85f87bc
Fix compilation error on multi-inherited interface class usage ( #4819 ).
2024-01-23 19:36:11 -05:00
Paul Swirhun
6c0c88cfc4
Fix unsafe write in wide array insertion ( #4850 ) ( #4855 )
2024-01-23 13:05:27 -05:00
Wilson Snyder
2989e54eaa
Add unsupported warning on property iff ( #4848 )
2024-01-21 16:18:48 -05:00
Yutetsu TAKATSUKASA
6b8531f0a6
Fix widthMin in replaceShiftOp ( #4837 ) ( #4841 ) ( #4849 )
2024-01-21 10:30:01 -05:00
Yutetsu TAKATSUKASA
50df902b54
Fix incorrect bit-op-tree NOT optimization ( #4832 ) ( #4847 )
...
* Fix #4832 . Bit-op-tree opt. should not touch a subtree under NOT in AND/OR tree.
2024-01-21 07:25:24 -05:00
Wilson Snyder
3a5248a919
Internals: Mark structs final/VL_NOT_FINAL. No functional change intended.
2024-01-20 15:06:46 -05:00
Wilson Snyder
1a92502788
Add --main support for dumping coverage, and +verilator+coverage+file runtime option.
2024-01-20 12:28:49 -05:00
Wilson Snyder
a38fea1f9e
Tests: Use context coverage write
2024-01-20 11:19:42 -05:00
Wilson Snyder
d595d4c7ac
Tests: Use --binary with some --timing tests
2024-01-20 10:57:00 -05:00
Wilson Snyder
a43fd06f85
Tests: Imply no driver.pl make when using --build. No functional change intended
2024-01-20 10:37:35 -05:00
Wilson Snyder
375a121377
Tests: Use lint() where able instead of compile(). No functional change intended.
2024-01-20 10:25:17 -05:00
Wilson Snyder
fef0502d50
Tests: Imply make_main=>0 on --main tests
2024-01-20 10:17:35 -05:00
Wilson Snyder
c30b9d04a8
Change unused vars to standard void syntax. No functional change intended.
2024-01-20 08:57:22 -05:00
Szymon Gizler
372cdf1fc8
Tests: Let debugger handle signals instead of test driver ( #4817 )
2024-01-16 11:18:20 -05:00
Andrew Nolte
ab47fc6656
Fix localparam elaboration ( #3858 ) ( #4794 )
2024-01-11 07:49:07 -05:00
Anthony Donlon
55d1b87b34
Support parsing anonymous primitive instantiations ( #4809 )
2024-01-07 10:59:56 -05:00
Wilson Snyder
eec41fd039
Fix lint_off disables on preprocessor warnings ( #4703 ).
2024-01-06 18:49:19 -05:00
Wilson Snyder
0ca90257a5
Add predicted stack overflow warning ( #4799 ).
2024-01-06 16:14:58 -05:00
Wilson Snyder
acbbb2594a
Tests: Make some tests single-threaded only, for faster regressions
2024-01-05 18:25:39 -05:00
Wilson Snyder
5294140753
Fix delays using wrong timeunits when modules inlined ( #4806 ).
2024-01-05 18:07:24 -05:00
Pengcheng Xu
ec01008fe3
Change zero replication width error to ZEROREPL warning ( #4753 ) ( #4762 )
2024-01-03 07:11:50 -05:00
Marlon James
8ea814e4b4
Fix VPI parameter iteration ( #4798 )
2024-01-02 18:57:34 -05:00
Marlon James
0195fe9dfd
Add `vpiConstType` support to `vpi_get_str()` ( #4797 )
2024-01-02 18:52:57 -05:00
Marlon James
e430ea13f4
Fix `vpi_get()` and `vpi_get64()` to return vpiUndefined on errors ( #4795 )
...
See IEEE 1800-2017 section 38.6 and 38.7.
2024-01-02 16:25:14 -05:00
Paul Wright
3adb31f53b
Fix $time not rounding up ( #4790 ) ( #4792 )
2024-01-01 20:11:46 -05:00
Wilson Snyder
3eaed3b6f5
Remove deprecated 32-bit pointer mode ( #4791 ).
2024-01-01 10:16:48 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Wilson Snyder
5a83209b9b
Tests: Fix last commit on width ( #4781 ).
2023-12-31 13:28:49 -05:00
Wilson Snyder
40f0378136
CI: Run --sanitize on Ubuntu 22.04 in prep for eventual 24.04. ( #4782 )
2023-12-27 15:01:17 -05:00
Wilson Snyder
6bf253deda
Tests: Test for unsupported default disable ( #4016 )
2023-12-24 13:11:09 -05:00
Wilson Snyder
aa4346a0e3
Tests: Add test for unfixed ( #4237 )
2023-12-24 12:19:15 -05:00
Wilson Snyder
8c541a6e4d
Tests: Add test for unfixed ( #4038 )
2023-12-24 12:17:54 -05:00
Wilson Snyder
1a43afe6f7
Fix $finish twice to no longer exit ( #4757 ).
2023-12-24 11:02:52 -05:00
Wilson Snyder
54ad04b6e9
Fix 'for' loop with outside variable reference ( #4660 ).
2023-12-24 10:17:44 -05:00
Fan Shupei
540cd772e4
Add user C/C++ code to final achieve, and make a libmodel.a ( #4749 ) ( #4754 )
2023-12-23 09:31:10 -05:00
Krzysztof Bieganski
621de301c7
Run the `V3Fork` stage only if `--timing` is set ( #4778 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-12-22 22:57:45 +01:00
Wilson Snyder
8769c1a92b
Internals: Add -fno-dead-cells, -fno-dead-assigns for debug use
2023-12-22 16:26:51 -05:00
Jordan McConnon
56d6791205
Support invoking interface methods on virtual interface variables ( #4774 ) ( #4775 )
2023-12-21 07:49:07 -05:00
Krzysztof Bieganski
016e630ecf
Refine dynamic NBA condition ( #4773 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-12-20 18:12:17 +01:00
Wilson Snyder
7a537765bc
Tests: Comment driver.pl with some argument meanings. No functional change.
2023-12-19 22:43:18 -05:00
Wilson Snyder
21b2e874ce
Tests: Make some includes more generic to help copying tests. No test change.
2023-12-19 21:08:30 -05:00
Wilson Snyder
55ad950609
Fix power operator with wide numbers and constants ( #4721 ) ( #4763 )
2023-12-19 19:22:54 -05:00
Todd Strader
654ab117f2
Fix tracing FST enums ( #4661 ) ( #4756 )
2023-12-19 11:07:06 -05:00
Todd Strader
5ec9bfc47d
Support packages in vpi_handle_by_name() ( #4768 )
2023-12-15 17:32:23 -05:00
Todd Strader
1066f06ec1
Support VPI parameter iteration ( #4765 )
2023-12-15 13:53:13 -05:00
Todd Strader
668dbb25ab
Tests: Use test macros in t_vpi_package ( #4726 ) ( #4764 ).
2023-12-15 12:11:51 -05:00
Todd Strader
fced4d6e57
Support vpiConstType in vpi_get() ( #4761 )
2023-12-14 20:37:47 -05:00
Ryszard Rozak
a811f2e17d
Support inside operator on unpacked arrays and queues ( #4751 )
2023-12-12 09:20:22 +01:00
Ryszard Rozak
b60117c713
Fix typedefs pointing to parameterized classes ( #4747 )
...
* Skip handling of ClassOrPackageRef nodes that point to Typedefs
2023-12-08 07:13:38 -05:00
Ryszard Rozak
d3142736c8
Tests: Add a test for type parameters in virtual interfaces ( #4746 )
2023-12-08 07:11:32 -05:00
Ryszard Rozak
1ececf1127
Support multiple parameters in virtual interfaces ( #4745 )
2023-12-07 13:56:16 +01:00
Geza Lore
a09f7713ce
Fix race in t_interface_virtual_sched_ico
2023-12-06 16:32:22 +00:00
Geza Lore
f3bace10ae
Improve V3Premit performance etc. ( #4736 )
...
- Enable creating constant pool entries for RHS of simple
var = const assignments
- Never extract ArraySel (it's just pointer arithmetic)
- Remove unnecessary AstTraceInc precond child tree
- Always fully recurse expressions (fix transplanted from #4617 )
- General cleanup
Overall the patch is performance neutral to slightly positive, but saves
~10% peak Verialtor memory usage due to not creating temporaries (which
are later expanded) for any ArraySels.
2023-12-06 09:42:46 -05:00
Ryszard Rozak
eb2cfe1d19
Support parameterized virtual interaces ( #4047 ) ( #4743 )
2023-12-06 08:02:04 -05:00
Ryszard Rozak
ca5a7d7656
Add class name in the error msg about calling 'new' on virtual class ( #4739 )
2023-12-05 16:31:59 +01:00
Krzysztof Bieganski
ea2084392f
Support --timing triggers for virtual interfaces ( #4673 )
2023-12-04 22:11:07 -05:00
Wilson Snyder
fc9b66b078
Tests: Fix t_assigndly_dynamic_notiming_bad to survive new dead code elimination
2023-12-02 15:57:38 -05:00
Wilson Snyder
f039a94744
Tests: Add _bad to some negative tests.
2023-12-02 09:48:06 -05:00
Wilson Snyder
b4baa7ce02
Internals: Avoid extranious base class calls in recent commit.
2023-12-01 19:05:21 -05:00
Krzysztof Boroński
bd38c8fe3c
Fix # 0 delays for process resumption, etc. ( #4697 )
2023-12-01 13:08:58 -05:00
Todd Strader
9a0748d8ed
vpi_iterate packages with vpiInstance ( #4726 )
2023-12-01 07:34:09 -05:00
Ryszard Rozak
d1ee9827a0
Fix block names of nested do..while loops ( #4728 )
2023-11-30 14:32:12 +01:00
Todd Strader
1fe591ae20
fix --rrsim ( #4725 )
2023-11-30 07:15:12 -05:00
Krzysztof Bieganski
b820e1b587
Support `iff` in sensitivity list ( #1482 ) ( #4626 )
...
Adds a new field to `AstSenItem` that stores the `iff` condition which is then handled by `SenExprBuilder`.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-11-29 19:10:32 +01:00
Ryszard Rozak
ebfc2a4942
Fix parameter passing to ports ( #4723 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-11-29 17:07:23 +00:00
Wilson Snyder
7167d4bdc0
Fix shift of > 32-bit number ( #4719 ).
2023-11-27 21:41:32 -05:00
Wilson Snyder
a022b672a0
Fix 0**0 with wide numbers ( #4721 ).
2023-11-26 17:11:22 -05:00
Jinyan Xu
4650105d90
Fix conflicted namespace for coroutines ( #4701 ) ( #4707 )
2023-11-20 21:02:10 -05:00
Krzysztof Bieganski
b8417abee5
Fix dynamic NBAs with automatic vars ( #4696 )
...
This patch addresses two issues with NBAs in non-inlined functions/tasks:
- If the NBA writes to a local automatic var, the var could cease to exist before the NBA executes. This is normally addressed by fork dynscopes (#4356 ), but NBA-to-fork transformation happens way after `V3Fork` (in `V3Timing`). To solve this, we put NBAs that write to locals under forks in `V3Fork` already. This way, such locals will be put in dynscopes, and will still exist after the task containing the NBA exits.
- The above change means that any writes in forks other than `fork..join` should be handled by `V3Fork`. Thus, in `V3SchedTiming`, we only have to worry about read references, so we can simply copy all remaining locals. Because we copy, lifetimes are not an issue. This fixes a bug that allowed assignment intravals to be overwritten if they go out of scope in the containing function.
2023-11-16 11:21:23 +01:00
Krzysztof Boroński
cc982ec7fe
Fix range access to fields under classes that depend on parameter resolution ( #4681 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-11-15 14:24:41 +01:00
Ryszard Rozak
2dba76a7c2
Fix access type of function arguments ( #4692 ) ( #4694 )
2023-11-14 17:02:13 -05:00
Geza Lore
b07ffb3c78
Cleanup V3Gate ( #4667 ) ( #4685 )
...
Lot of redundant/dead/obsolete code here. NFCI, but contains some minor
bug fixes.
2023-11-12 15:29:25 +00:00
Wilson Snyder
671a857560
Fix compiler warning on 'wait' with non-zero constant.
2023-11-12 08:44:55 -05:00
Wilson Snyder
eff2d977c1
Fix mis-elimination of variables across randomize()
2023-11-12 07:32:08 -05:00
Wilson Snyder
9d7f5bdc26
Internals: Dump CFunc entry points.
2023-11-11 20:34:51 -05:00
Wilson Snyder
99dbd23f1b
Support passing constraints to --xml-only output (still otherwise unsupported) ( #4683 )
2023-11-11 20:20:37 -05:00
Wilson Snyder
4103925835
Commentary: add docs/README.rst
2023-11-11 17:19:27 -05:00
Wilson Snyder
cad2780219
Fix display with no % printing assoc array ( #4376 ).
2023-11-11 15:28:44 -05:00
Wilson Snyder
706534ffe1
Fix 'for' loop with outside variable reference ( #4660 ).
2023-11-11 14:47:54 -05:00
Wilson Snyder
9a0254a118
Optimize timing-delayed queue ( #4584 ). ( #4669 )
2023-11-11 10:04:10 -05:00
Wilson Snyder
f3ae4b8786
Fix spelling
2023-11-10 23:25:53 -05:00
Marlon James
5ba7084815
Fix VPI TOP level variable iteration ( #3919 ) ( #4618 )
2023-11-07 07:47:55 -05:00
Geza Lore
dc346b7ffa
Remove deprecated options ( #4663 )
2023-11-04 17:28:36 +00:00
Anthony Donlon
88fcbf5f1d
Fix interface parameters used in loop generate constructs ( #4664 ) ( #4665 )
2023-11-04 13:19:35 -04:00
Anthony Donlon
d0d39c13e7
Fix linking parameterized hierarchical blocks and recursive hierarchical blocks ( #4654 )
2023-11-03 07:55:53 -04:00
Anthony Donlon
2733d43ea7
Fix identifiers that end with '_' on Windows ( #4655 )
2023-11-02 17:53:52 -04:00
Ryszard Rozak
a764c70b4a
Fix handling of static keyword in methods ( #4649 )
2023-10-31 08:15:54 -04:00
Krzysztof Bieganski
f789d28277
Fix signals read via virtual iface optimized out ( #4645 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-10-30 21:26:46 -04:00
Wilson Snyder
3c6b755352
Tests: Rename t_opt_dead
2023-10-29 09:42:52 -04:00
Geza Lore
de4c6065dc
make: add test-snap/test-diff targets ( #4635 )
2023-10-28 15:58:29 +01:00
Geza Lore
d8420413b7
test: fix FST trace file names
2023-10-28 10:40:07 +01:00
Geza Lore
a5951babfc
test: make output deterministic
2023-10-28 10:36:30 +01:00
Geza Lore
2cba167634
Make eval loop construction more unified and the output more readable
2023-10-28 08:48:04 +01:00
Ryszard Rozak
e6135981a5
Fix dynamic casts of null values ( #4631 )
2023-10-27 15:58:40 +02:00
Ryszard Rozak
64af83161a
Fix rand fields of reference types ( #4627 )
2023-10-26 17:17:23 -04:00
Chih-Mao Chen
98252634fc
Include systemc instead of systemc.h in model header files ( #4622 ) ( #4623 )
...
This may require that SystemC programs add:
using namespace sc_core;
using namespace sc_dt;
2023-10-26 14:36:18 -04:00
Krzysztof Boroński
a87fb57656
Allow assigning events ( #4403 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-10-26 16:38:47 +02:00
Krzysztof Boroński
f91259f46d
Fix insertion at queue's end ( #4619 )
...
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2023-10-25 17:41:28 +02:00
Marlon James
cf6e362972
Support VPI variables of real and string data types ( #4594 )
2023-10-24 20:46:20 -04:00
Geza Lore
95c4ade718
Unify code generation for trace declarations in both trace formats ( #4612 )
...
This patch adds some abstract enums to pass to the trace decl* APIs, so
the VCD/FST specific code can be kept in verilated_{vcd,fst}_*.cc, and
removed from V3Emit*. It also reworks the generation of the trace init
functions (those that call 'decl*' for the signals) such that the scope
hierarchy is traversed precisely once during initialization, which
simplifies the FST writer. This later change also has the side effect of
fixing tracing of nested interfaces when traced via an interface
reference - see the change in the expected t_interface_ref_trace - which
previously were missed.
2023-10-24 16:33:29 +01:00
Ryszard Rozak
84125d7c92
Fix virtual methods ( #4616 )
2023-10-24 15:51:46 +02:00
Ryszard Rozak
774c10396c
Fix try_put method of unbounded mailbox ( #4608 )
2023-10-23 14:33:22 +02:00
Geza Lore
82565690c7
test driver.pl: don't redirect to STDOUT of interactive GDB
2023-10-22 00:56:10 +01:00
Geza Lore
d330100542
Create implicit nets for inputs of gate primitives.
...
Prior to this we failed to create implicit nets for inputs of gate
primitives, which is required by the standard (IEEE 1800-2017 6.10).
Note: outputs were covered due to being modeled as the LHS of
assignments, which do create implicit nets.
2023-10-21 22:45:26 +01:00
Geza Lore
4c0edd2efb
Improve --prof-exec infrastructure and report
...
Again --prof-exec have bit-rotted a little with all the recent changes
to the structure of the generated code. This patch contains a few
improvements:
- Repalce the eval/evl_loop begin/end events with generic
section_push/section_pop events, that can be arbitrarily sprinkled
into the generate code (so long as they are matched correctly) to
measure various sections. The report then contains a nested profile
of the sections, and the VCD trace shows the section names.
- Better handling of exec graphs
- Clearer overall statistics
2023-10-21 21:09:03 +01:00
Geza Lore
52f2b9ef58
Remove pointless test
...
t_optm_if_cond was a test for a then non-existent optimization to merge
conditionals. V3MergeCond implements this and has its own tests.
2023-10-21 20:41:46 +01:00
Geza Lore
a09506a0ad
Trivial simplification of V3EmitCModel
...
Still some remains of the --threads 0 mode. Remove unnecessary complexity
from V3EmitCModel. (Also don't pretend there is an MTask in single
threaded mode, when there really isn't.)
2023-10-21 20:41:46 +01:00
Geza Lore
b78ea06829
Make VL_LOCK_SPINS configurable
...
It's unlikely one value fits all use case, so making VL_LOCK_SPINS
configurable at model build time.
For testing, we reduce the value as we expect high contention.
2023-10-21 18:05:53 +01:00
Geza Lore
cbc2f9eb32
Do not overwrite LD_LIBRARY_PATH in t_flag_ldflags
2023-10-21 11:34:36 +01:00
Wilson Snyder
f8b7fb72b8
Fix fault on empty clocking block ( #4593 ).
2023-10-21 02:40:08 -04:00
Krzysztof Bieganski
7b12f6a1dd
Support NBAs in non-inlined functions/tasks ( #4496 ) ( #4572 )
2023-10-20 20:01:45 -04:00
Aleksander Kiryk
83a0085c4d
Support `wait fork` ( #4586 )
2023-10-20 07:13:57 -04:00
Wilson Snyder
05bb7fa821
Tests: Use UVM with UVM_NO_DPI defined
2023-10-20 02:37:11 -04:00
Wilson Snyder
a773a52559
Cleanup some IEEE references
2023-10-19 19:26:36 -04:00
Wilson Snyder
5af271cf3a
Fix display optimization ignoring side effects ( #4585 ).
2023-10-19 18:33:58 -04:00
Wilson Snyder
0c2bab1f69
Fix method narrowing conversion compiler error ( #4568 ).
2023-10-18 17:51:25 -04:00
Krzysztof Bieganski
8720841c48
Fix to not remap local assign intravals in forks ( #4583 )
2023-10-18 16:49:20 -04:00
Wilson Snyder
493f1da266
Fix compile warning on unused member function variable ( #4567 ).
2023-10-18 08:09:54 -04:00
Wilson Snyder
8b44a54bb2
Support Verilated precompiled header compilations ( #4580 )
2023-10-18 08:08:15 -04:00
Wilson Snyder
13989b965d
Tests: Add --binary with split, to check parallel builds
2023-10-17 23:13:04 -04:00
Ryszard Rozak
3bb9c7ee92
Fix dictionaries with keys of class types ( #4576 )
2023-10-17 17:15:24 +02:00
Ryszard Rozak
45edcbb03e
Fix logical expressions with class objects - caching in v3Const ( #4552 )
2023-10-17 07:38:45 -04:00
Krzysztof Bieganski
99ea16d7fd
Fix dynamic triggers for named events ( #4571 )
2023-10-16 11:06:41 -04:00
Krzysztof Bieganski
bc9ff6d1bf
Fix interface comparison ( #4570 )
2023-10-16 11:05:39 -04:00
Aleksander Kiryk
ad3bcbb1bb
Support `disable fork` ( #4125 ) ( #4569 )
2023-10-16 14:02:29 +02:00
Anthony Donlon
4fdaa46328
Fix using functions/tasks following class definition inside module ( #4553 )
2023-10-15 13:01:32 -04:00
Anthony Donlon
4427f03b08
Fix error message for invalid parameter overrides ( #4559 )
2023-10-15 12:59:36 -04:00
Yutetsu TAKATSUKASA
4e2c63c8cb
Support concatenation of unpacked arrays ( #4558 )
2023-10-15 12:53:35 -04:00
Wilson Snyder
c14eae6d56
Add SIDEEFFECT warning on mishandled side effect cases ( #487 partial)
2023-10-15 06:44:35 -04:00
Wilson Snyder
46f8a659b3
Fix shift to remove operation side effects ( #4563 ).
2023-10-14 22:34:37 -04:00
Wilson Snyder
b5a6b34968
Tests: Remove old hack from before unpacked structs
2023-10-14 22:23:58 -04:00
Wilson Snyder
7eb09c3445
Fix instance arrays connecting to array of structs ( #4557 ).
2023-10-14 15:19:19 -04:00
Varun Koyyalagunta
edfd3d7206
Fix large constant buffer overflow ( #4556 )
2023-10-13 07:08:58 +09:00
Wilson Snyder
1fd8e772b0
Fix loss of warning source content with `line enter (due to earlier commit 472ad90d83).
2023-10-10 20:40:21 -04:00
Anthony Donlon
7ce0bd1181
Fix broken link error for enum references ( #4551 )
2023-10-10 17:55:40 -04:00
Wilson Snyder
b306715b4a
Optimize empty expression statements ( #4544 ).
2023-10-09 05:50:31 -04:00
Wilson Snyder
472ad90d83
Change lint_off to not propagate upwards to files including where the lint_off is.
2023-10-09 04:12:01 -04:00
Wilson Snyder
622f0c047c
Fix reporting `line at wrong spot. Rework some internal fileline parsing functions.
2023-10-08 20:38:45 -04:00
Wilson Snyder
1d3d59243c
Fix preprocessor to show `line 2 on resumed file per IEEE.
2023-10-07 14:29:46 -04:00
Wilson Snyder
0e0df1fb3b
Fix enum functions in localparams ( #3999 ).
2023-10-06 22:38:46 -04:00
Wilson Snyder
800a789f50
Fix inlining of real functions miscasting ( #4543 ).
2023-10-06 21:33:31 -04:00
Ryszard Rozak
1c738c6b83
Fix object destruction after a copy constructor ( #4540 ) ( #4541 )
2023-10-05 07:21:33 -04:00
Wilson Snyder
537650a2cd
Fix stream of 32 bit ( #4536 ).
2023-10-03 22:10:50 -04:00
Todd Strader
f849073137
Fix non-inlined interface tracing ( #3984 ) ( #4530 )
2023-10-03 19:55:25 -04:00
Ryszard Rozak
a3c154dcd3
Fix this in a constructor ( #4533 )
2023-10-03 14:32:18 +02:00
Ryszard Rozak
1b8228b642
Fix stream operations with operands of struct type ( #4531 ) ( #4532 )
2023-10-03 07:23:20 -04:00
Wilson Snyder
732d03f4e5
Fix conversion of integers in $display %e ( #4528 ).
2023-10-01 13:00:16 -04:00
Wilson Snyder
e49ae663a6
Fix constification of $realtobits, $bitstoreal ( #4522 ).
2023-09-28 22:45:00 -04:00
Wilson Snyder
2385ab8294
Tests: randc now supported
2023-09-26 22:53:25 -04:00
Wilson Snyder
ad343f8260
Add warning on interface instantiation without parens ( #4094 ).
2023-09-26 22:15:48 -04:00
Wilson Snyder
018d766179
Fix clang error ( #4462 )
2023-09-26 21:07:43 -04:00
Justin Thiel
a948be184c
Tests: Add t_interface_localparam_unsup ( #3857 partial) ( #3858 )
2023-09-26 20:35:23 -04:00
Wilson Snyder
36c824d973
Add trace() API even when Verilated without --trace ( #4462 ).
2023-09-26 18:37:50 -04:00
Anthony Donlon
229ce1aecf
Fix handling input file path separator ( #4515 ) ( #4516 )
2023-09-26 15:42:15 -04:00
Anthony Donlon
be45a9b7d5
Style: Update clang-format config to make formatted code consistent between versions. No functional change ( #4520 )
2023-09-26 15:05:57 -04:00
Anthony Donlon
60e9827ffe
Support converting parameters inside modules to localparams ( #4511 )
2023-09-25 11:39:04 -04:00
Anthony Donlon
750b5be5d3
Remove support for parameterized UDPs ( #4518 )
2023-09-25 10:40:44 -04:00