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
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
0da7ecf753
Commentary: Changes update
2024-04-30 07:37:06 -04:00
Wilson Snyder
5d54fa8e6f
Fix missing parameters with comma to be errors ( #4979 ) ( #5012 ).
2024-04-29 22:41:16 -04:00
Wilson Snyder
4f3a816fb0
Fix false ASSIGNIN on functions with explicit port map ( #5069 ).
2024-04-26 19:26:21 -04:00
Wilson Snyder
26a5729514
Add CITATION.cff ( #5057 ) ( #5058 ).
2024-04-19 20:33:11 -04:00
Wilson Snyder
1315aa31ed
Commentary
2024-04-13 08:18:45 -04:00
Wilson Snyder
5d8da6b4ac
Fix width extension on delays ( #5045 ).
2024-04-13 08:16:59 -04:00
Wilson Snyder
aac2563a07
Commentary: Changes update
2024-04-13 08:03:57 -04:00
Wilson Snyder
1012c054e6
Fix `$system` with string argument ( #5042 ).
2024-04-11 17:31:14 -04:00
Wilson Snyder
33e999e01a
devel release
2024-04-05 06:23:30 -04:00
Wilson Snyder
522bead374
Version bump
2024-04-05 05:52:00 -04:00
Wilson Snyder
030286142f
Commentary: Changes update
2024-04-04 22:11:33 -04:00
Wilson Snyder
28718f964a
Fix tracing replicated hierarchical models ( #5027 ) ( #5029 )
2024-03-30 16:00:52 -04:00
Wilson Snyder
39ee522f92
Commentary: Changes update
2024-03-28 08:22:15 -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
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
f767f0cfaa
Commentary
2024-03-22 19:35:13 -04:00
Wilson Snyder
248573205b
Commentary: Changes update
2024-03-20 18:27:35 -04:00
Wilson Snyder
93e5ca3f6d
Fix class type as an associative array parameter ( #4997 ).
2024-03-18 20:44:18 -04:00
Wilson Snyder
0262819c20
Fix object assignment from conditionals ( #4968 ).
2024-03-16 09:12:18 -04:00
Wilson Snyder
e82c9db6da
Fix unpacked structure upper bit cleaning ( #4978 ).
2024-03-15 21:56:24 -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
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
Wilson Snyder
3d57256070
Commentary: Changes update
2024-03-04 08:22:36 -05:00
Wilson Snyder
0fbd4313b2
Fix __Vlip undefined error in --freloop ( #4824 ).
2024-03-03 11:10:46 -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
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
a4813ec677
Add warning on TOP-named modules ( #4935 ).
2024-03-01 17:28:12 -05:00
Wilson Snyder
42041f2403
Fix invalid cast on string structure creation ( #4921 ).
2024-02-25 08:19:53 -05:00
Wilson Snyder
881c6ee655
devel release
2024-02-24 07:52:19 -05:00
Wilson Snyder
d8b2993974
Version bump
2024-02-24 07:39:16 -05:00
Wilson Snyder
30e711aa5c
Commentary: Changes update
2024-02-23 11:49:42 -05:00
Wilson Snyder
2162a31d3a
Commentary: Changes update
2024-02-22 03:57:56 -05:00
Wilson Snyder
a187a16e56
Commentary: Changes update
2024-02-13 21:47:09 -05:00
Szymon Gizler
d667b73e8d
Add --json-only and related JSON dumping ( #4715 ) ( #4831 ).
2024-02-09 17:50:09 -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
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
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
9ccef4180f
Fix $fwrite of null ( #4862 ).
2024-01-28 09:05:50 -05:00
Wilson Snyder
3bf896f7db
Commentary: Changes update
2024-01-28 09:04:29 -05: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
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
21e85f87bc
Fix compilation error on multi-inherited interface class usage ( #4819 ).
2024-01-23 19:36:11 -05:00
Wilson Snyder
e3f3e3399f
Commentary: Changes update
2024-01-21 13:50:27 -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
27d906a6b3
Commentary: Changes update
2024-01-12 08:20:53 -05:00
Wilson Snyder
21bf2d62d2
Fix mis-splitting of dump control functions ( #4821 ).
2024-01-12 08:19:30 -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
5294140753
Fix delays using wrong timeunits when modules inlined ( #4806 ).
2024-01-05 18:07:24 -05:00
Wilson Snyder
3eaed3b6f5
Remove deprecated 32-bit pointer mode ( #4791 ).
2024-01-01 10:16:48 -05:00
Wilson Snyder
22de598456
devel release
2024-01-01 03:46:48 -05:00
Wilson Snyder
5c5314b39c
Version bump
2024-01-01 03:42:12 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Wilson Snyder
4655ee014b
Fix max multiply width. ( #4781 )
2023-12-31 11:42:06 -05:00
Wilson Snyder
12f0017d4a
Commentary: Changes update
2023-12-31 11:35:11 -05:00
Wilson Snyder
17b6ce1379
Commentary: Changes update
2023-12-27 10:15:29 -05:00
Wilson Snyder
1a43afe6f7
Fix $finish twice to no longer exit ( #4757 ).
2023-12-24 11:02:52 -05:00
Wilson Snyder
55ad950609
Fix power operator with wide numbers and constants ( #4721 ) ( #4763 )
2023-12-19 19:22:54 -05:00
Wilson Snyder
f571181d36
Commentary: Changes update
2023-12-02 16:48:33 -05: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
Wilson Snyder
b15ef49c57
Fix compilers seeing empty input due to file system races ( #4708 ).
2023-11-21 21:22:35 -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
673f086e87
Commentary: Update contributors.
2023-11-11 18:49:51 -05:00
Wilson Snyder
cad2780219
Fix display with no % printing assoc array ( #4376 ).
2023-11-11 15:28:44 -05:00
Wilson Snyder
a64bdf50fb
Commentary
2023-11-11 14:48:51 -05:00
Wilson Snyder
706534ffe1
Fix 'for' loop with outside variable reference ( #4660 ).
2023-11-11 14:47:54 -05:00
Wilson Snyder
4286af3599
Commentary: Changes update
2023-11-11 10:38:37 -05:00
Wilson Snyder
9a0254a118
Optimize timing-delayed queue ( #4584 ). ( #4669 )
2023-11-11 10:04:10 -05:00
Wilson Snyder
839315b271
devel release
2023-10-31 19:53:03 -04:00
Wilson Snyder
67dfa37c56
Version bump
2023-10-31 19:50:01 -04:00
Wilson Snyder
590188820d
Commentary: Changes update
2023-10-31 19:49:40 -04:00
Wilson Snyder
c241ec90ec
Commentary: Changes update
2023-10-30 22:10:03 -04:00
Wilson Snyder
f8b7fb72b8
Fix fault on empty clocking block ( #4593 ).
2023-10-21 02:40:08 -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
Wilson Snyder
493f1da266
Fix compile warning on unused member function variable ( #4567 ).
2023-10-18 08:09:54 -04:00
Wilson Snyder
431bb1ed16
Support compiling Verilator with gcc/clang precompiled headers ( #4579 )
2023-10-17 22:49:28 -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
7eb09c3445
Fix instance arrays connecting to array of structs ( #4557 ).
2023-10-14 15:19:19 -04:00
Wilson Snyder
d699caf255
Revert fix Verilated Makefile to get CXX etc. from environment ( #4549 ) ( #4554 ).
2023-10-12 04:22:58 -04:00
Wilson Snyder
bd4eede6b4
Commentary: Changes update
2023-10-10 20:43:32 -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
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
Wilson Snyder
25fa1d7c6a
Commentary: Changes update
2023-10-04 20:17:14 -04:00
Wilson Snyder
537650a2cd
Fix stream of 32 bit ( #4536 ).
2023-10-03 22:10:50 -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
ad343f8260
Add warning on interface instantiation without parens ( #4094 ).
2023-09-26 22:15:48 -04:00
Wilson Snyder
36c824d973
Add trace() API even when Verilated without --trace ( #4462 ).
2023-09-26 18:37:50 -04:00
Wilson Snyder
24ff3155ae
Support randc ( #4349 ).
2023-09-18 21:17:21 -04:00
Wilson Snyder
ab13548018
Support resizing function call inout arguments ( #4467 ).
2023-09-17 18:23:44 -04:00
Wilson Snyder
cd1fe64e6c
devel release
2023-09-16 21:46:01 -04:00
Wilson Snyder
cef3960a4e
Version bump
2023-09-16 18:36:39 -04:00
Wilson Snyder
8bd1c63b32
Support function non-constant default arguments ( #4470 ).
2023-09-16 17:37:25 -04:00
Wilson Snyder
e6fb7e970d
Fix recursive display causing segfault ( #4480 ).
2023-09-16 10:10:21 -04:00
Wilson Snyder
891cc0f9b6
Fix t_dist_cppstyle Perl performance issue ( #4085 ).
2023-09-16 09:22:12 -04:00
Wilson Snyder
10fbe74cef
Commentary: Changes update
2023-09-15 23:25:28 -04:00
Wilson Snyder
19f7279542
Fix false INFINITELOOP on forever..mailbox.get() ( #4323 ).
2023-09-15 22:05:55 -04:00
Wilson Snyder
aa608472ae
Support recursive function calls ( #3267 ).
2023-09-15 20:46:31 -04:00
Wilson Snyder
d840c612d4
Fix IGNOREDRETURN to not warn on void-cast static function calls.
2023-09-15 19:01:11 -04:00
Wilson Snyder
10c1653e72
Fix ZERODLY to not warn on 'wait(0)'.
2023-09-15 08:53:29 -04:00
Wilson Snyder
6e589377f4
Fix reference to extended class in parameterized class ( #4466 ).
2023-09-14 20:07:49 -04:00
Wilson Snyder
839a8fa4d9
Fix error on enum with VARHIDDEN of cell ( #4482 ).
2023-09-12 17:47:57 -04:00
Wilson Snyder
11b5dae88d
Support let
2023-09-07 21:45:51 -04:00
Wilson Snyder
c8c980c49d
Fix mis-warning on #() in classes' own functions.
2023-09-02 08:33:56 -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
Wilson Snyder
2a30bbe493
Fix internal error on real conversion ( #4447 ).
2023-08-29 18:07:23 -04:00
Wilson Snyder
77bd565ef6
Commentary: Changes update
2023-08-25 08:28:26 -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
Wilson Snyder
af3aba7821
Commentary: Changes update
2023-08-19 04:56:49 -04:00
Wilson Snyder
5447ed2629
Fix multple function definitions in V3Sched ( #4416 ).
2023-08-12 10:41:44 -04:00
Wilson Snyder
b1c1aa53a9
devel release
2023-08-06 10:53:16 -04:00
Wilson Snyder
f79749e7b2
Version bump
2023-08-06 10:39:35 -04:00
Wilson Snyder
817ade27fb
Commentary: Changes update
2023-08-05 03:18:00 -04:00
Wilson Snyder
a5eccc199b
Commentary: Changes update
2023-07-27 04:01:28 -04:00
Wilson Snyder
3c964147be
Add MISINDENT lint warning for misleading indentation.
2023-07-01 10:45:25 -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
Wilson Snyder
8b1cc3b303
Commentary: Changes update
2023-07-01 07:35:58 -04:00
Wilson Snyder
63b2dbb827
Fix error when multiple duplicate DPI exports ( #4301 ).
2023-06-20 06:26:46 -04:00
Wilson Snyder
e7de3d368f
Commentary: Deprecation planned for 32-bit pointer -m32 mode ( #4268 ).
2023-06-17 08:44:13 -04:00
Wilson Snyder
9dbc669199
devel release
2023-06-13 19:39:50 -04:00
Wilson Snyder
7d2d32420a
Version bump
2023-06-13 19:31:57 -04:00
Wilson Snyder
e08bbcdb07
Commentary
2023-06-12 21:59:52 -04:00
Wilson Snyder
2488af9066
Commentary: Changes update
2023-06-12 20:38:33 -04:00
Wilson Snyder
e9135598b3
Fix method calls on function return values.
2023-05-29 18:51:27 -04:00
Wilson Snyder
7f12ad9d91
Commentary: Changes update
2023-05-27 07:17:37 -04:00
Wilson Snyder
5efe9367d2
Fix SystemC signal copy macro use ( #4135 ).
2023-05-27 07:00:26 -04:00
Wilson Snyder
426069a4dd
Configure for faster C++ linking using 'mold', if it is installed.
2023-05-23 21:26:29 -04:00
Wilson Snyder
5982528274
Fix duplicate std:: declaration with -I ( #4215 ).
2023-05-22 20:32:20 -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
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
3250ee5707
Commentary: Changes update
2023-05-05 20:24:45 -04:00
Wilson Snyder
3e986517c3
devel release
2023-04-30 07:10:14 -04:00
Wilson Snyder
5d3a9eec7f
Version bump
2023-04-30 07:08:27 -04:00
Wilson Snyder
e15f5266a3
Commentary: Changes update
2023-04-29 22:16:53 -04: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
Wilson Snyder
cbeb9d39ff
Fix -CFLAGS to allow overriding optimization levels ( #4140 ).
2023-04-23 10:18:48 -04:00
Geza Lore
cac634d39b
Fix DfgToAst conversion of CountBits ( #4101 ) ( #4143 )
2023-04-23 08:49:44 -04:00
Wilson Snyder
0307d59c1f
Fix unpacked structs under classes ( #4102 ).
2023-04-10 19:40:34 -04:00
Wilson Snyder
2ab34b5eeb
Fix false error on new const assignment ( #4098 ).
2023-04-09 19:46:47 -04:00
Wilson Snyder
d67d75282c
Support ++/-- on dotted member variables.
2023-04-07 20:57:17 -04:00
Wilson Snyder
38000a3da0
Fix unnecessary verilated_std.sv waivers in --waiver-output.
2023-04-06 21:43:23 -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
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Wilson Snyder
947402bc57
Fix interface generate begin ( #4065 ).
2023-03-26 08:49:38 -04:00
Wilson Snyder
577e0700ba
Commentary: Changes update
2023-03-21 04:52:12 -04:00
Jesse Taube
daf157e6c0
Fix false LATCH warning on --assert 'unique else if' ( #4033 ) ( #4054 ).
2023-03-21 04:42:19 -04:00
Wilson Snyder
2b21697b86
Support class extends of package::class.
2023-03-18 17:26:36 -04:00
Wilson Snyder
5f02f95ce6
Commentary ( #3906 ) ( #3931 )
2023-03-18 15:49:11 -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
ed1e377bb1
Fix large return blocks with --comp-limit-blocks ( #4028 ).
2023-03-16 21:40:01 -04:00
Wilson Snyder
51ba4a1531
Fix clocking block scope internal error ( #4032 ).
2023-03-16 20:48:18 -04:00
Wilson Snyder
8f4d4f07a4
Commentary
2023-03-16 07:09:16 -04:00
Wilson Snyder
8ae79066a2
Fix false ENUMVALUE on expressions and arrays.
2023-03-15 21:56:35 -04:00
Wilson Snyder
a8ce272e4a
Commentary: spelling
2023-03-14 08:39:54 -04: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
ba953bfa94
Commentary: Changes update
2023-03-12 10:49:19 -04:00
Wilson Snyder
1debd0405b
Support complicated IEEE 'for' assignments.
2023-03-12 10:46:40 -04:00
Wilson Snyder
259201b352
Support $fopen as an expression
2023-03-11 18:11:01 -05:00
Wilson Snyder
a1d4cd658e
devel release
2023-03-04 11:31:58 -05:00
Wilson Snyder
21093fd1bd
Version bump
2023-03-04 11:19:44 -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
a85e6a9d8c
Commentary: Changes update
2023-03-01 22:43:39 -05:00
Wilson Snyder
326a60d307
Add error on mixing .name and by-port instantiations.
2023-03-01 21:19:21 -05:00
Wilson Snyder
b1a95f642f
Support cast to numbers from strings.
2023-02-28 23:34:33 -05:00
Wilson Snyder
c03affa544
Fix enum.next(0) and enum.prev(0).
2023-02-26 15:24:24 -05:00
Wilson Snyder
7559af5879
Fix missing error on negative replicate ( #3963 ).
2023-02-22 19:11:02 -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
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
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
2bb2935924
Commentary: Changes update
2023-02-11 10:38:00 -05:00
Wilson Snyder
b778784333
Add --annotate-points option, change multipoint on line reporting ( #3876 ).
2023-02-08 20:22:54 -05:00
Wilson Snyder
cf88700fc2
Fix virus detection false positive ( #3944 ).
2023-02-08 18:44:07 -05:00
Wilson Snyder
1607225063
Fix VPI upper interface scopes not found ( #3937 ).
2023-02-05 16:16:39 -05:00
Wilson Snyder
f6d4f1ad02
Fix very long VPI signal names ( #3929 ).
2023-02-02 19:10:23 -05:00
Wilson Snyder
ef9f443532
Fix single-element replication to dynarray/unpacked/queue ( #3548 ).
2023-01-31 22:43:41 -05:00
Wilson Snyder
aea1834ed8
Commentary ( #3920 )
2023-01-31 12:11:35 -05:00
Wilson Snyder
6a12c4d02a
Commentary: Changes update
2023-01-29 16:57:30 -05:00
Wilson Snyder
6a7dfb7696
Fix pattern assignment to unpacked structs ( #3510 ).
2023-01-29 16:50:10 -05:00
Wilson Snyder
a19dddf05e
Fix real parameters of infinity and NaN.
2023-01-28 22:11:09 -05:00
Wilson Snyder
248bd173d3
Support interface classes and class implements.
2023-01-28 18:06:37 -05:00
Wilson Snyder
f20997a2f0
Support global clocking and $global_clock.
2023-01-28 12:31:52 -05:00
Wilson Snyder
93517b8378
Support unpacked unions.
2023-01-27 22:41:12 -05:00
Wilson Snyder
665758a68b
devel release
2023-01-22 11:55:22 -05:00
Wilson Snyder
5b8941d717
Version bump
2023-01-22 11:52:21 -05:00
Wilson Snyder
5cd3d831bb
Commentary: Changes update
2023-01-22 08:59:06 -05:00
Wilson Snyder
c2bdd06fcc
Fix VPI one-time timed callbacks ( #2778 ).
2023-01-21 13:43:27 -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
Wilson Snyder
5fce23e90d
Fix empty case items crash ( #3851 ).
2023-01-10 07:18:12 -05:00
Wilson Snyder
30f6831be6
Commentary: Changes update
2023-01-07 14:54:12 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
3ccb2e0f2d
Fix initiation of function variables ( #3815 ).
2022-12-23 10:51:52 -05:00
Wilson Snyder
71d29a235f
Commentary: Changes update
2022-12-20 19:51:17 -05:00
Wilson Snyder
bae60ab8ea
devel release
2022-12-14 22:08:39 -05:00
Wilson Snyder
4cefccf5d2
Version bump
2022-12-14 21:59:58 -05:00
Wilson Snyder
01b521a0ea
Commentary: Changes update
2022-12-11 15:10:23 -05:00
Wilson Snyder
afc66f6a85
Fix make jobserver with submakes ( #3758 ).
2022-12-11 14:19:40 -05:00
Wilson Snyder
722e38f532
Commentary, part of last commit ( #3783 )
2022-12-11 13:30:00 -05:00
Wilson Snyder
3f4d4dec77
Fix ENUMVALUE on typedef ( #3777 )
2022-12-11 11:50:22 -05:00
Wilson Snyder
a0e7930036
docs: Fix spelling
2022-12-09 22:39:41 -05:00
Wilson Snyder
e465a30eee
Fix lint_off EOFNEWLINE in .vlt files ( #3796 ).
2022-12-01 18:27:36 -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
8ff607f679
Deprecate verilated_fst_sc.cpp and verilated_vcd_sc.cpp ( #3507 )
2022-11-29 22:17:50 -05:00
Wilson Snyder
f4be3d5d2b
Fix empty string literals converting to string types ( #3774 ).
2022-11-27 13:28:57 -05:00
Wilson Snyder
aacb38b776
Support assignment expressions.
2022-11-19 15:23:37 -05:00
Wilson Snyder
3c77c7bb92
Support and
2022-11-16 21:10:54 -05:00
Wilson Snyder
c6ecd60993
Support pre_randomize and post_randomize.
2022-11-13 11:59:40 -05:00
Wilson Snyder
d25834e57b
Add ENUMVALUE warning when value misused for enum ( #726 ).
2022-11-12 20:11:05 -05:00
Wilson Snyder
0a045a7bf6
Change ENDLABEL from warning into an error.
2022-11-12 12:09:48 -05:00
Wilson Snyder
a427860825
Support randcase.
2022-11-11 21:53:05 -05:00
Wilson Snyder
227e61f891
Fix comparing ranged slices of unpacked arrays.
2022-11-11 18:01:30 -05:00
Wilson Snyder
9d7c4d9af3
Fix wait 0.
2022-11-11 17:18:59 -05:00
Wilson Snyder
16586d1d37
Fix tracing parameters overridden with -G ( #3723 ).
2022-11-10 20:30:10 -05:00
Wilson Snyder
e64295e92b
Fix missing UNUSED warnings with --coverage ( #3736 ).
2022-11-09 21:45:14 -05:00
Wilson Snyder
167f4ebbd4
Commentary: Changes update
2022-11-05 09:32:41 -04:00
Wilson Snyder
0b0b642241
devel release
2022-10-29 17:54:12 -04:00
Wilson Snyder
52d29d238c
Version bump
2022-10-29 17:45:54 -04:00
Wilson Snyder
5c658f8cd5
Fix width mismatch on inside operator ( #3714 ).
2022-10-28 06:38:49 -04:00
Wilson Snyder
5f9b0929b4
Commentary: Changes update
2022-10-27 21:35:09 -04:00
Wilson Snyder
4154584c4b
Commentary: Changes update
2022-10-21 20:04:07 -04:00
Wilson Snyder
a57a3579c0
Fix false LATCH warning on 'unique if' ( #3088 ).
2022-10-21 19:10:06 -04:00
Wilson Snyder
347e9b4ec8
Fix cell assigning integer array parameters ( #3299 ).
2022-10-21 18:26:39 -04: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
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
Wilson Snyder
cb7b024e8f
Commentary: Spelling, and add upgrade notes ( #3462 )
2022-10-16 11:10:41 -04:00
Wilson Snyder
b16b607b98
Commentary: Changes update
2022-10-15 11:04:03 -04:00
Wilson Snyder
732d5bea10
Commentary: Standard format for company contributions
2022-10-15 10:59:31 -04:00
Wilson Snyder
d9a0d0ade2
Commentary (fix earlier commit)
2022-10-15 10:57:46 -04:00
Wilson Snyder
14f58ed6c7
Add error on real edge event control.
2022-10-15 06:21:34 -04:00
Geza Lore
b2070a9407
Commentary: Mention DFG in changes
2022-10-12 10:21:02 +01:00
Wilson Snyder
880cac2fdd
Merge branch 'master' into develop-v5
2022-10-01 11:24:55 -04:00
Wilson Snyder
0b843ada03
devel release
2022-10-01 08:34:43 -04:00
Wilson Snyder
746c7ea8f7
Version bump
2022-10-01 08:28:27 -04:00
Wilson Snyder
fa4b10b4d9
Commentary: Changes update
2022-09-30 23:03:26 -04:00
Wilson Snyder
cd2a5771b8
Add --timing to --binary ( #3625 ).
2022-09-28 19:02:23 -04:00
Wilson Snyder
b92173bf3d
Add --binary option as alias of --main --exe --build ( #3625 ).
2022-09-28 09:04:33 -04:00
Wilson Snyder
d162619bd3
Merge branch 'master' into develop-v5
2022-09-20 20:06:21 -04:00
Wilson Snyder
fc4ffd454e
Rename --bin to --build-dep-bin.
2022-09-18 10:32:43 -04:00
Geza Lore
27031ed688
Merge branch 'master' into develop-v5
2022-09-15 10:28:35 +01:00
Wilson Snyder
75fd71d7e5
Add --main to generate main() C++ (previously was experimental only) ( #3265 ).
2022-09-14 20:18:40 -04:00
Wilson Snyder
9efd64ab98
Commentary
2022-09-14 20:13:28 -04:00
Wilson Snyder
7aa01625d8
Commentary: Changes update
2022-09-14 08:15:42 -04:00
Wilson Snyder
81fe35ee2e
Fix typedef'ed class conversion to boolean ( #3616 ).
2022-09-12 18:03:56 -04:00
Geza Lore
fd6275a62b
Merge branch 'master' into develop-v5
2022-09-05 17:03:43 +01:00
Geza Lore
d42a2d6494
Fix V3Gate crash on circular logic
...
The recent patch to defer substitutions on V3Gate crashes on circular
logic that has cycle length >= 3 with all inlineable signals (cycle
length 2 is detected correctly and is not inlined). Fix by stopping
recursion at the loop-back edge.
Fixes #3543
2022-09-02 19:58:58 +01:00
Wilson Snyder
849bb5590a
Merge branch 'master' into develop-v5
2022-08-31 19:51:07 -04:00
Wilson Snyder
8d0c06e570
devel release
2022-08-31 19:49:24 -04:00
Wilson Snyder
5b2fbf4f37
Version bump
2022-08-31 19:46:45 -04:00
Wilson Snyder
592dab2bdb
Commentary: Changes update
2022-08-31 19:27:43 -04:00
Wilson Snyder
51daa64e9a
Fix --hierarchical with order-based pin connections ( #3585 ).
2022-08-31 18:12:21 -04:00
Wilson Snyder
819e8741cc
Merge branch 'master' into develop-v5
2022-08-30 00:20:21 -04:00
Wilson Snyder
c335aad25f
Fix --hierarchical with order-based pin connections ( #3583 ).
2022-08-29 22:49:19 -04:00
Wilson Snyder
2358ced061
Rename tracing rolloverSize and add test ( #3570 ).
2022-08-28 08:25:02 -04:00
Geza Lore
5c356a4680
Merge branch 'master' into develop-v5
2022-08-22 14:32:06 +01:00
Krzysztof Bieganski
39af5d020e
Timing support ( #3363 )
...
Adds timing support to Verilator. It makes it possible to use delays,
event controls within processes (not just at the start), wait
statements, and forks.
Building a design with those constructs requires a compiler that
supports C++20 coroutines (GCC 10, Clang 5).
The basic idea is to have processes and tasks with delays/event controls
implemented as C++20 coroutines. This allows us to suspend and resume
them at any time.
There are five main runtime classes responsible for managing suspended
coroutines:
* `VlCoroutineHandle`, a wrapper over C++20's `std::coroutine_handle`
with move semantics and automatic cleanup.
* `VlDelayScheduler`, for coroutines suspended by delays. It resumes
them at a proper simulation time.
* `VlTriggerScheduler`, for coroutines suspended by event controls. It
resumes them if its corresponding trigger was set.
* `VlForkSync`, used for syncing `fork..join` and `fork..join_any`
blocks.
* `VlCoroutine`, the return type of all verilated coroutines. It allows
for suspending a stack of coroutines (normally, C++ coroutines are
stackless).
There is a new visitor in `V3Timing.cpp` which:
* scales delays according to the timescale,
* simplifies intra-assignment timing controls and net delays into
regular timing controls and assignments,
* simplifies wait statements into loops with event controls,
* marks processes and tasks with timing controls in them as
suspendable,
* creates delay, trigger scheduler, and fork sync variables,
* transforms timing controls and fork joins into C++ awaits
There are new functions in `V3SchedTiming.cpp` (used by `V3Sched.cpp`)
that integrate static scheduling with timing. This involves providing
external domains for variables, so that the necessary combinational
logic gets triggered after coroutine resumption, as well as statements
that need to be injected into the design eval function to perform this
resumption at the correct time.
There is also a function that transforms forked processes into separate
functions.
See the comments in `verilated_timing.h`, `verilated_timing.cpp`,
`V3Timing.cpp`, and `V3SchedTiming.cpp`, as well as the internals
documentation for more details.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-08-22 13:26:32 +01:00
Geza Lore
9ac64d0b92
Improve performance of MTask coarsening
...
Various optimizations to speed up MTasks coarsening (which is the long
pole in the multi-threaded scheduling of very large designs).
The biggest impact ones:
- Use efficient hand written Pairing Heaps for implementing priority
queues and the scoreboard, instead of the old SortByValueMap. This
helps us avoid having to sort a lot of merge candidates that we will
never actually consider and helps a lot in performance.
- Remove unnecessary associative containers and store data structures
(the heap nodes in particular) directly in the object they relate to.
This eliminates a huge amount of lookups and helps a lot in
performance.
- Distribute storage for SiblingMC instances into the LogicMTask
instances, and combine with the sibling maps. This again eliminates
hash table lookups and makes storage structures smaller.
- Remove some now bidirectional edge maps, keep only the forward map.
There are also some other smaller optimizations:
- Replaced more unnecessary dynamic_casts with static_casts
- Templated some functions/classes to reduce the number of static
branches in loops.
- Improves sorting of edges for sibling candidate creation
- Various micro-optimizations here and there
This speeds up MTask coarsening by 3.8x on a large design, which
translates to a 2.5x speedup of the ordering pass in multi-threaded
mode. (Combined with the earlier optimizations, ordering is now 3x
faster.)
Due to the elimination of a lot of the auxiliary data structures, and
ensuring a minimal size for the necessary ones, memory consumption of
the MTask coarsening is also reduced (measured up to 4.4x reduction
though the accuracy of this is low).
The algorithm is identical except for minor alterations of the order
some candidates are added or removed, this can cause perturbation in the
output due to tied scores being broken based on IDs.
2022-08-20 21:18:50 +01:00
Wilson Snyder
ebb37b0156
Merge branch 'master' into develop-v5
2022-08-20 14:02:09 -04:00
Wilson Snyder
90dc04cf93
Add --future0 and --future1 options.
2022-08-20 14:01:13 -04:00
Geza Lore
4d81eb021d
Revert "Improve performance of MTask coarsening"
...
This reverts commit 83475008d9 .
2022-08-19 18:03:45 +01:00