Wilson Snyder
436d3d76f0
Version bump
2025-02-24 18:19:40 -05:00
Wilson Snyder
c1f0787669
Commentary: Changes update
2025-02-24 18:15:08 -05:00
Yilou Wang
dae4c8ee22
Support constrained random for arrays in structs ( #5765 ) ( #5802 )
2025-02-24 17:51:51 -05:00
Wilson Snyder
5daf7385f1
Commentary: Changes update
2025-02-24 04:04:23 -05:00
Wilson Snyder
4ce8164277
Fix parsing input wire with default and range ( #5800 ).
2025-02-24 03:51:49 -05:00
Todd Strader
7ec32799b0
Fix expression coverage + VarXRefs ( #5797 )
2025-02-22 15:55:23 -05:00
Geza Lore
812861e7f2
Optimize splitting trigger computation and dump ( #5798 )
2025-02-23 05:57:36 +10:00
Wilson Snyder
1857f6399c
Fix $monitor with dotted references ( #5794 ).
2025-02-21 17:18:49 -05:00
Todd Strader
f7ccc013e7
Improve V3EmitV for interfaces ( #5796 )
2025-02-21 16:49:14 -05:00
Kamil Rakoczy
2e1fa8f338
Add --preproc-resolve for modules in preprocessor output ( #5789 )
...
Signed-off-by: Kamil Rakoczy <[email protected] >
2025-02-22 04:47:54 +10:00
Todd Strader
70459b3208
Fix V3EmitV for non-zero based arrays ( #5790 )
2025-02-21 05:49:32 +11:00
Ryszard Rozak
2a23ec74e4
Fix dpi context functions ( #5788 )
2025-02-20 10:15:09 +01:00
Wilson Snyder
be1ace423e
Fix time import error on time parameters ( #5786 ).
2025-02-19 17:03:59 -05:00
Wilson Snyder
2d0149b703
Commentary: Changes update
2025-02-19 17:00:29 -05:00
Todd Strader
34ced254c0
Support expression coverage ( #5719 )
2025-02-19 16:42:23 -05:00
Wilson Snyder
fe15171649
Internals: cppcheck cleanups. No functional change.
2025-02-18 01:14:51 -05:00
Wilson Snyder
4092ac7e72
Commentary: Changes update
2025-02-18 01:05:10 -05:00
Yutetsu TAKATSUKASA
1a07af57a3
Fix unpacked split_var ( #5782 ) ( #5785 )
2025-02-18 05:34:57 +11:00
Kamil Rakoczy
c840ffb0ae
Support nested classes ( #4178 ) ( #5778 )
...
Signed-off-by: Kamil Rakoczy <[email protected] >
2025-02-17 23:47:41 +11:00
Wilson Snyder
fbe8439eb8
Commentary: Changes update
2025-02-15 00:58:14 -05:00
Wilson Snyder
754c5c71f1
Fix force VPI public signal visibility ( #5225 ).
2025-02-15 00:58:14 -05:00
Wilson Snyder
6940ee420d
Commentary
2025-02-15 00:58:14 -05:00
Todd Strader
b645fcf027
More V3EmitV support ( #5779 )
2025-02-14 14:58:11 -05:00
Krzysztof Bieganski
ffb02cea15
Fix ignoring joins in stringify in preprocessor ( #5777 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2025-02-13 18:33:12 -05:00
Krzysztof Bieganski
f753ae2518
Support selects on arbitrary string expressions ( #5773 )
2025-02-11 12:06:34 -05:00
Dave Sargeant
caa19c0cb3
Fix VFileContent reference count ( #5769 ) ( #5771 )
2025-02-10 10:04:04 -05:00
Trung Nguyen
aa3942ab24
Internals: constexpr for VlUnpacked data access ( #5725 ) ( #5770 )
...
Add `constexpr` to data access functions of `VlUnpacked` whose `std::array` equivalent in C++14 is `constexpr`.
2025-02-09 22:45:50 -05:00
github action
cc1133c0d9
Apply 'make format'
2025-02-08 00:07:38 +00:00
Moubarak Jeje
ac659d525b
Support VPI array accessors ( #5612 )
2025-02-07 19:06:46 -05:00
Krzysztof Bieganski
283f6c7433
Add --preproc-token-limit ( #5768 )
2025-02-07 10:32:12 -05:00
Moubarak Jeje
5b65c15eca
Internals: Add datap cast functions ( #5761 )
2025-02-05 15:29:54 -05:00
Yilou Wang
6b4183632c
Support Unpacked Structures' Constrained Randomization ( #5657 ) ( #5759 )
2025-02-03 11:56:00 -05:00
Wilson Snyder
e0e164cea2
Internals: Optimize clearFired ( #5753 )
2025-01-30 07:52:38 -05:00
Bartłomiej Chmiel
a379382d32
Fix handling forced assigns in V3Life ( #5757 )
2025-01-28 07:30:40 -05:00
Wilson Snyder
e2a6e19cac
Cleanup V3EmitMk report style
2025-01-25 17:52:27 -05:00
Wilson Snyder
61bfb6c308
Remove list/map from keyword warnings.
...
Reduces warning verbosity from `map` in UVM.
Assumes user doesn't do a `using namespace std`.
2025-01-25 16:08:15 -05:00
Wilson Snyder
bdcfc4e286
Reduce verbosity under --debug default level
2025-01-25 16:01:20 -05:00
Wilson Snyder
70c6651aac
Fix -Wno-subobject-linkage on GCC ( #5754 )
2025-01-25 15:45:30 -05:00
Wilson Snyder
41bb54bc2c
Add Makefile targets count to stats
2025-01-25 13:35:56 -05:00
Wilson Snyder
001c098e5a
Optimize empty function definition bodies ( #5750 ).
2025-01-25 12:13:25 -05:00
Wilson Snyder
98e40c847c
Internals: Suppress vlSelf unused suppression when known used. No functional change intended.
2025-01-25 12:06:05 -05:00
Wilson Snyder
05c7a3b90b
Optimize labels as final if block statements ( #5744 ).
2025-01-25 10:29:35 -05:00
Wilson Snyder
694f2ff7c7
Tests: renames
2025-01-25 10:24:59 -05:00
Wilson Snyder
6281385ee8
Commentary/Internals: Sort option names. No functional change.
2025-01-24 21:31:57 -05:00
Wilson Snyder
7e6dd9473f
Commentary: Changes update
2025-01-24 21:27:52 -05:00
Wilson Snyder
929e15fa4c
Fix various round-trip Verilog output, including packed arrays
2025-01-24 21:00:45 -05:00
Wilson Snyder
432d5f851d
Internals: Cleanup some misnamed nodep's. No functional change.
2025-01-24 20:52:31 -05:00
Wilson Snyder
d4f4fefd1d
Fix -j ignored after -f ( #5749 ).
2025-01-24 17:30:59 -05:00
Wilson Snyder
d8080008b4
Commentary
2025-01-24 07:47:32 -05:00
Wilson Snyder
bed9aa9904
Internals: Cleanup std::string empty string constructors.
2025-01-24 07:47:32 -05:00
Bartłomiej Chmiel
35fa0d051d
Support integer atom type ports in --hierarchical ( #5748 )
2025-01-24 07:47:11 -05:00
Bartłomiej Chmiel
0507fb4655
Improve hierarchical DPI wrapper scheduling performance ( #2583 ) ( #5734 )
2025-01-20 14:24:09 -05:00
Geza Lore
f4a01eb452
Fix inlined expression with assignment under LHS of NBA ( #5736 ) ( #5740 )
2025-01-20 07:23:10 -05:00
Wilson Snyder
4954e76b28
Commentary: Changes update
2025-01-18 15:26:41 -05:00
Wilson Snyder
fa1b11252e
Fix duplicate-named class variable equivalence ( #5737 ).
2025-01-18 15:25:49 -05:00
Andrew Nolte
dddc1b5b4d
Fix vpiDefName issues with non-inlined scopes and dpi conflicts ( #5732 )
2025-01-16 15:02:36 -05:00
Natan Kreimer
20faa99464
Fix VPI iteration over hierarchy ( #5314 ) ( #5731 )
2025-01-13 07:40:34 -05:00
Ethan Sifferman
dc43071f1c
Improve `resetall support ( #5728 ) ( #5730 )
2025-01-11 22:53:11 -05:00
Wilson Snyder
fdf29b970f
Fix VL_UNLIKELY with constructors
2025-01-11 15:27:11 -05:00
Wilson Snyder
70814fa11a
Commentary: Add --public-ignore to ignore public metacomments ( #5716 ).
2025-01-11 12:34:12 -05:00
Wilson Snyder
529b8337ec
Commentary: Changes update
2025-01-11 12:30:07 -05:00
Andrew Nolte
f8dd65c7cd
Add --public-ignore to ignore public metacomments ( #7819 )
2025-01-11 12:29:39 -05:00
Wilson Snyder
28a59a2b21
Update gtkwave from upstream.
2025-01-11 12:16:46 -05:00
Yilou Wang
d3e205f201
Support constraints on associative array user-defined keys ( #5671 ) ( #5729 )
2025-01-11 12:07:52 -05:00
Wilson Snyder
dfe28f7ed0
Fix misoptimizing away $urandom ( #5703 ).
2025-01-11 08:48:40 -05:00
github action
bb871728c9
Apply 'make format'
2025-01-10 00:05:16 +00:00
Krzysztof Starecki
69dce205d3
Support multidimensional array access via VPI ( #2812 ) ( #5573 )
2025-01-09 19:04:26 -05:00
Krzysztof Bieganski
052812bb87
Fix BLKSEQ on suspendable processes ( #5722 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2025-01-09 08:40:32 -05:00
Yilou Wang
0380a36c76
Fix constrained random for > 64-bit associative arrays ( #5670 ) ( #5682 )
2025-01-09 08:33:38 -05:00
Wilson Snyder
44f49669a3
Support side effects of form variable[index_function()]++.
2025-01-08 19:37:20 -05:00
github action
ff244c1d1f
Apply 'make format'
2025-01-08 14:44:48 +00:00
Krzysztof Starecki
260ac342f4
Tests: Add support for Questa in TestSimulator class ( #5718 )
2025-01-08 09:43:57 -05:00
Nick Brereton
87d856339f
Add lint error on importing package within a class ( #5634 ) ( #5679 )
2025-01-07 16:52:44 -05:00
Wilson Snyder
e171463fa2
Add COVERIGN warning, as a more specific UNSUPPORTED error.
2025-01-06 18:48:32 -05:00
Wilson Snyder
481adf8fe7
Commentary
2025-01-06 17:56:50 -05:00
Andrew Nolte
b8288b97f7
Improve VPI write errors ( #5712 )
2025-01-06 17:56:18 -05:00
Andrew Nolte
0d34f56b74
Fix packages with --public-depth 1 ( #5708 )
2025-01-06 15:21:32 -05:00
Wilson Snyder
dcaf6476e8
Fix matching language extension options including dots.
2025-01-05 22:52:29 -05:00
Wilson Snyder
76b2ac9cc1
Support +incdir with multiple directories.
2025-01-05 19:30:39 -05:00
Wilson Snyder
b6a400ee9b
Support generated classes ( #5665 ).
2025-01-05 17:10:04 -05:00
Wilson Snyder
78d6ec8114
Fix error message when call task as a function ( #3089 ).
2025-01-04 12:55:15 -05:00
Wilson Snyder
88dd95980a
Internal cleanups, remove extra iterate, but no functional change intended
2025-01-04 12:50:55 -05:00
Wilson Snyder
b531001f55
Fix segfault when only enum value referenced in package ( #5714 ).
2025-01-04 10:36:34 -05:00
Wilson Snyder
1d0563212e
Fix pattern assignment to real inside struct ( #5713 ).
2025-01-03 19:39:48 -05:00
Wilson Snyder
8ca49d98c1
Fix %p format output for real inside struct ( #5713 ).
2025-01-03 19:15:03 -05:00
Wilson Snyder
036c1fb0f9
Commentary: Changes update
2025-01-03 10:02:48 -05:00
Wilson Snyder
19258ee18a
Commentary
2025-01-03 10:00:56 -05:00
أحمد المحمودي
578d8d8391
Fix man pages whatis section ( #5710 )
2025-01-03 09:58:33 -05:00
Geza Lore
010ae580b1
Fix V3Simulate constant reuse ( #5709 )
...
Use a generational allocator for reusing AstConst across
V3Simulate::clear(), instead of using user1 (which is also used
to store values of nodes).
Also fix invalid lookup on array initializer
2025-01-03 05:33:29 -05:00
Wilson Snyder
951f5eaa82
Commentary
2025-01-02 08:09:02 -05:00
Wilson Snyder
3a69dd4a43
Commentary
2025-01-02 08:07:57 -05:00
Wilson Snyder
f52155a768
Copyright year update.
2025-01-02 06:21:30 -05:00
Wilson Snyder
16b3d9101c
devel release
2025-01-01 09:11:15 -05:00
Wilson Snyder
8ff77e9d47
Version bump
2025-01-01 09:04:41 -05:00
Wilson Snyder
4361c516fd
Commentary: Update contributors.
2025-01-01 09:04:21 -05:00
Wilson Snyder
7d5772c749
Commentary: Changes update
2025-01-01 08:45:29 -05:00
Wilson Snyder
f5e2f60dcc
Update include/gtkwave from upstream
2025-01-01 08:40:49 -05:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Bartłomiej Chmiel
72a47e16c1
Fix verilator_gantt for hierarchically Verilated models ( #5700 )
2024-12-23 09:10:46 -06:00
Wilson Snyder
530ebecfb7
Tests: Add module-in-module coverage
2024-12-19 21:42:52 -05:00
Wilson Snyder
9a3dcaa10b
Fix spelling
2024-12-19 21:30:14 -05:00
Wilson Snyder
8a121803f5
Add configure CFG_CXX_VERSION
2024-12-19 20:56:47 -05:00
Wilson Snyder
bb45fd6c6c
Add error on --savable --timing ( #5690 ).
2024-12-19 17:30:40 -05:00
Wilson Snyder
62945bb3bc
Commentary: Changes update
2024-12-19 17:23:44 -05:00
Todd Strader
079a53e820
Commentary: SYMRSVDWORD + VPI documentation ( #5696 )
2024-12-19 17:14:15 -05:00
Todd Strader
a23fad91a3
Tests: Reduce test_regress VPI copypasta ( #5694 ) ( #5693 )
2024-12-19 16:29:16 -05:00
Anthony Moore
5f1df5b389
Add a default CMAKE_BUILD_TYPE ( #5691 ) ( #5692 )
2024-12-19 15:17:44 -05:00
Todd Strader
74d5d008bb
Fix VPI + SYMRSVDWORD intersection ( #5686 )
2024-12-19 15:15:28 -05:00
Todd Strader
8a9fc9237d
Tests: Execute t_emit_accessors ( #5689 ) ( #5688 )
2024-12-19 15:01:57 -05:00
Ryszard Rozak
c093b24342
Fix width extension of operands of inside operator ( #5685 )
2024-12-19 15:51:51 +01:00
Wilson Snyder
29fb82d3b7
Commentary
2024-12-16 18:02:17 -05:00
Wilson Snyder
c7355b4056
Commentary: Changes update
2024-12-15 09:19:30 -05:00
Wilson Snyder
4b4ca90c71
Internals: Create FuncRef/TaskRef directly from Func/Task pointer. No functional change intended
2024-12-15 09:15:49 -05:00
Wilson Snyder
6aa7123a8c
Internals: Function/variable renames. No functional change.
2024-12-14 12:49:42 -05:00
Wilson Snyder
80b2fa3583
Add error on randc inside dist
2024-12-14 11:47:46 -05:00
Wilson Snyder
7886204690
Tests: Add t_class_new_scoped (unsupported)
2024-12-13 17:58:08 -05:00
Wilson Snyder
c2dcca980e
Improve to throw UNSUPPORTED instead of syntax error on extend class arguments
2024-12-13 17:15:04 -05:00
Wilson Snyder
a23dfdc4ee
Fix backward external constraint error, from recent new support.
...
(Thanks sv-tests!)
2024-12-13 16:54:14 -05:00
Todd Strader
41a038b79b
Fix interface bracketed array parameter access ( #5678 ) ( #5677 )
2024-12-13 12:00:49 -05:00
Ryszard Rozak
a8e06874bd
Fix randomize..with of parameterized classes ( #5676 )
...
Broke in 7a04a5b
2024-12-13 09:32:47 -05:00
Yilou Wang
54ef9ad31c
Support associative array basic constrained randomization ( #5658 ) ( #5670 )
2024-12-12 11:31:54 -05:00
Bartłomiej Chmiel
32f9cf072b
Fix hierarchical verilation for projects with dot-f dependency lists ( #5199 ) ( #5669 )
2024-12-12 11:25:19 -05:00
Ryszard Rozak
03e8ef0b0f
Fix wildcard equality and inside operators for non-fourstate expressions ( #5673 )
2024-12-12 14:51:48 +01:00
Wilson Snyder
a2f327f729
Support extern constraint
2024-12-12 08:16:19 -05:00
Wilson Snyder
6e204ed0dd
Internals: Cleanup 'error error' on fatals
2024-12-11 08:52:41 -05:00
Bartłomiej Chmiel
58ddf997e3
Improve optimization of duplicate wide expressions ( #5637 )
...
Prevent inlining of expensive wide expressions in V3Gate (#5637 )
2024-12-11 11:45:31 +00:00
Ryszard Rozak
9656311521
Fix error on duplicated declaration of gen block ( #5663 )
2024-12-06 07:20:31 -05:00
Wilson Snyder
676fd31635
Commentary: Changes update
2024-12-05 08:54:43 -05:00
Wilson Snyder
a7f8c9cc74
Commentary
2024-12-05 08:54:00 -05:00
Wilson Snyder
a247041cab
Internals: Refactor 713dab27 to avoid IfaceRef being known in LinkCells
2024-12-03 12:00:56 -05:00
Wilson Snyder
59fd238a05
Tests: Add t_interface_hidden
2024-12-03 12:00:56 -05:00
Yilou Wang
a64660a530
Fix foreach mixed array ( #5655 ) ( #5656 )
2024-12-03 07:57:50 -05:00
Todd Strader
e9a1c75b7f
Tests: Demonstrate unsupported scoped pattern array init ( #5652 )
2024-12-02 18:33:34 -05:00
Todd Strader
b6f292f556
Fix imported array assignment literals ( #5642 ) ( #5648 )
2024-12-02 15:08:47 -05:00
Wilson Snyder
4781a6046a
Update error as misnamed port dtype might be interface
2024-12-02 07:35:44 -05:00
Wilson Snyder
b16b48f458
Internals: Misc ANSI port parsing cleanups; baseline for future commit.
2024-12-02 07:21:39 -05:00
Wilson Snyder
b4e91c87a6
Tests: Add t_interface_find
2024-12-02 07:20:40 -05:00
Bartłomiej Chmiel
a668b7c658
Fix missing VlProcess handle in coroutines with splits ( #5623 ) ( #5650 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
2024-12-02 05:43:26 -05:00
Wilson Snyder
94fd17e4f7
Internals: Port parsing cleanups
2024-12-01 23:03:19 -05:00
Wilson Snyder
abd4c480cd
Tests: Fix JSON file number, from earlier commit
2024-12-01 23:00:27 -05:00
Wilson Snyder
aa2b653c71
Internals: With --dumpi-tree >= 9, create pre-sort cells.tree
2024-12-01 17:38:02 -05:00
Wilson Snyder
d75f41b641
Tests: Add param type to t_typename test
2024-12-01 17:28:13 -05:00
Wilson Snyder
b0f898cec8
Internals: Determine needing verilated_std without symbol table
2024-12-01 11:35:00 -05:00
Wilson Snyder
9ec5413d33
Tests: Cleaner error summaries
2024-12-01 10:27:05 -05:00
Wilson Snyder
611567c385
Internals: add make format-c/format-py. No functional change.
2024-12-01 10:26:01 -05:00
Wilson Snyder
7a04a5b9a8
Internals: Refactor symIterate functions. No functional change intended
2024-11-30 22:55:16 -05:00
Wilson Snyder
2d71d66cf5
Commentary
2024-11-30 22:35:36 -05:00
Wilson Snyder
a51e26e62d
Internals: Some V3LinkCells debug improvements. No functional change.
2024-11-30 20:09:05 -05:00
Wilson Snyder
5021989cb6
Tests: Rename interface-to-wire ( #5649 test partial)
2024-11-30 19:05:26 -05:00
Wilson Snyder
2284ada723
Tests: Interface-to-wire ( #5649 test partial)
2024-11-30 19:00:00 -05:00
Wilson Snyder
e44f34dde3
Improve concat lint error & cleanups for future commit.
2024-11-30 18:56:00 -05:00
Wilson Snyder
0c820c3068
Internals: Standardize template argument names. No functional change.
2024-11-29 20:20:38 -05:00
Wilson Snyder
990ccd6763
Internals: Standardize on template<typename. No functional change.
2024-11-29 18:01:50 -05:00
Wilson Snyder
f631587a20
Internals: Rename classOrPackageSkip as kept confusing with member accessor. No functional change.
2024-11-29 16:57:18 -05:00
Wilson Snyder
9f8fcaf827
Fix linking types of typedefs
2024-11-29 16:09:39 -05:00
Wilson Snyder
d7893a60ca
Internals: In V3LinkDot debug, show node name prefix. No functional change.
2024-11-29 16:09:04 -05:00
Wilson Snyder
93090c56ee
Fix mis-aliasing of instances with mailbox parameter types ( #5632 partial).
2024-11-29 09:20:02 -05:00
Wilson Snyder
d750ffc129
Internals: Fix debug dump of deleted nodes.
2024-11-29 08:51:32 -05:00
Wilson Snyder
7efa0fc82a
Internals: Rewrite skipRefp to avoid recursion and fix const-ness. No functional change intended.
2024-11-29 08:10:51 -05:00
Wilson Snyder
8db9db7e25
Internals: Rename same() function. No functional change.
2024-11-28 15:01:58 -05:00
Wilson Snyder
d165671225
Improve error when no parameter type value ( #5645 partial)
2024-11-28 14:09:06 -05:00
Wilson Snyder
7a8f71e7d8
Add --fno-slice to disable array assignment slicing ( #5644 ).
2024-11-28 13:49:34 -05:00
Wilson Snyder
e0ad430cd9
Internals: V3Slice style cleanup. No functional change; ignore whitespace
2024-11-28 13:33:59 -05:00
Wilson Snyder
7695687e87
Commentary: Changes update
2024-11-27 17:56:05 -05:00
Todd Strader
94e545bdca
Fix interface and struct pattern collision ( #5640 ) ( #5639 )
2024-11-27 17:20:21 -05:00
Wilson Snyder
99daa8d24b
Support default disable iff and $inferred_disable ( #4016 ).
2024-11-26 22:27:32 -05:00
Wilson Snyder
e14903cfb2
Internals: Fix null skipRef for consistency. No functional change intended.
2024-11-26 22:10:54 -05:00
Wilson Snyder
bee344d1ae
Add error on illegal --prefix etc. values ( #5507 ).
2024-11-26 21:06:43 -05:00
Wilson Snyder
713dab278c
Fix mis-public interfaces, broke in f58aee2ff2
2024-11-26 19:16:05 -05:00
Wilson Snyder
29ad93c89d
Tests: Add t_interface_colon_bad ( #5281 )
2024-11-25 21:50:24 -05:00
Wilson Snyder
7a9140821d
Fix public_module requiring a wire to become public ( #4916 ).
2024-11-25 21:21:11 -05:00
Wilson Snyder
2ba0749993
Tests: Verify function ref ( #3385 )
2024-11-25 20:38:41 -05:00
Wilson Snyder
25d75ee86f
Add --fno-inline-funcs to disable function inlining.
2024-11-25 19:59:10 -05:00
Wilson Snyder
a72009fb41
Fix UNDRIVEN on refs
2024-11-25 18:41:38 -05:00
Wilson Snyder
a934d965be
Internals: Rename isInoutish
2024-11-25 18:25:36 -05:00
Wilson Snyder
1277a40b31
Tests: Add driver --obj-suffix option
2024-11-24 21:12:08 -05:00
Wilson Snyder
6f35fec5ce
Commentary
2024-11-24 20:47:57 -05:00
Wilson Snyder
f58aee2ff2
Internals: Defer marking variables as IfaceRef until cells resolved. No functional change intended.
2024-11-24 18:33:10 -05:00
Wilson Snyder
f5ee7aa0ab
Internals: Decouple Bison class/package symbol table parsing from Link symbol table. ( #5629 )
...
Not intended to change non-error cases, but side-effects are likely.
2024-11-24 18:19:19 -05:00
Wilson Snyder
749b0345df
Commentary: Changes update
2024-11-23 22:06:07 -05:00
Wilson Snyder
7e9535381a
Tests: Use VM_PREFIX
2024-11-23 22:02:19 -05:00
github action
0d5fedce92
Apply 'make format'
2024-11-24 03:02:04 +00:00
sumpster
24b5c641f5
Fix array of struct member overwrites on member update ( #5605 ) ( #5618 ) ( #5628 )
2024-11-23 22:01:02 -05:00
sumpster
ca31bcdbb6
Tests: Fix solver help output detection case insensitive ( #5626 ) ( #5627 )
2024-11-23 18:10:37 -05:00
Ryszard Rozak
ae990ebcda
Add warning on global constraints ( #5625 )
2024-11-22 08:47:14 -05:00
Bartłomiej Chmiel
58dae8f931
Fix clang_check_attributes TypeError when accessing compilation database ( #5622 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
2024-11-21 07:05:18 -05:00
Ryszard Rozak
5470cf9fa9
Support randomize size constraints with restrictions ( #5582 partial) ( #5611 )
2024-11-15 10:45:06 -05:00
Wilson Snyder
9bde98e912
Commentary
2024-11-14 21:07:45 -05:00
Wilson Snyder
81ac386a4a
Tests: Renames
2024-11-14 21:05:59 -05:00
Tom Manner
c98744b914
Internals: Fix VerilatedContext::randSeed comments ( #5609 )
2024-11-14 11:07:23 -05:00
Greg Davill
904be103df
Support parameter names in pattern initialization ( #5593 ) ( #5596 )
2024-11-14 07:25:58 -05:00
Wilson Snyder
8e82440a55
Fix extranous local:: error
2024-11-13 19:15:10 -05:00
Wilson Snyder
32c789c355
Commentary
2024-11-13 19:14:38 -05:00
Wilson Snyder
d4a8cbb1d6
Fix function fork...join_none regression with unknown type ( #4449 ).
2024-11-13 08:00:43 -05:00
Wilson Snyder
192236a832
Fix module automatic
2024-11-13 07:10:48 -05:00
Wilson Snyder
e223228ec0
Fix installation of waiver file ( #5607 )
2024-11-12 22:41:05 -05:00
github action
c7dbdf876a
Apply 'make format'
2024-11-13 03:12:11 +00:00
Wilson Snyder
3ffea76e11
Add --no-std-waiver and default reading of standard lint waivers file ( #5607 ).
2024-11-12 22:11:19 -05:00
Wilson Snyder
09547f839f
Tests: Remove file-number hardcoded dependencies.
2024-11-12 21:39:13 -05:00
Wilson Snyder
0bf413b260
Add lint_off --contents in configuration files. ( #5606 )
2024-11-12 20:21:16 -05:00
Wilson Snyder
a5b2cb6ddf
Commentary: Changes update
2024-11-12 17:19:42 -05:00
Wilson Snyder
779cf9248a
Cleanup/standardize configuration file string handling
2024-11-12 11:29:27 -05:00
Krzysztof Starecki
1d06364284
Support vpiDefName ( #5572 )
2024-11-12 11:28:39 -05:00
Wilson Snyder
833c215c45
Tests: Move uvm to subdirectory and add context-sensitive waivers
2024-11-11 20:49:59 -05:00
Wilson Snyder
4d95f6f7b8
Add --waiver-multiline for context-sensitive --waiver-output.
2024-11-11 20:00:26 -05:00
Wilson Snyder
46a5f04840
Internals: Link 'std' in LinkFind
2024-11-11 09:44:08 -05:00
Wilson Snyder
3c686d0eb2
Commentary
2024-11-11 08:44:46 -05:00
Wilson Snyder
7c8ff1d19c
Add --no-std-package as subset-alias of --no-std.
2024-11-11 08:30:07 -05:00
Wilson Snyder
151c5b6a1d
Tests: Rename some tests
2024-11-10 20:00:16 -05:00
Wilson Snyder
15d1751b23
Internals: Defer class extends resolution until link
2024-11-10 19:34:00 -05:00
Wilson Snyder
b71d49e55a
Internals: Defer $unit package resolution until link
2024-11-10 18:36:12 -05:00
Wilson Snyder
c3b2bfbc39
Internals: Fix missing cleanFileline
2024-11-10 18:26:23 -05:00
github action
b74a8f133f
Apply 'make format'
2024-11-10 21:54:54 +00:00
Wilson Snyder
873048c21c
Fix 'local::' parsing in wrong scope
2024-11-10 16:51:34 -05:00
Wilson Snyder
75e9986d39
Fix local:: mis-allowed in class extends
2024-11-10 16:43:21 -05:00
Geza Lore
863abdb1f7
Fix NBAs to unpacked arrays of unpacked structs ( #5603 )
...
This happened to work before #5516 , by creating a whole shadow copy of
the entire array. Revert back to that behaviour for now, it will be
slow, but works still.
Fixes #5590
2024-11-10 17:38:28 +00:00
Geza Lore
03bd1bfc63
Move Concat balancing from DFG to FuncOpt ( #5602 )
...
This means it applies more widely, e.g. inside sequential logic.
2024-11-10 17:23:11 +00:00
Wilson Snyder
4257fcf9d0
Change parsing of cells to be non-symbol table sensitive.
2024-11-10 12:08:37 -05:00
Wilson Snyder
a68da7e220
Internals: Style cleanup. Ignore whitespace if diff. No functional change.
2024-11-10 10:59:18 -05:00
Geza Lore
77ef2cd487
Split up assignments to wides with Concat on the RHS ( #5599 )
...
Add a new pass to split up (recursively):
foo = {l, r};
into the following, with the right indices, iff the concatenation
straddles a wide word boundary.
foo[_:_] = r;
foo[_:_] = l;
This eliminates more wide temporaries.
Another 23% speedup on VeeR EH2 high_perf. Also brings the predicted
stack size from 8M to 40k.
2024-11-10 15:51:59 +00:00
Wilson Snyder
7f1aae640f
Fix dotted reference in delay value ( #2410 ).
2024-11-10 10:23:29 -05:00
Wilson Snyder
0ec025c40c
Internals: Rename rule. No functional change.
2024-11-10 10:14:42 -05:00
Wilson Snyder
bc87270ca9
Add UNSUPPORTED on property variable, instead of syntax error.
2024-11-09 22:26:59 -05:00
Wilson Snyder
0e11b0929c
Internals: whitespace
2024-11-09 21:33:22 -05:00
Wilson Snyder
b741105329
Tests: Fix t_dist_whitespace error message
2024-11-09 20:47:59 -05:00
Wilson Snyder
2f4d1647f0
Fix non-interface error message
2024-11-09 20:28:47 -05:00
Wilson Snyder
4a88ddc616
Tests: Fix interface syntax error
2024-11-09 17:22:16 -05:00
Wilson Snyder
99e7dbc82b
Internals: Put unsupported nettypes into symbol table, so parse as idType
2024-11-09 17:15:41 -05:00
Wilson Snyder
c7a7965c49
Rename identifer token
2024-11-09 16:49:34 -05:00
Geza Lore
f073b278f9
Balance concatenations in DFG ( #5598 )
...
The DFG peephole pass converts all associative trees into right leaning,
which is good for simplifying pattern recognition, but can lead to an
excessive amount of wide intermediate results being constructed for
right leaning concatenations.
Add a new pass to balance concatenation trees by trying to:
- Create VL_EDATASIZE (32-bit) sub-terms, so words can then be packed
easily afterwards
- Try to ensure the operands of a concat are roughly the same width
within a concatenation tree. This does not yield the shortest tree,
but it ensures it has many sub-nodes that are small enough to fit into
machine registers.
This can eliminate a lot of wide intermediate results, which would need
temporaries, and also increases ILP within sub-expressions (assuming the
C compiler can't figure that out itself).
This is over 2x run-time speedup on the high_perf configuration of
VeeR EH2 (which you could arguably also get with -fno-dfg, but oh well).
2024-11-09 18:14:19 +00:00
Wilson Snyder
4969125e5a
Add error on soft constraints of randc
2024-11-09 12:45:55 -05:00
Wilson Snyder
d230ccd716
Add error on solve before of randc variable.
2024-11-09 12:26:48 -05:00
Wilson Snyder
3fae11595a
Support pure constraint.
2024-11-09 12:05:26 -05:00
Wilson Snyder
1e546bb9d9
Add assertion on firing event inside class ( #5597 )
2024-11-09 09:28:40 -05:00
Wilson Snyder
138daaf565
Commentary: Changes update
2024-11-09 08:35:40 -05:00
Wilson Snyder
3438d8f2b0
Tests: Use illegal struct
2024-11-09 08:34:17 -05:00
Wilson Snyder
e55ed8eb66
Commentary
2024-11-09 08:24:50 -05:00
Wilson Snyder
a55daf5367
Commentary
2024-11-09 07:56:47 -05:00
Yilou Wang
a173883b2d
Support basic constrained random for multi-dimensional dynamic array and queue ( #5591 )
2024-11-08 14:04:58 -05:00
Wilson Snyder
61d2284eab
Commentary
2024-11-08 07:47:46 -05:00
Ryszard Rozak
6083480abb
Fix rand dynamic arrays with null handles ( #5594 )
...
l
2024-11-08 06:53:43 -05:00
Wilson Snyder
2e1128b417
Internals: Iterator cleanup. No functional change intended.
2024-11-06 19:21:03 -05:00
Yilou Wang and Udaya Raj Subedi
e47208d9b3
Support queue's assignment push_back/push_front('{}) ( #5585 ) ( #5586 )
...
Co-authored-by: Udaya Raj Subedi <[email protected] >
2024-11-06 17:31:48 -05:00
Wilson Snyder
87bd8fefa0
Add error on wait with missing .triggered. ( #4457 )
2024-11-05 01:22:56 -05:00
Wilson Snyder
753ea29df8
Add error on illegal enum base type ( #3010 ).
2024-11-05 00:58:46 -05:00
Wilson Snyder
b1dfdef0a9
Add error when improperly storing to parameter ( #5147 ).
2024-11-05 00:17:40 -05:00
Wilson Snyder
2e4676dc11
Internals: Add missing VL_RESTORERS to V3LinkLValue; probably fixes no real cases, bug better safe.
2024-11-05 00:03:23 -05:00
Wilson Snyder
eaaf91c82b
Internals: Cleanup VL_RESTORER format in V3LinkLValue. No functional change.
2024-11-04 23:55:39 -05:00
Bartłomiej Chmiel and Ryszard Rozak
4e71f359bf
Fix duplicate scope identifiers decoding ( #5584 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
Co-authored-by: Ryszard Rozak <[email protected] >
2024-11-04 06:06:15 -08:00
Ryszard Rozak
b3348a38d0
Internals: Remove repeated clearing of constraints ( #5583 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-11-04 04:48:55 -08:00
Wilson Snyder
7854118883
Fix negative assignment pattern keys ( #5580 ).
2024-11-02 10:06:01 -04:00
Wilson Snyder
ed0e1af7aa
Commentary: Changes update
2024-11-02 09:47:55 -04:00
github action
e1a9734917
Apply 'make format'
2024-11-02 13:43:43 +00:00
Zhou Shen
589612f914
Fix can't locate scope error in interface task delayed assignment ( #5462 ) ( #5568 )
2024-11-02 09:42:57 -04:00
Geza Lore
76b4c2f254
driver.py: Properly detect cfg with ccache ( #5579 )
2024-11-01 17:14:17 +00:00
Wilson Snyder
b097cec72d
Tests: Reduce false t_const_number_unsized_parse timeouts ( #5577 )
2024-11-01 12:39:29 -04:00
Wilson Snyder
9689a4f58a
Internals: Support VL_UNREACHABLE in C++23/MSVC. No functional change intended.
2024-10-31 21:29:13 -04:00
Geza Lore
aac0186871
Fix pylint 3.2.7 global-variable-not-assigned ( #5578 )
2024-11-01 15:27:08 +00:00
Geza Lore
f458951b17
Fix slow unsized number parsing ( #5577 )
...
Try to avoid allocating and deallocating a full --max-num-width
buffer on parsing every single unsized number literal.
2024-11-01 14:10:44 +00:00
Andrew Nolte
4448778dbf
Add coverage point hierarchy to coverage reports ( #5575 ) ( #5576 )
2024-11-01 09:30:44 -04:00
Todd Strader
dab826bef9
VPI error instead of fatal for vpi_get_value() on large signals ( #5571 )
2024-10-31 17:02:37 -04:00
Todd Strader
9fae951d9d
Fix --output-groups leftover files issue ( #5574 )
2024-10-31 14:38:53 -04:00
Todd Strader
0f2a8c6c22
Fix BLKANDNBLK for for VARXREFs ( #5569 )
2024-10-29 07:27:40 -04:00
Wilson Snyder
68e0cf5523
devel release
2024-10-27 10:08:18 -04:00
Wilson Snyder
d6ba65ba75
Version bump
2024-10-27 09:38:06 -04:00
Wilson Snyder
f496138855
Commentary: Changes update
2024-10-27 09:33:54 -04:00
Wilson Snyder
2f272a4190
Fix $countbits in assert with non-tristates ( #5566 ).
2024-10-27 09:30:54 -04:00
Wilson Snyder
469eca7de2
Commentary: Changes update
2024-10-25 18:54:39 -04:00
Todd Strader
ec2eae607a
Fix enum name method ( #5563 )
2024-10-25 18:49:45 -04:00
Ryszard Rozak
292c2e289e
Support rand dynamic arrays of objects ( #5557 ) ( #5564 )
2024-10-25 12:00:43 -04:00
Ryszard Rozak
87ac61140d
Tests: Don't use indices in check_rand ( #5561 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-10-25 11:06:32 -04:00
Geza Lore
81ee89de15
Properly skip t_ccache_report when no ccache ( #5562 )
2024-10-25 14:33:26 +01:00
Todd Strader
83081aaefc
Fix struct literal on pattern assignment ( #5552 ) ( #5559 )
2024-10-24 18:50:57 -04:00
Tomasz Gorochowik
fd2917c928
Commentary: Fix sv-bugpoint paragraph typo ( #5558 )
2024-10-24 09:41:27 -04:00
Ryszard Rozak
4cd69f9feb
Fix queue element access ( #5551 )
2024-10-24 09:40:54 -04:00
Eric Müller
4e5c7f4568
Fix build on gcc when using the spack wrapper ( #5555 )
2024-10-24 07:53:11 -04:00
Tomasz Gorochowik
647af27274
Commentary: Mention sv-bugpoint in the contributing guidelines ( #5553 )
2024-10-24 07:42:57 -04:00
Todd Strader
8cc7e180ca
Fix array trace splitting ( #5549 )
2024-10-23 11:51:48 -04:00
Todd Strader
d3d45c0be5
Tests: Fix file_grep_count() error message ( #5550 )
2024-10-23 10:07:03 -04:00
Wilson Snyder
549dd31224
Commentary: Changes update
2024-10-22 09:34:09 -04:00
Wilson Snyder
36888fac5d
Fix long module names crashing string handling ( #5546 ).
2024-10-22 09:25:58 -04:00
Yilou Wang and Udaya Raj Subedi
2409f32d87
Fix multi-range indices assignment ( #5534 ) ( #5547 )
...
Co-authored-by: Udaya Raj Subedi <[email protected] >
2024-10-21 09:56:50 -04:00
Yilou Wang
8c3cc3af8f
Fix struct array assignment ( #5455 ) ( #5537 )
2024-10-21 09:54:33 -04:00
Todd Strader
76fe224e7c
Fix complex user type problem with --x-assign ( #5543 )
2024-10-18 19:52:25 -04:00
Krzysztof Boroński
7ccc93d9df
Fix reduction methods for verilated types ( #5542 )
2024-10-18 19:51:44 -04:00
Geza Lore
55661e7f71
Install public executables into bindir instead of pkgdatadir ( #5140 ) ( #5544 )
...
Instead of installing redirect scripts in to bindir, and real
executables in to pkgdatadir/bin, we now put the real executables into
bindir, and add redirect scripts into pkgdatadir/bin. (That is, we
redirect in the opposite direction as before).
This enables the same relocatable and testable installations as before
without putting architecture specific binaries into pkgdatadir, so
hopefully we now conform to the Linux Filesystem Hierarchy Standard.
This requires a small fixup in the installed `verilator` script to
hardcode the relative path between bindir and pkgdatadir.
Fixes #5140
2024-10-18 10:06:28 +01:00
Aidan McNay
ece0613e09
Commentary: Fix CMake comments ( #5545 )
2024-10-17 16:39:51 -04:00
Ryszard Rozak
0dce97b09d
Fix assignments of concatenation to queues and dynamic arrays ( #5540 )
2024-10-15 07:35:59 -04:00
Ryszard Rozak
a3d0cc6522
Fix static function wrappers ( #5536 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-10-14 07:41:17 -04:00
Wilson Snyder
1df20f7076
Remove driver.pl - deprecated earlier with driver.py
2024-10-13 21:55:31 -04:00
Wilson Snyder
2fc94557a0
Fix error on enums with x/z using .name(), and internal refactoring
2024-10-11 22:37:48 -04:00
Vito Gamberini and Wilson Snyder
789698cb5c
Fix coverage counts missing due to table optimization ( #5473 ) ( #5474 ).
...
Co-authored-by: Wilson Snyder <[email protected] >
2024-10-10 21:22:06 -04:00
Yilou Wang
3cced9baad
Fix foreach on associative arr with the same logic and update the tests ( #5530 )
2024-10-10 12:50:43 -04:00
Yilou Wang
f3cc32554c
Fix foreach with 2-D queues and dynamic arrays ( #5525 ) ( #5529 )
2024-10-10 10:50:37 -04:00
Ryszard Rozak
2a905c1d6e
Fix copy constructor of classes that use std::process ( #5528 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-10-10 14:40:07 +02:00
Wilson Snyder
230b145c04
Commentary
2024-10-10 08:14:21 -04:00
Wilson Snyder
9f34764f4b
Tests: Find filenames with fix me
2024-10-10 07:48:23 -04:00
Wilson Snyder
69ac3c14e8
Fix crash with internal assertion on short array initializer (partial #5511 )
2024-10-10 07:20:44 -04:00
Wilson Snyder
f98637e122
Internals: Cleanup style of coverage visitors. No functional change. Ignore whitespace if diff.
2024-10-09 18:13:23 -04:00
Wilson Snyder
6d936654ba
Commentary: Changes update
2024-10-09 18:01:34 -04:00
Wilson Snyder
4dd4047c47
Internals: Less verbose docs build
2024-10-09 18:01:30 -04:00
Zhou Shen
1710b6bab4
Support for wired nets, wor/trior/wand/triand. ( #5496 )
2024-10-09 17:53:46 -04:00
Geza Lore
041f6603c3
Make incorrect soft ordering constraint into a hard constraint. ( #5520 )
...
An ordering constraint between NBA commit blocks ('Post' logic) and the
written variable were previously added as soft constraints (cutable
edges). However these are required for correctness, so if it ever is
cut we will have incorrect simulation results.
Change these into hard constraints instead. This necessitates adding a
flag on AstVar to ignore special variables constructed during V3Delayed
that might otherwise appear as degenerate logic loops. E.g.:
if (VdlySet) {
VdlySet = 0; // <- This write to VdlySet can and must be ignored
LHS = VdlyVal;
}
No functional change, but you might get an error if this constraint was
ever violated. (Theoretically it should never be, as these variables
were inserted in a way that does not require violating these constraints
...)
2024-10-09 11:43:53 +01:00
Geza Lore
5acced1e33
Refactor V3Delay for extensibility ( #5516 )
...
* Refactor V3Delay for extensibility
Introduce the concept of an "NBA Scheme", which is the lowering pattern
we can use for various variables that are the targets of NBAs.
E.g.:
- ShadowVariable (old default scheme)
- FlagShared (old array set flag scheme)
- ValueQueueWhole (recent dynamic commit queue)
We now analyse all AstAssignDly before making any decisions on which
scheme to apply. We then choose a specific scheme for each variable that
is the target of an NBA, and then all NBAs targeting that variable use
the same scheme. This enables easy mix and match of schemes as needed,
while remaining consistent by design after extensions.
Output is perturbed due to node insertion order, but no functional
or performance change is intended.
2024-10-09 10:39:40 +01:00
Yilou Wang
920c8012de
Support unconstrained randomization for associative array and queue ( #5515 )
2024-10-08 10:54:20 -04:00
Geza Lore
8f1ea09558
Add lsb index to V3Number::setMask ( #5522 )
2024-10-08 13:15:36 +01:00
Wilson Snyder
b873c23cf2
Internals: Refactor into V3Width enumSelect function
2024-10-07 21:44:07 -04:00
Wilson Snyder
13c7b6e827
Tests: Faster first retry
2024-10-07 21:44:07 -04:00
Wilson Snyder
bbce7926b9
Tests: Remove unused clk input
2024-10-07 21:44:07 -04:00
Wilson Snyder
2c445e4bfd
Commentary: Changes update
2024-10-07 21:44:07 -04:00
Furqan Nadir
338d54fd34
Commentary: Add name to CONTRIBUTORS ( #5519 )
2024-10-07 14:10:43 -04:00
Ryszard Rozak
009d1f2f5b
Fix -j option without argument in hierarchical verilation ( #5514 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-10-07 07:31:59 -04:00
github action
08279645ca
Apply 'make format'
2024-10-06 22:10:07 +00:00
Wilson Snyder
28ecd8e908
Support local and protected on typedef ( #5460 ).
2024-10-06 18:08:40 -04:00
Wilson Snyder
bc8a332ee8
Tests: Disable last test due to clang warning
2024-10-06 05:00:57 -04:00
Wilson Snyder
d52822781c
Tests: Fix driver for --iv etc
2024-10-06 04:49:53 -04:00
github action
bdd37e40fe
Apply 'make format'
2024-10-06 08:02:10 +00:00
Wilson Snyder
4b713e9882
Fix pattern initialization with typedef key ( #5512 ).
2024-10-06 04:01:15 -04:00
Wilson Snyder
fd9f5ab34e
Fix not reporting class reference with extra parameters ( #5467 ).
2024-10-04 05:38:36 -04:00
Wilson Snyder
d06f986b51
Add elaboration dot-error message context, plus debug improvements
2024-10-04 05:38:05 -04:00
Wilson Snyder
8638e46cb7
Fix IEEE version number
2024-10-04 05:22:09 -04:00
Wilson Snyder
85909f02b3
Commentary
2024-10-04 05:21:18 -04:00
Nathan Graybeal
3572bd2f1a
Fix configure inserting absolute paths for Python and Perl ( #5504 ) ( #5505 )
...
* Migrate all tools to AC_CHECK_PROG
2024-10-04 10:08:44 +01:00
Wilson Snyder
ff1d20d50c
Tests: Add t_struct_initial_assign, still fails ( #5380 ) ( #5381 ).
2024-10-03 20:36:23 -04:00
Wilson Snyder
c300075a20
Tests: Remove driver Python version package requirement ( #5505 )
2024-10-03 19:39:28 -04:00
Wilson Snyder
4bdfc653a3
Add error on misused genvar ( #408 ).
2024-10-03 18:54:30 -04:00
Wilson Snyder
554653900a
Commentary: Move C++20 deprec to after Ubuntu 20.04 EOL
2024-10-03 18:15:51 -04:00
Wilson Snyder
b90b81e12c
Tests: Fix string !== for other simulators.
2024-10-03 18:14:53 -04:00
Han Qi
bf2b4e1b6a
Fix equivalence checking when replacing type parameters ( #5213 ) ( #5255 )
2024-10-03 21:19:07 +01:00
Yilou Wang
c05c48aaf3
Support unpacked array Constrained Randomization ( #5437 ) ( #5489 )
2024-10-02 10:29:47 -04:00
Fabian Keßler
39143cc15a
Fix explicit CMAKE_INSTALL_PREFIX usages ( #5500 )
2024-10-01 13:38:16 -04:00
Wilson Snyder
03012da11c
Internals: astgen: Detect bad node types after edits.
...
Also add checks for nodes that can be multiple types with syntax
`AstNode<AstNodeExpr|AstNodeDType>`
2024-09-30 22:25:28 -04:00
0547108e3f
Add -output-groups to build with concatenated .cpp files ( #5257 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
Signed-off-by: Ryszard Rozak <[email protected] >
Signed-off-by: Arkadiusz Kozdra <[email protected] >
Co-authored-by: Mariusz Glebocki <[email protected] >
Co-authored-by: Arkadiusz Kozdra <[email protected] >
Co-authored-by: Bartłomiej Chmiel <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: Ryszard Rozak <[email protected] >
2024-09-30 21:42:36 -04:00
Bartłomiej Chmiel
1a31aa5d62
Internals: Fix annotation checker not considering base class virtual function annotations ( #5459 )
2024-09-30 21:34:34 -04:00
Wilson Snyder
13a1240359
Commentary: Changes update
2024-09-29 21:41:05 -04:00
Wilson Snyder
b7e5486baa
Internals: Fix astgen spacing
2024-09-29 16:56:50 -04:00
Wilson Snyder
afeca21d73
Internals: For debug, quote symbol table to see spaces.
2024-09-29 16:56:32 -04:00
Wilson Snyder
d0ec6092b3
Change package import/export to link post-parsing, prep for later commit.
2024-09-28 20:55:22 -04:00
Wilson Snyder
5c923d6629
Fix to avoid IMPLICIT creation if data type of same name.
2024-09-28 17:58:26 -04:00
Wilson Snyder
1dc6fd3d93
Internals: Move interface error to later phase, prep for later commit. No functional change intended.
2024-09-28 17:37:44 -04:00
Arkadiusz Kozdra
5b56c80830
Better error recovery ( #5493 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-27 20:38:49 +02:00
Wilson Snyder
2291d3d4c6
Tests: Fix some non-IEEE issues in tests.
2024-09-27 09:00:20 -04:00
Arkadiusz Kozdra
02e7767886
Fix randomize with foreach constraints ( #5492 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-26 19:31:06 +02:00
Geza Lore
2a01365f9b
Fix V3Table trying to generate 'x' bits in the lookup table. ( #5491 )
...
Due to out of range selects, V3Table attempted to create a table in the
constant pool with an 'x' value in it, which caused an internal error.
Ensure V3Table behaves the same for out of range selects as the original
logic would.
There is a related bug #5490 , about leaving partially out of range
selects in the logic after inserting bounds checks in V3Unknown.
2024-09-26 16:31:47 +01:00
Arkadiusz Kozdra and Szymon Gizler
91c8866ac3
Fix exponential ConcatN ( #5488 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
Co-authored-by: Szymon Gizler <[email protected] >
2024-09-26 05:12:24 -04:00
Wilson Snyder
798bbe98e8
Add syntax error on empty case items, per IEEE grammar.
2024-09-25 22:40:28 -04:00
Wilson Snyder
a3bbf13506
Internals: Minor parser reorgs in prep for future pull. No functional change intended.
2024-09-25 20:41:49 -04:00
Wilson Snyder
650da7beb2
Examples: Cleanup some spacing
2024-09-25 14:24:01 -04:00
Geza Lore
3bc09d49fb
Generate one trigger per SenItem instead of per SenTree ( #5483 )
2024-09-25 10:35:50 +01:00
Wilson Snyder
6c61a9aff3
Support objcache when compiling Verilated files with cmake.
2024-09-24 20:55:11 -04:00
Wilson Snyder
a4085f3a06
Internals: Standardize format of CMake files with gersemi. No functional change intended.
2024-09-24 20:43:19 -04:00
Wilson Snyder
3ae18af8dd
Fix short-circuting on method calls ( #5486 ).
2024-09-24 20:24:27 -04:00
Wilson Snyder
811eab8fa5
Fix short-circuting with associative array access ( #5484 ).
2024-09-24 19:24:01 -04:00
Wilson Snyder
4ec75b2618
Fix over-permissive parsing of UDPs without identifiers
2024-09-24 18:53:32 -04:00
Wilson Snyder
5a65d27851
Internals: bisonpre: Support -Wcounterexamples
2024-09-23 21:42:02 -04:00
Chris Bachhuber
685ea0bc65
Add Docker pre-commit hook ( #5238 ) ( #5452 )
2024-09-23 07:37:24 -04:00
Wilson Snyder
c48d80592e
Fix extra dot in coverage point hierarchy when using name()=''.
2024-09-23 07:34:12 -04:00
Wilson Snyder
0aa8356eca
Change --main and --binary to use a TOP hierarchy name of "" ( #5482 ).
2024-09-22 23:03:51 -04:00
Wilson Snyder
670b7c5243
Support DPI imports and exports with double underscores ( #5481 ).
2024-09-22 22:11:01 -04:00
Wilson Snyder
706679e6b1
Support DPI imports and exports with double underscores.
2024-09-22 22:06:39 -04:00
Wilson Snyder
d288488b7f
Fix --binary with .cpp PLI filenames under relative directory paths.
2024-09-22 16:47:15 -04:00
Chris Bachhuber
b17619296a
Documentation: Highlight syntax in install.rst ( #5478 )
2024-09-22 15:55:12 -04:00
Wilson Snyder
88bd479bc7
Add error on instances without parenthesis.
2024-09-22 12:25:35 -04:00
Wilson Snyder
2584befa5a
Internals: Show tree traversal in V3LinkDot Resolve debug. No functional change intended.
2024-09-22 10:46:04 -04:00
Wilson Snyder
90215878f8
Tests: Improve t_dist_warn_coverage.py
2024-09-22 09:10:03 -04:00
Wilson Snyder
a1a74cb1d9
Fix mis-parsing of constraint = new.
2024-09-22 09:10:01 -04:00
Wilson Snyder
9f9770e722
Parse elaboration-time nettype declarations (as UNSUPPORTED)
2024-09-21 21:00:02 -04:00
Wilson Snyder
888af29a72
Delay struct type determination until elaboration
2024-09-21 20:27:55 -04:00
Wilson Snyder
5f39c69d19
Delay parameter type assignment determination until elaboration
2024-09-21 20:27:41 -04:00
Wilson Snyder
e7de2c5a05
Remove warning on unsized numbers exceeding 32-bits.
2024-09-21 19:19:12 -04:00
Geza Lore
59b07529b1
driver.py: fix aslr_off ( #5477 )
2024-09-21 16:37:51 +01:00
Geza Lore
a6e9bce0dd
driver.py: consume all stdout from subprocess ( #5476 )
2024-09-21 16:24:45 +01:00
Wilson Snyder
2c52119d6c
Tests: Rename some tests into proper groups. No functional change.
2024-09-21 10:04:58 -04:00
Wilson Snyder
48faf8d036
Fix tracing when name() is empty ( #5470 ).
2024-09-21 08:25:14 -04:00
Wilson Snyder
0484143282
Tests: Update t_timing_finish ( #5472 )
2024-09-21 07:46:04 -04:00
Wilson Snyder
0ee214a157
Tests: Fix t_timing_fork_comb_bad committed earlier
2024-09-20 22:16:00 -04:00
Wilson Snyder
774ec42be4
Internals: Experimental cleanup; avoid :: on package symbol tables
2024-09-20 20:39:49 -04:00
Wilson Snyder
5a6f2b661d
Tests: Avoid multiple lint/compile runs in one test; hard to debug
2024-09-20 20:34:35 -04:00
Wilson Snyder
80cba789f4
Internals: Remove V3LinkParse's need of class links. No functional change intended.
2024-09-20 18:26:23 -04:00
Wilson Snyder
92dd8ee8f5
Fix timing mode not exiting on empty events ( #5472 ).
2024-09-20 17:46:27 -04:00
Todd Strader
1665d15d4d
Fix user-type parameter overlap ( #5469 )
2024-09-20 14:29:31 -04:00
Wilson Snyder
f0fb0b05ff
Internals: Misc V3Param cleanups.
2024-09-20 08:59:10 -04:00
Wilson Snyder
02e88e3848
Fix suppression of WIDTH* warnings when immediately under a size cast ( #3417 ).
2024-09-19 22:56:47 -04:00
Wilson Snyder
87eef36b1c
Tests: Fix driver race sometimes missing final log data
2024-09-19 22:49:40 -04:00
Wilson Snyder
579257bc42
Tests: Fix driver not accepting debug pass-down flags to Verilator, broke earlier commit.
2024-09-19 22:08:40 -04:00
Wilson Snyder
e2041f7450
Commentary: Changes update
2024-09-19 20:29:39 -04:00
Yilou Wang
70112438c3
Support packed/unpacked and dynamic array unconstrained randomization ( #5414 ) ( #5415 )
2024-09-19 20:07:05 -04:00
Wilson Snyder
175e1dde73
Tests: Run t_hier_block_cmake.py first so finishes
2024-09-19 19:33:43 -04:00
Wilson Snyder
e990415ee0
Tests: Improve driver performance with forkserver
2024-09-19 19:28:07 -04:00
Wilson Snyder
1543b202b2
Tests: Move per-command expect= to instead check logfiles
2024-09-19 18:53:22 -04:00
Wilson Snyder
f63168a5b5
CI: More parallelism
2024-09-19 18:51:33 -04:00
Wilson Snyder
49bccb5f1b
Commentary
2024-09-19 17:58:37 -04:00
Wilson Snyder
c7e1358bb7
Tests: Fix --gdb with one test ( #5466 )
2024-09-19 17:06:32 -04:00
Geza Lore
62a58f420c
Fix latest pylint issues ( #5465 )
2024-09-19 15:51:13 +01:00
Arkadiusz Kozdra
dd95e033e7
Support inside array constraints ( #5448 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-19 07:27:59 -04:00
Wilson Snyder
371a4055b0
Fix false LIFETIME warning on repeat in fork-join ( #5456 ).
2024-09-18 21:20:17 -04:00
Wilson Snyder
f251f7b774
Tests: CONSTRIAINTIGN, ZERODLY no longer need suppression on UVM
2024-09-17 21:21:08 -04:00
Wilson Snyder
0f3e0de891
Commentary
2024-09-17 20:58:14 -04:00
Wilson Snyder
7081ea0ede
Support as a task call
2024-09-17 20:53:08 -04:00
Wilson Snyder
fb04765c0e
Fix class reference with pin that is a class reference ( #5454 ).
2024-09-17 17:38:18 -04:00
Wilson Snyder
b8bda729d4
Tests: Fix debug message
2024-09-16 20:29:23 -04:00
Wilson Snyder
195a665293
Internals: Fix V3LinkDot debug message print
2024-09-15 21:18:51 -04:00
Wilson Snyder
c8de3630a5
Tests: Fix driver error report, and passing --dumpi-tree
2024-09-15 21:10:44 -04:00
Wilson Snyder
99a29acca0
CI: One-time yamlfix cleanups. No functional change intended.
2024-09-15 14:37:09 -04:00
Wilson Snyder
48a607cc78
Internals: Cleanup Makefile.in to commented sections. No functional change intended.
2024-09-15 13:55:43 -04:00
Wilson Snyder
19170badd3
Fix warning IEEE reference ( #5453 )
2024-09-15 11:05:48 -04:00
Wilson Snyder
77fc771ed0
Tests: Fix missing stdout on execute()
2024-09-14 18:01:49 -04:00
github action
9b9a554489
Apply 'make format'
2024-09-14 00:46:48 +00:00
Wilson Snyder
0fe8c73d19
Fix $fatal to not be affected by +verilator+error+limit ( #5135 ).
2024-09-13 20:45:44 -04:00
Wilson Snyder
eb66e137db
Fix fault on defparam with UNSUPPORTED ignored ( #5450 ).
2024-09-13 18:31:55 -04:00
Wilson Snyder
c2b82c293f
Tests: Fix driver creating .out with --gold
2024-09-13 18:31:35 -04:00
Arkadiusz Kozdra
0b7510befa
Support basic dist constraints ( #5431 )
2024-09-12 05:20:36 -07:00
Arkadiusz Kozdra
140eb0a6e5
Re-sync parser on endclass
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-11 15:57:45 +02:00
Arkadiusz Kozdra
6b8f253ecd
Re-sync parser in constraints and cross coverpoints
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-11 15:57:45 +02:00
Arkadiusz Kozdra
ac29393ec9
Do not parse covergroup identifiers as types
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-11 15:57:45 +02:00
Wilson Snyder
22d6bb8180
Fix display with multiple string formats ( #5311 ).
2024-09-11 08:41:11 -04:00
Wilson Snyder
f4e4602dcb
Tests: Fix driver handling of interrupts
2024-09-10 20:29:26 -04:00
Wilson Snyder
521c5c2f75
Fix extra events in traces ( #5405 ).
2024-09-10 19:14:52 -04:00
Wilson Snyder
3525484730
Commentary
2024-09-10 19:04:55 -04:00
Arkadiusz Kozdra
4a58997604
Support basic constrained queue randomization ( #5413 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-10 09:33:14 -04:00
Arkadiusz Kozdra
ef259f63ca
Fix randomize treated as std::randomize in classes ( #5436 )
2024-09-10 09:10:36 -04:00
Arkadiusz Kozdra
2f690c0530
Fix foreach colliding index names ( #5444 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-10 07:17:21 -04:00
Wilson Snyder
283a5edbdb
Tests: Make GCOV_PREFIX path directories
2024-09-09 21:47:47 -04:00
Wilson Snyder
e566b5a4f5
Change .vlt config files to be read before .v files ( #5185 ).
2024-09-09 20:18:54 -04:00
Wilson Snyder
4e4fdd3b66
Fix multidimensional function return value selects ( #5382 ).
2024-09-09 19:56:09 -04:00
Wilson Snyder
434896d50c
Tests: test class IGNOREDRETURN.
2024-09-09 19:48:15 -04:00
Andrew Nolte
1e7611edea
Change to use maximum for cover point aggregation ( #5402 )
2024-09-09 14:20:18 -04:00
Geza Lore
2890126110
Remove out of range Sel in V3Unknown ( #5443 )
...
Fixes #5393
2024-09-09 14:09:29 +01:00
Wilson Snyder
07bb8c701d
Convert test driver to Python ( #5427 )
2024-09-08 13:00:03 -04:00
Wilson Snyder
55ae48ac13
Commentary
2024-09-08 11:11:20 -04:00
Wilson Snyder
c83ee391bb
Fix associative array next/prev/first/last mis-propagating constants ( #5435 ).
2024-09-07 15:25:35 -04:00
Wilson Snyder
d01b917062
Commentary: Changes update
2024-09-07 15:24:06 -04:00
Wilson Snyder
b21117091b
CI: Add Ubuntu 24.04 GCC; combine reloc with GCC-10 runs
2024-09-07 13:43:47 -04:00
Wilson Snyder
3a73d83741
Tests: Fix clang 18 warning
2024-09-07 10:20:59 -04:00
Wilson Snyder
9643232d36
CI: Add Ubuntu 24.04 script (not enabled yet)
2024-09-07 10:12:35 -04:00
Wilson Snyder
7b41d2046d
Fix GTKWave clang 18 warning
2024-09-07 10:12:09 -04:00
Wilson Snyder
7eb1b6c32b
Tests: Fix GCC 13.2.0 issues. No functional change.
2024-09-06 22:04:49 -04:00
Andrew Nolte
083fb7e9c2
Add partial coverage symbol and branch data in lcov info files ( #5388 )
2024-09-06 18:15:18 -04:00
Krzysztof Bieganski
afb8428db4
Support IEEE-compliant intra-assign delays ( #3711 ) ( #5441 )
2024-09-06 18:13:52 -04:00
Bartłomiej Chmiel
d6923c8571
Improve performance of V3VariableOrder with parallelization ( #5406 )
2024-09-06 08:04:26 -04:00
Wilson Snyder
1c38744fd1
Tests: Fix requiring core dump
2024-09-04 20:10:05 -04:00
Krzysztof Bieganski
51691dfde5
Fix driving clocking block in Reactive
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-09-04 07:57:51 -04:00
Arkadiusz Kozdra
409efa1249
Internals: Factor out creating clocking event. No functional change.
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-04 07:57:51 -04:00
Wilson Snyder
e4ff0909dc
Tests: Misc test cleanups from Python branch.
2024-09-03 21:42:06 -04:00
Wilson Snyder
d3670b6890
Test: Remove old test
2024-09-03 21:32:09 -04:00
Wilson Snyder
7a74ddc1af
Internals: Fix some getter/setter ordering. No functional change intended.
2024-09-02 18:48:49 -04:00
Wilson Snyder
551862a55e
Tests: Move some misplaced files. No functional change.
2024-09-02 15:50:40 -04:00
Arkadiusz Kozdra
d3fcec3e84
Fix clearing trigger of events with no sentrees ( #5426 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-09-02 18:19:49 +02:00
Krzysztof Bieganski
088862d449
Support appending to queue via [] ( #5421 )
2024-09-02 09:45:47 -04:00
github action
e9f758ce67
Apply 'make format'
2024-09-02 01:13:41 +00:00
Wilson Snyder
b698bfd850
Tests: Untabify some tests.
2024-09-01 21:12:37 -04:00
Wilson Snyder
c9970ff822
Tests: Fix --verbose broken display
2024-09-01 21:01:07 -04:00
Wilson Snyder
df594ee430
Tests: Fix ll scan test.
2024-09-01 20:59:42 -04:00
Todd Strader
201e343795
Fix sformatf internal error on initial automatics ( #5423 )
2024-08-30 19:35:47 -04:00
Wilson Snyder
9a307c4abd
Tests: Cleanup trace_filename use. No test functionality change.
2024-08-30 18:34:42 -04:00
Krzysztof Bieganski
657d7f257b
Support named event locals ( #5422 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-30 17:10:47 +02:00
Wilson Snyder
0ec5e02ce1
Improve hex too many digits error ( #5419 ).
2024-08-30 07:48:00 -04:00
Wilson Snyder
cdfb2221bb
Tests: Remove ancient GCC 4.4 skip.
2024-08-29 19:25:22 -04:00
Krzysztof Bieganski
f133a2811f
Fix capturing params in randomize() with ( #5416 ) ( #5418 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-29 23:02:21 +02:00
Krzysztof Bieganski
aecf38e3ad
Fix V3Randomize compile error on old GCC ( #5403 ) ( #5417 ).
...
No functional change intended.
2024-08-29 10:39:54 -04:00
Wilson Snyder
fa32d10f39
Fix performance of V3Trace when many activity blocks ( #5372 ).
2024-08-28 20:45:51 -04:00
Wilson Snyder
f4fe89a8c4
Commentary: Changes update
2024-08-28 17:32:57 -04:00
Krzysztof Bieganski
675d9a641e
Call pre/post_randomize on randomize() with ( #5412 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-28 19:42:49 +02:00
Krzysztof Bieganski
d896f1ff08
Fix queue [$-i] select as reference argument ( #5411 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-28 17:29:12 +02:00
Arkadiusz Kozdra
5cb6f370e9
Internals: Emit rand constraint right away. No functional change intended. ( #5409 )
...
This change gets rid of most of the shared pointers and useless memory
allocations. Also takes advantage of higher-arity bvxor/concat to
reduce amount of data sent to the solver.
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-08-28 16:11:39 +02:00
Kaleb Barrett
e04ef5d83a
Add method to check if there are VPI callbacks of the given type ( #5399 )
2024-08-27 17:36:51 -04:00
Krzysztof Bieganski
155dcc5658
Fix empty foreach in if in constraints ( #5408 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-27 15:39:36 +02:00
Wilson Snyder
e927536099
Reduce --debugi 2 verbosity
2024-08-27 07:28:27 -04:00
Krzysztof Bieganski
f623db7d68
Normalize types in constraints ( #5407 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-27 12:53:44 +02:00
Wilson Snyder
d40f7f5167
Tests: Fix lint-py (last commit)
2024-08-27 05:31:40 -04:00
Wilson Snyder
34bb013941
Tests: Fix broken t_proc.pl, and misc cleanups.
2024-08-26 21:53:36 -04:00
Wilson Snyder
ae35be9102
Internals: Reformat with new settings (last commit). No functional change.
2024-08-26 21:53:36 -04:00
Wilson Snyder
bde4097df2
Internals: Add .style.yapf
2024-08-26 21:53:36 -04:00
Wilson Snyder
17b70788df
Internals: Run yapf3 in parallel
2024-08-26 21:53:36 -04:00
Krzysztof Bieganski
b1927e4fb5
Fix infinite recursion due to recursive functions/tasks ( #5398 )
2024-08-26 12:18:52 -04:00
Yilou Wang
c4cb26fa9a
Support unconstrained randomization for unions ( #5395 ) ( #5396 )
2024-08-26 11:04:45 -04:00
Wilson Snyder
4e86e60491
Tests: Use only case-sensitve non-extended regexps
2024-08-26 08:14:39 -04:00
Wilson Snyder
d3e07b6ad9
Internals: Always use parallel for make -j 4 clang-format yapf format-pl-exec
...
make[1]: Entering directory '/svaha/wsnyder/SandBox/homecvs/v4/verilator'
yapf3 -i bin/verilator_ccache_report bin/verilator_difftree bin/verilator_gantt bin/verilator_includer bin/verilator_profcfunc examples/json_py/vl_file_copy examples/json_py/vl_hier_graph docs/guide/conf.py docs/bin/vl_sphinx_extract docs/bin/vl_sphinx_fix src/astgen src/bisonpre src/config_rev src/cppcheck_filtered src/flexfix src/vlcovgen src/.gdbinit.py test_regress/t/*.pf nodist/clang_check_attributes nodist/code_coverage nodist/dot_importer nodist/fuzzer/actual_fail nodist/fuzzer/generate_dictionary nodist/install_test nodist/log_changes nodist/code_coverage.dat
chmod a+x test_regress/t/*.pl
clang-format-14 -i ./include/verilated.cpp ./include/verilated_cov.cpp ./include/verilated_dpi.cpp ./include/verilated_fst_c.cpp ./include/verilated_fst_sc.cpp ./include/verilated_probdist.cpp ./include/verilated_profiler.cpp ./include/verilated_random.cpp ./include/verilated_save.cpp ./include/verilated_threads.cpp ./include/verilated_timing.cpp ./include/verilated_vcd_c.cpp ./include/verilated_vcd_sc.cpp ./include/verilated_vpi.cpp ./examples/make_hello_c/sim_main.cpp ./examples/make_hello_sc/sc_main.cpp ./examples/make_protect_lib/sim_main.cpp ./examples/make_tracing_c/sim_main.cpp ./examples/make_tracing_sc/sc_main.cpp ./src/VlcMain.cpp ./src/VlcTop.cpp ./src/V3Active.cpp ./src/V3ActiveTop.cpp ./src/V3Assert.cpp ./src/V3AssertPre.cpp ./src/V3Ast.cpp ./src/V3AstNodes.cpp ./src/V3Begin.cpp ./src/V3Branch.cpp ./src/V3Broken.cpp ./src/V3CCtors.cpp ./src/V3CUse.cpp ./src/V3Case.cpp ./src/V3Cast.cpp ./src/V3Class.cpp ./src/V3Clean.cpp ./src/V3Clock.cpp ./src/V3Combine.cpp ./src/V3Common.cpp ./src/V3Config.cpp ./src/V3Const.cpp ./src/V3Coverage.cpp ./src/V3CoverageJoin.cpp ./src/V3Dead.cpp ./src/V3Delayed.cpp ./src/V3Depth.cpp ./src/V3DepthBlock.cpp ./src/V3Descope.cpp ./src/V3Dfg.cpp ./src/V3DfgAstToDfg.cpp ./src/V3DfgCache.cpp ./src/V3DfgDecomposition.cpp ./src/V3DfgDfgToAst.cpp ./src/V3DfgOptimizer.cpp ./src/V3DfgPasses.cpp ./src/V3DfgPeephole.cpp ./src/V3DfgRegularize.cpp ./src/V3DupFinder.cpp ./src/Verilator.cpp ./src/V3EmitCBase.cpp ./src/V3EmitCConstPool.cpp ./src/V3EmitCFunc.cpp ./src/V3EmitCHeaders.cpp ./src/V3EmitCImp.cpp ./src/V3EmitCInlines.cpp ./src/V3EmitCMain.cpp ./src/V3EmitCMake.cpp ./src/V3EmitCModel.cpp ./src/V3EmitCPch.cpp ./src/V3EmitCSyms.cpp ./src/V3EmitMk.cpp ./src/V3EmitV.cpp ./src/V3EmitXml.cpp ./src/V3Error.cpp ./src/V3ExecGraph.cpp ./src/V3Expand.cpp ./src/V3File.cpp ./src/V3FileLine.cpp ./src/V3Force.cpp ./src/V3Fork.cpp ./src/V3Gate.cpp ./src/V3Global.cpp ./src/V3Graph.cpp ./src/V3GraphAcyc.cpp ./src/V3GraphAlg.cpp ./src/V3GraphPathChecker.cpp ./src/V3GraphTest.cpp ./src/V3Hash.cpp ./src/V3Hasher.cpp ./src/V3HierBlock.cpp ./src/V3Inline.cpp ./src/V3Inst.cpp ./src/V3InstrCount.cpp ./src/V3Interface.cpp ./src/V3Param.cpp ./src/V3ParseGrammar.cpp ./src/V3ParseImp.cpp ./src/V3ParseLex.cpp ./src/V3PreProc.cpp ./src/V3PreShell.cpp ./src/V3Premit.cpp ./src/V3ProtectLib.cpp ./src/V3Randomize.cpp ./src/V3Reloop.cpp ./src/V3Sampled.cpp ./src/V3Sched.cpp ./src/V3SchedAcyclic.cpp ./src/V3SchedPartition.cpp ./src/V3SchedReplicate.cpp ./src/V3SchedTiming.cpp ./src/V3SchedVirtIface.cpp ./src/V3Scope.cpp ./src/V3Scoreboard.cpp ./src/V3Slice.cpp ./src/V3Split.cpp ./src/V3SplitAs.cpp ./src/V3SplitVar.cpp ./src/V3StackCount.cpp ./src/V3Stats.cpp ./src/V3StatsReport.cpp ./src/V3String.cpp ./src/V3Subst.cpp ./src/V3TSP.cpp ./src/V3Table.cpp ./src/V3Task.cpp ./src/V3ThreadPool.cpp ./src/V3Timing.cpp ./src/V3Trace.cpp ./src/V3TraceDecl.cpp ./src/V3Tristate.cpp ./src/V3Undriven.cpp ./src/V3Unknown.cpp ./src/V3Unroll.cpp ./src/V3VariableOrder.cpp ./src/V3Waiver.cpp ./src/V3Width.cpp ./src/V3WidthCommit.cpp ./src/V3WidthSel.cpp ./src/V3Life.cpp ./src/V3LifePost.cpp ./src/V3LinkCells.cpp ./src/V3LinkDot.cpp ./src/V3LinkInc.cpp ./src/V3LinkJump.cpp ./src/V3LinkLValue.cpp ./src/V3LinkLevel.cpp ./src/V3LinkParse.cpp ./src/V3LinkResolve.cpp ./src/V3Localize.cpp ./src/V3MergeCond.cpp ./src/V3Name.cpp ./src/V3Number.cpp ./src/V3OptionParser.cpp ./src/V3Options.cpp ./src/V3Order.cpp ./src/V3OrderGraphBuilder.cpp ./src/V3OrderMoveGraph.cpp ./src/V3OrderParallel.cpp ./src/V3OrderProcessDomains.cpp ./src/V3OrderSerial.cpp ./src/V3Os.cpp ./src/V3Param.cpp ./src/V3ParseGrammar.cpp ./src/V3ParseImp.cpp ./src/V3ParseLex.cpp ./src/V3PreProc.cpp ./src/V3PreShell.cpp ./src/V3Premit.cpp ./src/V3ProtectLib.cpp ./src/V3Randomize.cpp ./src/V3Reloop.cpp ./src/V3Sampled.cpp ./src/V3Sched.cpp ./src/V3SchedAcyclic.cpp ./src/V3SchedPartition.cpp ./src/V3SchedReplicate.cpp ./src/V3SchedTiming.cpp ./src/V3SchedVirtIface.cpp ./src/V3Scope.cpp ./src/V3Scoreboard.cpp ./src/V3Slice.cpp ./src/V3Split.cpp ./src/V3SplitAs.cpp ./src/V3SplitVar.cpp ./src/V3StackCount.cpp ./src/V3Stats.cpp ./src/V3StatsReport.cpp ./src/V3String.cpp ./src/V3Subst.cpp ./src/V3TSP.cpp ./src/V3Table.cpp ./src/V3Task.cpp ./src/V3ThreadPool.cpp ./src/V3Timing.cpp ./src/V3Trace.cpp ./src/V3TraceDecl.cpp ./src/V3Tristate.cpp ./src/V3Undriven.cpp ./src/V3Unknown.cpp ./src/V3Unroll.cpp ./src/V3VariableOrder.cpp ./src/V3Waiver.cpp ./src/V3Width.cpp ./src/V3WidthCommit.cpp ./src/V3WidthSel.cpp ./include/verilated.h ./include/verilated_config.h ./include/verilated_cov.h ./include/verilated_cov_key.h ./include/verilated_dpi.h ./include/verilated_fst_c.h ./include/verilated_fst_sc.h ./include/verilated_funcs.h ./include/verilated_imp.h ./include/verilated_intrinsics.h ./include/verilated_profiler.h ./include/verilated_random.h ./include/verilated_save.h ./include/verilated_sc.h ./include/verilated_sc_trace.h ./include/verilated_sym_props.h ./include/verilated_syms.h ./include/verilated_threads.h ./include/verilated_timing.h ./include/verilated_trace.h ./include/verilated_trace_imp.h ./include/verilated_types.h ./include/verilated_vcd_c.h ./include/verilated_vcd_sc.h ./include/verilated_vpi.h ./include/verilatedos.h ./include/verilatedos_c.h ./src/V3Active.h ./src/V3ActiveTop.h ./src/V3Assert.h ./src/V3AssertPre.h ./src/V3Ast.h ./src/V3AstInlines.h ./src/V3AstNodeDType.h ./src/V3AstNodeExpr.h ./src/V3AstNodeOther.h ./src/V3AstUserAllocator.h ./src/V3Begin.h ./src/V3Branch.h ./src/V3Broken.h ./src/V3CCtors.h ./src/V3CUse.h ./src/V3Case.h ./src/V3Cast.h ./src/V3Class.h ./src/V3Clean.h ./src/V3Clock.h ./src/V3Combine.h ./src/V3Common.h ./src/V3Config.h ./src/V3Const.h ./src/V3Coverage.h ./src/V3CoverageJoin.h ./src/V3Dead.h ./src/V3Delayed.h ./src/V3Depth.h ./src/V3DepthBlock.h ./src/V3Descope.h ./src/V3Dfg.h ./src/V3DfgCache.h ./src/V3DfgOptimizer.h ./src/V3DfgPasses.h ./src/V3DfgPatternStats.h ./src/V3DfgPeephole.h ./src/V3DfgVertices.h ./src/V3DupFinder.h ./src/V3EmitC.h ./src/V3EmitCBase.h ./src/V3EmitCConstInit.h ./src/V3EmitCFunc.h ./src/V3EmitCMain.h ./src/V3EmitCMake.h ./src/V3EmitMk.h ./src/V3EmitV.h ./src/V3EmitXml.h ./src/V3Error.h ./src/V3ExecGraph.h ./src/V3Expand.h ./src/V3File.h ./src/V3FileLine.h ./src/V3Force.h ./src/V3Fork.h ./src/V3FunctionTraits.h ./src/V3Gate.h ./src/V3Global.h ./src/V3Graph.h ./src/V3GraphAlg.h ./src/V3GraphPathChecker.h ./src/V3GraphStream.h ./src/V3Hash.h ./src/V3Hasher.h ./src/V3HierBlock.h ./src/V3Inline.h ./src/V3Inst.h ./src/V3InstrCount.h ./src/V3Interface.h ./src/V3LangCode.h ./src/V3LanguageWords.h ./src/V3Life.h ./src/V3LifePost.h ./src/V3LinkCells.h ./src/V3LinkDot.h ./src/V3LinkInc.h ./src/V3LinkJump.h ./src/V3LinkLValue.h ./src/V3LinkLevel.h ./src/V3LinkParse.h ./src/V3LinkResolve.h ./src/V3List.h ./src/V3Localize.h ./src/V3MemberMap.h ./src/V3MergeCond.h ./src/V3Mutex.h ./src/V3Name.h ./src/V3Number.h ./src/V3OptionParser.h ./src/V3Options.h ./src/V3Order.h ./src/V3OrderCFuncEmitter.h ./src/V3OrderGraph.h ./src/V3OrderInternal.h ./src/V3OrderMoveGraph.h ./src/V3Os.h ./src/V3PairingHeap.h ./src/V3Param.h ./src/V3Parse.h ./src/V3ParseImp.h ./src/V3ParseSym.h ./src/V3PchAstMT.h ./src/V3PchAstNoMT.h ./src/V3PreExpr.h ./src/V3PreLex.h ./src/V3PreProc.h ./src/V3PreShell.h ./src/V3Premit.h ./src/V3ProtectLib.h ./src/V3Randomize.h ./src/V3Reloop.h ./src/V3Rtti.h ./src/V3Sampled.h ./src/V3Sched.h ./src/V3Scope.h ./src/V3Scoreboard.h ./src/V3SenExprBuilder.h ./src/V3SenTree.h ./src/V3Simulate.h ./src/V3Slice.h ./src/V3Split.h ./src/V3SplitAs.h ./src/V3SplitVar.h ./src/V3StackCount.h ./src/V3Stats.h ./src/V3StdFuture.h ./src/V3String.h ./src/V3Subst.h ./src/V3SymTable.h ./src/V3TSP.h ./src/V3Table.h ./src/V3Task.h ./src/V3ThreadPool.h ./src/V3Timing.h ./src/V3Trace.h ./src/V3TraceDecl.h ./src/V3Tristate.h ./src/V3Undriven.h ./src/V3UniqueNames.h ./src/V3Unknown.h ./src/V3Unroll.h ./src/V3VariableOrder.h ./src/V3Waiver.h ./src/V3Width.h ./src/V3WidthCommit.h ./src/V3WidthRemove.h ./src/VlcBucket.h ./src/VlcOptions.h ./src/VlcPoint.h ./src/VlcSource.h ./src/VlcTest.h ./src/VlcTop.h ./src/config_build.h ./src/config_package.h ./src/config_rev.h ./src/verilog.y ./src/V3PreLex.l ./src/verilog.l test_regress/t/*.c* test_regress/t/*.h
make[1]: Leaving directory '/svaha/wsnyder/SandBox/homecvs/v4/verilator'
2024-08-26 05:01:37 -04:00
Wilson Snyder
fa4af38b0a
configure: Print inbound CXX setting
2024-08-26 04:58:59 -04:00
Wilson Snyder
a9635aaa2c
Tests: Default to check_finished=>1
2024-08-24 19:27:59 -04:00
Wilson Snyder
f0cd6dd95c
Fix REALCVT warning on integral timescale conversions ( #5378 ).
2024-08-24 08:01:28 -04:00
Wilson Snyder
d8fdfa6be2
Internals: git ignore nohup.out
2024-08-24 07:56:48 -04:00
Wilson Snyder
f9511e9755
Internals: Make V3Number::selfTest()
2024-08-24 05:41:22 -04:00
Wilson Snyder
cfe1f23fff
Commentary: Changes update
2024-08-23 18:45:54 -04:00
Wilson Snyder
8741fd17ad
Internals: cppcheck cleanups. No functional change intended.
2024-08-23 18:24:34 -04:00
ffe76717c6
Thread pool rewrite ( #5161 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
Signed-off-by: Bartłomiej Chmiel <[email protected] >
Signed-off-by: Arkadiusz Kozdra <[email protected] >
Co-authored-by: Krzysztof Bieganski <[email protected] >
Co-authored-by: Arkadiusz Kozdra <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
2024-08-23 08:36:49 -04:00
Krzysztof Bieganski
eb8bbcda05
Internals: Simplify CaptureVisitor in V3Randomize ( #5397 )
2024-08-23 07:57:57 -04:00
Arkadiusz Kozdra
ed7040adc0
Fix dot fallback finding wrong symbols ( #5394 )
2024-08-22 15:49:08 -04:00
Wilson Snyder
48776277bd
devel release
2024-08-21 08:55:53 -04:00
Wilson Snyder
8ca45df9c7
Version bump
2024-08-21 08:40:24 -04:00
Wilson Snyder
8db9c1d227
Commentary: Changes update
2024-08-21 08:40:14 -04:00
Krzysztof Bieganski
930f35acc9
Support constraint_mode ( #5338 )
2024-08-21 06:16:44 -04:00
Krzysztof Bieganski
13e0fc7c27
Fix virtual interface null checks ( #5391 )
2024-08-21 05:40:52 -04:00
Bartłomiej Chmiel
a730daabef
Support 'parameter type' in hierarchical blocks ( #5309 ) ( #5333 )
2024-08-21 05:30:59 -04:00
Andrew Nolte
3c28b72897
Tests: Add info files to golden ( #5390 )
2024-08-21 06:44:02 +03:00
Wilson Snyder
05e5f1955e
Update include/gtkwave from upstream
2024-08-20 15:23:53 -04:00
Wilson Snyder
378800ee4a
Commentary: Changes update
2024-08-20 15:13:44 -04:00
Wilson Snyder
43a57da950
Add quotes to not-found filenames
2024-08-20 14:47:43 -04:00
James Bailey and James Bailey
99a43b7695
Fix +: and -: unpacked array slicing when array has nonzero low index ( #5345 ) ( #5387 )
...
Co-authored-by: James Bailey <[email protected] >
2024-08-20 14:20:48 -04:00
Krzysztof Bieganski
59d2eea302
Fix capturing fields from superclass in randomize() with ( #5389 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-20 13:25:58 -04:00
Kaleb Barrett
6f3f64e63f
Add --timing flag as Verilated cc define ( #5383 )
2024-08-18 20:02:54 +03: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
Wilson Snyder
9c5c77c69c
Favor use of more general idAny in parser
2024-08-13 15:25:07 -04:00
Wilson Snyder
4573e04488
Fix segfault after unsupported member call ( #5359 ).
2024-08-13 14:39:37 -04:00
Krzysztof Bieganski
6cb0a41857
Support inline random variable control ( #5317 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-13 14:20:31 -04:00
Geza Lore
124e3463fc
Fix cache config file resolution performance ( #5369 )
...
V3ConfigWildcardResolver::resolve used to only cache the result of a
name lookup if there were any directives applied to the queried name.
This can be a performance problem. E.g. the module resolver is invoked
for every variable to check for attributes. If you had 'n' variables in
the design, and you also had 'k' directives that apply to specific
modules not involving most of the 'n' variables, then checking the
attributes involved O(n*k) operations. This can be very expensive
for large 'n' and 'k'.
In this patch we resolve every name exactly once, so the same above is
now O(n) in the worst case, and often a lot smaller due to repeat
lookups.
2024-08-13 19:52:23 +02:00
Ethan Sifferman
1b15509a9c
Fix lint_off on Errors ( #5351 ) ( #5363 )
2024-08-11 21:04:46 +02:00
Wilson Snyder
eb3f10399a
Internal: Rename tokenPipeScanTypeEq. No functional change.
2024-08-11 12:15:20 -04:00
Wilson Snyder
4660806c8f
Internals: Remove wrong = new grammar rule.
2024-08-11 11:03:28 -04:00
Wilson Snyder
6f5d1037b4
Commentary
2024-08-11 10:33:04 -04:00
Wilson Snyder
24b097b228
Improve new class error ( #5359 )
2024-08-11 10:09:05 -04:00
Wilson Snyder
a0ea96b355
Favor use of more general idAny in parser
2024-08-09 18:00:36 -04:00
Wilson Snyder
a663da7393
Internals: Split idType from simple_type. No functional change intended
2024-08-09 17:45:54 -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
Luca Colagrande
d1da1664f0
Docs: Fix typos in :vlopt: command usage in docs ( #5355 ) ( #5356 )
2024-08-09 14:17:36 +01:00
Krzysztof Bieganski
b100615726
Internals: Relax requirements for AstClass iteration methods ( #5335 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-09 10:05:52 +01:00
Krzysztof Bieganski
ec0815e9ac
Fix NBAs in suspendables ( #5348 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-08-08 22:12:00 +01:00
Krzysztof Bieganski
97e9996f0b
Fix optimized-out sentrees with --timing ( #5080 ) ( #5349 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
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 <[email protected] >
2024-08-08 21:55:46 +01:00
Krzysztof Bieganski
701fa5438a
Fix output clockvar overwriting signal ( #5320 ) ( #5347 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
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 <[email protected] >
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
18fc3e6089
Internals: Favor idAny in typedefs.
2024-08-07 18:45:53 -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 <[email protected] >
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 <[email protected] >
2024-08-06 08:48:46 -04:00
Bartłomiej Chmiel
3b81654c72
Fix -Wunused-but-set-variable clang warning ( #5331 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
2024-08-06 08:48:12 -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 <[email protected] >
2024-08-05 17:56:03 -04:00
Bartłomiej Chmiel
7d5e19365e
Support assertcontrol directive type ( #5310 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
2024-08-05 17:54:13 -04:00
Wilson Snyder
6fa1ade4e0
Commentary: Changes update
2024-08-05 04:03:21 -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 <[email protected] >
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 <[email protected] >
2024-07-31 22:30:48 +01:00
Wilson Snyder
403a197e23
Python lint fix
2024-07-28 14:57:29 -04: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
github action
167cba723e
Apply 'make format'
2024-07-28 17:59:13 +00:00
Wilson Snyder
7f40dd8b5b
CI: Fix codecov upload
2024-07-28 13:58:26 -04:00
Wilson Snyder
1609c23fea
Fix cputime being zero
2024-07-28 13:14:10 -04:00
Wilson Snyder
216fc8a212
CI: Fix codecov upload
2024-07-27 07:18:50 -04:00
Wilson Snyder
5136ea1082
CI: Fix codecov upload
2024-07-27 07:02:18 -04:00
Wilson Snyder
5b931faf2b
CI: Fix codecov upload
2024-07-27 06:31:20 -04:00
Wilson Snyder
a2496e041e
CI: Change to action-based codecov upload
2024-07-26 14:07:53 -04:00
Wilson Snyder
fab268f772
CI: Change to action-based codecov upload
2024-07-26 10:39:08 -04:00
Wilson Snyder
550d47b7f4
CI: Change to action-based codecov upload
2024-07-26 10:27:00 -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
2082f1aa9e
Internals: Update fastcov.py from upstream
2024-07-26 08:48:12 -04:00
Wilson Snyder
50a5a1ff5b
Tests: Fix some verilog.y parser coverage holes
2024-07-26 07:29:15 -04:00
Arkadiusz Kozdra
1600cc01a4
Internals: clean up begin blocks and lifetimes in foreach loops ( #5306 )
...
According to IEEE 1800-2023 12.7.3, the loop creates an implicit block
around it, containing declarations of the loop variables with automatic
lifetime.
No functional change intended.
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-07-26 05:50:29 -04:00
Ryszard Rozak
b9e1d55262
Fix handling of rand fields not referenced in constraints ( #5305 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-07-26 05:46:30 -04:00
Geza Lore
0d43c14b93
Internals: Remove redundant hash lookup ( #5276 partial) ( #5303 )
...
Minor help for #5276
2024-07-25 16:07:58 -04:00
Ricardo Barbedo
87d1c10fa7
Fix compiler coroutine check ( #5190 ) ( #5300 )
...
The necessary options to support C++ coroutines vary greatly between
compilers, its versions, and the standard library being used. This
patch makes the check for coroutine support more robust by adding a
declaration of a coroutine variable, instead of just including the
header. It also makes sure that the HAVE_COROUTINE and
CFG_CXXFLAGS_COROUTINES flags are always set together, and only when
coroutine support is detected.
2024-07-24 17:21:14 -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 <[email protected] >
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
github action
2727c33219
Apply 'make format'
2024-07-24 10:07:59 +00: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
Wilson Snyder
d2dfcbca53
Internals: Add log_changes for updating Changes file
2024-07-23 18:36:57 -04:00
Wilson Snyder
e779934443
Commentary: Changes update
2024-07-22 17:22:37 -04:00
Arkadiusz Kozdra
a3b255b054
Internal: Suppress new clang-tidy messages ( #5293 )
...
The two most useless warning classes are llvmlibc-* on virtually every
identifier use that it does not resolve to __llvm_libc:: namespace, and
altera-* ones that warn on virtually every loop statement that it could
be unrolled with a pragma. No functional change.
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-07-22 13:11:50 -04:00
Krzysztof Bieganski
f5caa4b7dc
Fix randomizing current object with rand class instance member ( #5292 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
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 <[email protected] >
2024-07-19 09:14:56 +02:00
Krzysztof Bieganski
b18037b7e7
Internals: Move non-visit methods to the proper place ( #5279 )
2024-07-18 08:57:39 -04: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 <[email protected] >
2024-07-17 08:21:45 +02:00
Krzysztof Bieganski
e11bc6beeb
Internals: Refactor function argument traits ( #5269 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-07-16 20:55:04 +02:00
Arkadiusz Kozdra
0a9b31bb30
Add warning on dist in constraints ( #5264 )
2024-07-15 21:01:33 -04:00
Krzysztof Bieganski
34e37d7bd0
Keep one member map for randomize method creation ( #5263 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-07-15 16:42:41 +02:00
Yangyu Chen
164a7a7c5d
Improve emitted code to use a reference for VlSelf ( #5254 )
2024-07-15 09:44:01 -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 <[email protected] >
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
dc037db1cd
Internals: Make upcase clean. No functional change.
2024-07-14 15:28:00 -04:00
Wilson Snyder
0658af90f5
Fix classes/modules of case-similar names ( #5109 ).
2024-07-14 13:57:16 -04:00
Wilson Snyder
131623de34
Internals: Favor s string literals. No functional change.
2024-07-14 11:39:45 -04:00
Wilson Snyder
74ae879c2f
Internals: Remove duplicate filenameNonExt. No functional change.
2024-07-14 11:31:32 -04:00
Wilson Snyder
8c3b754bac
Internals: Rename some filename functions. No functional change.
2024-07-14 09:34:54 -04:00
Wilson Snyder
e080f5c0cb
Fix tracing with --main-top-name - ( #5261 ).
2024-07-14 07:35:26 -04:00
Wilson Snyder
2284cf595d
Commentary: Changes update
2024-07-14 07:34:36 -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 <[email protected] >
2024-07-12 16:18:18 +02:00
Wilson Snyder
6882f8c55e
Commentary: Surfer ( #5253 )
2024-07-11 18:33:35 -04:00
Krzysztof Bieganski
2696a9a5bd
Fix unconstrained randomization of unpacked structs ( #5252 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-07-11 16:43:56 +02:00
Krzysztof Bieganski
abb46c9cb2
Refactor AstMemberSel creation with AstVar ( #5251 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-07-11 16:42:58 +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
11da07d3b9
Support $assertcontrol assertion_type ( #5236 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
Signed-off-by: Ryszard Rozak <[email protected] >
Co-authored-by: Ryszard Rozak <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
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
e3e7b3f2b5
Fix errors on using string in incorrect format ( #5240 ).
2024-07-09 08:30:20 -04:00
Wilson Snyder
fe0b210a0c
Fix errors on using string in incorrect format ( #5340 ).
2024-07-09 08:29:22 -04:00
Chris Bachhuber
c383f4868f
Commentary: Mention docker hub explicitly ( #5241 )
2024-07-09 06:59:43 -04:00
Wilson Snyder
b66fdd7421
Fix unknown conversion on queues ( #5220 ).
2024-07-08 10:19:51 -04:00
Wilson Snyder
83878325a7
Commentary: Update git issue templates.
2024-07-08 08:12:58 -04:00
github action
490bc63eb5
Apply 'make format'
2024-07-06 12:13:35 +00: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
Wilson Snyder
3cee54dfdf
Commentary: Changes update
2024-07-05 17:17:29 -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 and Seth Pellegrino
a6d438d111
Fix mis-removing $value$plusargs calls ( #5127 ) ( #5137 ). [Seth Pellegrino]
...
Co-authored-by: Seth Pellegrino <[email protected] >
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
Wilson Snyder
8bffb8c391
Fix table optimizing logic with side effect ( #5137 prep)
2024-07-02 09:22:56 -04:00
Arkadiusz Kozdra
85356f464f
State-dependent constraints ( #5217 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
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
404allen404
d6a294b784
Commentary: Fix typo in for --trace-max-array and --trace-max-width options ( #5205 )
2024-06-27 21:25:21 -04:00
Bartłomiej Chmiel
864a852bca
Add --compiler-include for additional C++ includes ( #5139 ) ( #5202 )
2024-06-27 18:53:44 -04:00
Wilson Snyder
b0992406aa
Commentary: Changes update
2024-06-25 19:22:00 -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
Gus Smith
4c584c17e6
Add -std=gnu++20 ( #5200 )
2024-06-25 05:23:50 -04:00
Wilson Snyder
3315a6e431
Internals: Also cleanup gettes/setters in .cpp. No functional change intended.
2024-06-22 19:50:59 -04:00
github action
ba0183131c
Apply 'make format'
2024-06-22 22:58:42 +00:00
Ryan Ziegler
e1580b9c3d
Internals: Reorder class getters/setters ( #5197 ). No functional change intended.
2024-06-22 18:57:54 -04:00
Tim Hutt
aadd5ea509
Fix linking with pthreads on CMake ( #5194 )
2024-06-21 10:34:11 -04:00
Philip Axer
833df6d9ea
Fix CMake installation missing verilated.mk ( #5187 ) ( #5188 )
2024-06-19 08:07:17 -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
6e557791c8
devel release
2024-06-15 08:49:57 -04:00
Wilson Snyder
cd693ce02b
Version bump
2024-06-15 08:43:45 -04:00
Wilson Snyder
2641bc98aa
Update include/gtkwave from upstream
2024-06-15 08:14:43 -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 <[email protected] >
2024-06-14 08:07:32 -04:00
Wilson Snyder
f96e99542c
Internals: Fix cppcheck warnings. No functional change.
2024-06-13 21:29:03 -04:00
Wilson Snyder
7de193c2e9
Commentary: Changes update
2024-06-13 18:04:57 -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 <[email protected] >
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
github action
d6e5703298
Apply 'make format'
2024-06-12 11:44:29 +00: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
221fecad0b
Commentary
2024-06-11 19:47:53 -04:00
Wilson Snyder
fd1e4d9e45
Add assertion on reusing VerilatedContext ( #5167 ).
2024-06-11 19:38:58 -04:00
Wilson Snyder
920ed5ca3d
Internals: Avoid unordered_map/set. No functional change intended.
2024-06-11 18:52:09 -04:00
Arthur Rosa
2537431273
Fix table optimization when applied on real data type ( #5172 ) ( #5173 )
2024-06-11 13:26:11 -04:00
Bartłomiej Chmiel
13114f2efe
Fix SystemC BITS_PER_DIGIT in VL_ASSIGN_SBW ( #5170 )
...
The BITS_PER_DIGIT macro value differs between SystemC versions,
thus referencing it directly is required.
2024-06-10 20:45:49 -04:00
Arkadiusz Kozdra
e9f59e44a5
Fix non-constant replication in concats ( #5171 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
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 <[email protected] >
* wording/formatting
Signed-off-by: Arkadiusz Kozdra <[email protected] >
---------
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-06-10 08:38:26 -04:00
Wilson Snyder
02dd33b60e
Commentary: Changes update
2024-06-09 17:10:53 -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
github action
962efa3691
Apply 'make format'
2024-06-09 02:45:26 +00: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
Wilson Snyder
5363d89870
Tests: Disable msbuild executable running ( #5163 )
2024-06-08 19:37:31 -04:00
Wilson Snyder
44acb08ea9
Tests: Commentary - enable msbuild debug
2024-06-08 19:36:50 -04:00
Yutetsu TAKATSUKASA
6584b4d426
Fix assertion failure in V3Gate ( #5101 )
2024-06-08 08:37:01 -04:00
Paul Bowen-Huggett
9ff06c1664
Fix 'experimental/coroutine' file not found on macOS ( #5030 ) ( #5031 ) ( #5151 )
...
libcxx has removed the experimental/coroutine include file in favor of
the C++20-standard coroutine include. If the latter is available we
use it otherwise falling back to the existing experimental version (in
which case we also disable the deprecated-experimental-coroutine warning).
(See also https://reviews.llvm.org/D108697 .)
2024-06-08 08:33:50 -04:00
github action
1537c9badc
Apply 'make format'
2024-06-08 03:05:01 +00:00
Wilson Snyder
708f875b31
Fix MSVC warnings. No functional change intended.
2024-06-07 22:52:56 -04:00
Kaleb Barrett
0d3cb86a44
Fix VerilatedVpiPutHolder class ( #5156 )
2024-06-07 22:25:33 -04:00
Wilson Snyder
5c2b9d55b2
Fix MSVC C4805 == type mismatch warning
2024-06-07 22:14:32 -04:00
Arkadiusz Kozdra
1dbf1be3e6
Support inout clocking items ( #5160 )
2024-06-07 08:30:58 -04:00
Wilson Snyder and Dercury
3f886f7c61
Fix select value too wide ( #5148 ) ( #5153 ).
...
Co-authored-by: Dercury <[email protected] >
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 and Andrew Nolte
53c2e416f4
Tests: Extend t_typenames ( #5083 )
...
Co-authored-by: Andrew Nolte <[email protected] >
2024-05-30 22:32:14 -04:00
github action
e834b5be2d
Apply 'make format'
2024-05-29 20:56:45 +00:00
Kaleb Barrett
bd7689f59a
Fix overflow of string on VPI reads ( #5145 ) ( #5146 )
2024-05-29 16:55:46 -04:00
Kaleb Barrett
3496eb80a5
Improve VerilatedVpiPutHolder storage requirements ( #5144 )
2024-05-29 08:39:08 -04:00
Ryszard Rozak
839c3bf444
Commentary: Fix docs of verilator_coverage ( #5149 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2024-05-29 08:11:35 -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
github action
552a146f9c
Apply 'make format'
2024-05-22 11:54:22 +00: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
Wilson Snyder
5f85c89425
Commentary: Changes update
2024-05-18 17:48:52 -04:00
Wilson Snyder
94f789b677
Update issue template
2024-05-18 17:41:36 -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 <[email protected] >
2024-05-17 07:38:36 -04:00
Arkadiusz Kozdra
9a8e68928d
Internals: Move getenvStr to verilatedos. ( #5118 )
...
* Internals: Move getenvStr to verilatedos. No functional change intended.
* Fix POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument.
Signed-off-by: Arkadiusz Kozdra <[email protected] >
2024-05-13 10:23:51 -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
Wilson Snyder
69a2bfee68
Commentary: Changes update
2024-05-08 08:41:56 -04:00
Wilson Snyder
1cc37ad6ce
Internals: Add missing VL_DO_DANGLING. No functional change intended.
2024-05-08 08:36:24 -04:00
2a9f29912c
Add parameterless assert control system tasks ( #5010 )
...
Signed-off-by: Bartłomiej Chmiel <[email protected] >
Co-authored-by: Ryszard Rozak <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: Arkadiusz Kozdra <[email protected] >
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
Vito Gamberini
64ba569f0d
Fix MacOS missing <type_traits> header ( #5096 ) ( #5097 )
2024-05-02 21:38:36 -04:00
Wilson Snyder
3cb4033c97
Fix width extension of unpacked array select ( #5095 ).
2024-05-02 20:41:39 -04:00
github action
6509bac59e
Apply 'make format'
2024-05-02 23:03:39 +00: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
Geza Lore
d841a791e6
Refactor V3Delayed to enable algorithmic extension ( #5090 )
...
No functional change.
This patch is just cleanup with some non-functional changes to enable
the next patch. Most importantly createDlyOnSet, which implements NBAs
for arrays, has a new streamlined implementation that does the same
thing. Some output code is perturbed due to statement/local variable
insertion order.
Also renamed Vdlyvfoo to VdlyFoo for easier readability of the generated
code.
2024-05-01 23:06:25 +01:00
Geza Lore
b5b937e2f2
Fix missed optimization in V3Delayed ( #5089 )
...
Checking the wrong node meant we never actually pushed constant
bit-select indices into the delayed update, as was the intention, but
always generated a temporary instead.
2024-05-01 16:22:56 +01: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
4982f63da2
Update coverage for last commit
2024-04-30 19:34:41 -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
Andrea Calabrese
25ca1af8b3
Internals: Fix missing const ( #4899 )
2024-04-29 22:57:56 -04:00
Wilson Snyder
5d54fa8e6f
Fix missing parameters with comma to be errors ( #4979 ) ( #5012 ).
2024-04-29 22:41:16 -04:00
Christopher Taylor
e8c5b9faad
Fix missing flex include path variable ( #4970 ) ( #4971 )
2024-04-29 22:01:09 -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
Bartłomiej Chmiel
d1b45b8d32
Fix attempted to destroy locked thread pool error ( #5040 )
2024-04-29 07:59:24 -04: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
Geza Lore
97680656d3
Remove unknown '--' form cmake -E ( #5073 )
...
After #5063 , with cmake 3.22.1, I get test failures, saying:
cmake -E env: unknown option '--'
The '--' is necessary so removing.
2024-04-27 11:09:59 +01:00
Michael Bikovitsky
4202ec2ab2
Fix CMake builds to export VERILATOR_ROOT ( #5063 )
2024-04-26 19:29:10 -04: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
Gökçe Aydos
a9664b8d16
Remove $(info) which cannot be silenced by -MAKEFLAGS '--quiet' ( #5059 )
2024-04-20 08:48:16 -05: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 <[email protected] >
2024-04-18 11:53:23 -05: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
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
Wilson Snyder
72845167e6
Commenary: Fix README badge paragraph
2024-04-10 17:02:07 -04:00
Krzysztof Bieganski
7ca2d6470a
Fix consecutive zero-delays ( #5038 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2024-04-05 16:48:47 -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
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
Wilson Snyder
1d486e3a59
Rename statsPrintSummary()
2024-03-30 13:19:47 -04:00
Wilson Snyder
9b396f7125
Fix pylint warning
2024-03-30 13:13:51 -04:00
Wilson Snyder
e16cbce52e
Internals: Fix clang_check_attributes false error print
2024-03-30 11:58:34 -04:00
Wilson Snyder
840970e8f7
Internals: Add VL_MT_SAFE flags
2024-03-30 11:54:29 -04:00
Wilson Snyder
e390d6779d
Internals: Rename threadsInModel()
2024-03-30 11:13:14 -04:00
Wilson Snyder
39ee522f92
Commentary: Changes update
2024-03-28 08:22:15 -04:00
Wilson Snyder
9526efcf72
Fix V3Hash MacOS ambiguity ( #5011 )
2024-03-28 08:11:48 -04:00
github action
d397e0d838
Apply 'make format'
2024-03-28 11:32:57 +00: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 <[email protected] >
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
0ff77fc352
Internals: Remove extra single-line {}. No functional change.
2024-03-27 17:57:49 -04:00
Wilson Snyder
341963e820
Internals: Avoid '%Error' so can grep logs for real errors
2024-03-27 09:00:34 -04:00
Wilson Snyder
db60b92613
Fix internal error on missing pattern key ( #5023 )
2024-03-27 08:41:58 -04:00
Geza Lore
98206a4f04
Improve V3List user interface ( #4996 )
2024-03-25 23:06:25 +00:00
Wilson Snyder
4df9e2e0e5
Add printing summary reports ( #4909 ) ( #5018 )
2024-03-25 07:03:17 -04:00
Wilson Snyder
34e4cffb62
Add stats on output size
2024-03-24 10:50:53 -04:00
Wilson Snyder
71d76c993c
Fix MSVC++ warnings. No functional change.
2024-03-24 10:19:26 -04:00
Wilson Snyder
e67bdb4c08
Commentary
2024-03-24 09:23:37 -04:00
Wilson Snyder
23f013f2d7
Add stats on input size etc ( #5017 )
2024-03-24 09:14:31 -04:00
Geza Lore
9b729b80e0
Plug memory leaks ( #5016 )
2024-03-23 22:12:43 +00:00
Wilson Snyder
38ad328956
Remove duplicate stop ignored messages
2024-03-22 19:35:42 -04:00
Wilson Snyder
f767f0cfaa
Commentary
2024-03-22 19:35:13 -04:00
Fuad Ismail
1c79df8630
Support stream operation on unpacked array ( #4714 ) ( #5006 )
2024-03-21 18:26:42 -04:00
Wilson Snyder
248573205b
Commentary: Changes update
2024-03-20 18:27:35 -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 <[email protected] >
2024-03-20 08:54:23 -04:00
Arkadiusz Kozdra
26f15e11c4
Fix unique {} constraints missing semicolon ( #5001 )
...
Signed-off-by: Arkadiusz Kozdra <[email protected] >
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
Geza Lore
6ffff8565f
Use the same serial ordering within MTasks as we use in serial mode ( #4994 )
...
The goal here is to use as single ordering heuristic (which can be
improved later) within MTasks as we do for serial code ordering. The
heuristic itself is factored out into the new OrderMoveGraphSerializer.
This also yields slightly nicer ordering than the previously use
GraphStream, so we end up with fewer trigger (domain) conditionals in
the MTasks, this can be worth a few percent speedup.
This has the somewhat nice side-effect of reusing OrderMoveGraphVertex
for both serial and parallel mode, so MTaskMoveGraphVertex can be
removed.
Serial mode yields identical output.
2024-03-17 13:15:39 +00:00
Geza Lore
494e05b326
Fix install instructions for attribute checks, do the same in CI ( #4995 )
...
On Ubuntu 22.04, pip install clang picks up a mismatched version by
default. There are 'apt' packages with correct dependencies, so use
those instead.
2024-03-17 12:10:13 +00: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
Geza Lore
292cc54768
Compute MTask affinity in V3VariableOrder ( #4991 )
...
Instead of carrying around MTask affinity from scheduling, compute it in
V3VariableOrder (where it is used), by tracing through the code. This
simplifies some code and has the benefit of handling variables
introduced after scheduling. It's worth a few % speed at run-time, and
the new implementation of V3VariableOrder is slightly more efficient,
though the speed/space is still dominated by the TSP sort.
2024-03-16 16:32:12 +00:00
Geza Lore
e8a9662eb5
Simplify LogicMTask/ExecMTask IDs ( #4990 )
...
There is no strong need to re-map LogicMTask IDs and it just adds extra
processing. Instead we just allocate a separate set of ExecMTask IDs as
they are created, which can also be used as the unique profiling ID as
well. The only effect on the output of this is the change in mtask IDs
emitted, which was fairly arbitrary to begin with.
2024-03-16 14:02:17 +00: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
Wilson Snyder
5f8c06c805
Internals: Add AstNode::isNull(). No functional change.
2024-03-16 09:12:18 -04:00
Kevin Nygaard
a5ad26cd28
Fix tests on macOS ( #4984 ) ( #4985 )
2024-03-16 09:08:03 -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
Geza Lore
bf8a88a0ad
Do not create any empty ExecMTasks ( #4987 )
2024-03-16 12:00:32 +00:00
Geza Lore
878204db73
Do not feed any empty logic into scheduling ( #4972 )
2024-03-16 10:35:56 +00:00
Nolan Poe
08c76b1da6
Fix GCC14 warnings on template specialization syntax ( #4974 ) ( #4975 )
2024-03-15 22:21:08 -04: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
0cab076b86
CI: Reenable address sanitizer and fix core dumps ( #4983 )
2024-03-15 21:06:21 -04:00
Wilson Snyder
3a28ed24ea
Revert last bin/verilator change.
2024-03-15 10:34:50 -04:00
Wilson Snyder
71775eae4c
sanitize
2024-03-15 10:32:31 -04:00
Wilson Snyder
953249aa43
CI: Add dist-vlt-3 to avoid out of disk space
2024-03-12 07:49:01 -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
c92ced4ac7
Do not defer deletion in const-bit-op-tree
...
Deferring deletion of unused terms is not necessary, but can cause huge
memory usage increases in some bad cases.
2024-03-11 17:33:40 +00:00
Wilson Snyder
ba47da6587
Internals: Move vl_timescaled_double to verilated_funcs.h. No functional change intended
2024-03-10 22:34:32 -04:00
Wilson Snyder
2c27f22900
Remove unused vltstd::exchange, should be using C++14 std::exchange instead
2024-03-10 22:32:51 -04:00
Geza Lore
c0391990ad
Increase graph ParallelismReprot values to uint64_t
2024-03-10 18:56:31 +00:00
Geza Lore
2247e1e345
Cleanup/simplify V3OrderParallel ( #4959 )
...
No functional change.
2024-03-10 18:15:45 +00: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
Wilson Snyder
7694a7bf41
Fix suggestion of ulimit -s ( #4956 )
2024-03-10 11:20:25 -04:00
Geza Lore
a686e547cf
Factor out graph parallelism report into a generic algorithm ( #4957 )
...
This is a generic algorithm parametrised by a cost function, so
implement it as such for easy reuse.
2024-03-10 14:56:43 +00:00
Geza Lore
1481d34959
Add candidate item count to MergeCond stats
2024-03-09 22:11:04 +00:00
Nolan Poe
04512e5d04
Add custom version for verilator --version packaging ( #4954 )
2024-03-09 16:44:25 -05:00
Geza Lore
9a3aed57b1
Internals: Simplify/cleanup V3OrderSerial ( #4955 ). No functional change.
...
Remove redundant data structures and simplify/cleanup implementation.
No functional change. Output is identical.
2024-03-09 16:19:35 -05: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
Arkadiusz Kozdra
f78783e187
Internals: Use LogOr/LogAnd on inside operator expansion ( #4951 )
...
This will help introducing constrained randomization, as SMT solvers
treat booleans and 1-bit vectors as incompatible types.
2024-03-08 08:17:41 -05:00
Wilson Snyder
11bfe7a7bb
cppcheck fixes. No functional change.
2024-03-07 19:20:00 -05:00
Wilson Snyder
8ba494c71f
Fix null characters in shortened identifiers ( #4946 ).
2024-03-07 18:09:55 -05:00
Geza Lore
acb63c929b
Split V3Order.cpp into multiple smaller files ( #4950 ). No functional change intended.
...
Move OrderBuildVisitor into V3OrderGraphBuilder.cpp (and rename to
V3OrderGraphBuilder). Move ProcessMoveBuildGraph to
V3OrderMoveGraphBuilder.cpp (and rename to V3OrderGraphBuilder).
This patch is pure code movement/rename, no refactoring at all.
2024-03-07 17:12:19 -05:00
Geza Lore
26dd5d4550
Add some missing VNUserInUse ( #4949 )
2024-03-07 20:26:58 +00: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
a30930bdcc
Fix unsound temporary name generation in V3DfgRegularize
...
Sadly used to produce some conflicting names.
2024-03-05 19:17:41 +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
Wilson Snyder
3d57256070
Commentary: Changes update
2024-03-04 08:22:36 -05:00
Wilson Snyder
5dc8fb5b4f
Commentary ( #4930 )
2024-03-04 08:04:39 -05:00
Wilson Snyder
3f0d434f82
Gtkwave: Update from upstream for warning cleanup ( #4941 )
2024-03-03 19:24:03 -05:00
Wilson Snyder
2cdc5ea48b
Fix unaligned access in --trace --runtime-debug ( #4941 ).
2024-03-03 12:33:11 -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
Wilson Snyder
9f8f61ef2f
Internals: Only show SimulateVisitor note once per type
2024-03-03 11:10:19 -05:00
github action
4b1f4938b8
Apply 'make format'
2024-03-03 15:23:47 +00: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
e60f652a64
Commentary ( #4936 )
2024-03-01 17:32:26 -05:00
Wilson Snyder
a4813ec677
Add warning on TOP-named modules ( #4935 ).
2024-03-01 17:28:12 -05:00
Kamil Rakoczy
01dadb0a8d
Fix try-lock spuriously fails ( #4931 ) ( #4938 )
2024-03-01 15:29:13 -05:00
Geza Lore
9dcb7ea6a9
Fix minor V3DfgPatternStats coding issues
2024-03-01 14:56:35 +00:00
github action
adfe072b89
Apply 'make format'
2024-03-01 14:15:34 +00: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
Geza Lore
3af0eb7fa0
Internals: Emit a separate CFunc for each MTask body ( #4932 ) ( #4933 )
2024-02-29 16:53:53 -05: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
e320b0b581
Internals: Favor const_iterators. No functional change intended.
2024-02-25 17:12:13 -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
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
Wilson Snyder
2162a31d3a
Commentary: Changes update
2024-02-22 03:57:56 -05: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
Jiangjie Weng
c3ff52208a
Commentary: Fix typo in the call condition of designp->nextTimeSlot() ( #4912 )
2024-02-21 10:15:29 -05:00
Andrew Nolte and Andrew Nolte
cfb73923bd
Test driver: Add -xrun Xcelium support ( #4896 )
...
Co-authored-by: Andrew Nolte <[email protected] >
2024-02-20 14:41:05 -05:00
Yutetsu TAKATSUKASA and Wilson Snyder
a951446f9b
Add --[no]-stop-fail option ( #4904 )
...
Co-authored-by: Wilson Snyder <[email protected] >
2024-02-19 21:26:58 +09:00
Wilson Snyder
a187a16e56
Commentary: Changes update
2024-02-13 21:47:09 -05:00
Wilson Snyder
d1dec38f38
Fix integer compare warning ( #4887 ). No functional change.
2024-02-13 18:37:41 -05: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
be471e9ccc
Internals: Minor coverage reformatting/renaming. No functional change.
2024-02-08 19:10:38 -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
Wilson Snyder
715dce546f
Fix debug infinite loop when bad coverage pointers
2024-02-07 19:57:02 -05:00
Wilson Snyder
07d86bf91d
Allow loop unrolling with coverage
2024-02-07 19:56:32 -05:00
Krzysztof Bieganski
fe8c7c5a94
Fix timing with expr on assign LHS ( #4880 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
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
8ab576f7e6
Internals: Use std::to_string. No functional change intended.
2024-02-04 14:38:25 -05:00
Wilson Snyder
6f92c9c974
CI: Update upload-artifacts/download-artifacts version ( #4875 )
2024-02-04 10:29:34 -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 and Bartłomiej Chmiel
c702fc944e
Fix SystemC biguint sign desynchronization ( #4870 )
...
* Fix writing to SystemC values with `VL_ASSIGN_SBW`
Signed-off-by: Krzysztof Bieganski <[email protected] >
Co-authored-by: Bartłomiej Chmiel <[email protected] >
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
eecdf4b0f3
Internals: Use C++14 exchange
2024-01-28 21:00:20 -05:00
Wilson Snyder
e3e5f30ba1
Check for C++14 without also accepting GNU C++11 ( #4865 )
2024-01-28 19:42:29 -05:00
Wilson Snyder
ce174743bb
Fix some MSVC warnings
2024-01-28 14:47:14 -05:00
Wilson Snyder
a84be1844f
MSVC fix, part of fix of null ( #4862 ).
2024-01-28 11:05:38 -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
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
94460867d3
Fix nondeterministic fork/tristate ordering ( #4690 ).
2024-01-25 20:33:43 -05:00
Wilson Snyder
5b70325e52
Internals: Style/debug cleanups. No functional change.
2024-01-25 20:26:56 -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
github action
8a7f36c34b
Apply 'make format'
2024-01-24 12:46:22 +00: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
github action
3d006afacc
Apply 'make format'
2024-01-24 03:08:39 +00: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
github action
0b8daf4ae4
Apply 'make format'
2024-01-23 18:06:10 +00:00
Paul Swirhun
6c0c88cfc4
Fix unsafe write in wide array insertion ( #4850 ) ( #4855 )
2024-01-23 13:05:27 -05:00
Wilson Snyder
f0d010d9c5
Github: Update actions ( #4852 )
2024-01-22 22:32:00 -05:00
Wilson Snyder
2989e54eaa
Add unsupported warning on property iff ( #4848 )
2024-01-21 16:18:48 -05:00
Wilson Snyder
1a2c9ca813
Updat GTKwave libraries from upstream
2024-01-21 13:59:54 -05:00
Wilson Snyder
e3f3e3399f
Commentary: Changes update
2024-01-21 13:50:27 -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
Wilson Snyder
89cfa0737f
Internals: Fix cppcheck warnings
2024-01-17 19:48:07 -05:00
Wilson Snyder
8b03f2d47b
Commentary
2024-01-17 19:47:07 -05:00
Anthony Donlon
f80c167d65
Fix warnings in verilated_sc_trace.h for Clang. No functional change. ( #4807 ) ( #4827 )
2024-01-17 19:30:42 -05:00
Szymon Gizler
db3ce29b36
Fix wrong utimes() param ( #4829 )
2024-01-17 08:32:44 -05:00
Wilson Snyder
6f96c6763d
Commentary
2024-01-17 08:25:54 -05:00
Szymon Gizler
372cdf1fc8
Tests: Let debugger handle signals instead of test driver ( #4817 )
2024-01-16 11:18:20 -05:00
github action
54922c036a
Apply 'make format'
2024-01-14 00:53:31 +00:00
Adrian Sampson
2e999a5441
Fix too null pointer dereference ( #4810 ) ( #4825 )
2024-01-13 20:52:50 -04:00
Tim Hutt
5073f208af
Internals: Use more standard syntax for avoiding unused variable warnings ( #4826 )
2024-01-13 15:34:59 -05:00
Larry Doolittle
c9d7486d16
Fix maybe-uninitialized compiler warning ( #4820 ) ( #4822 )
2024-01-12 13:09:34 -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
fcdd8e5da6
Fix missing includes with multiple inheritance ( #3819 partial)
2024-01-11 20:19:48 -05:00
Andrew Nolte
ab47fc6656
Fix localparam elaboration ( #3858 ) ( #4794 )
2024-01-11 07:49:07 -05:00
Szymon Gizler
5f52c066e5
Internals: Add serializeOnly() and dumpTreeEitherLevel() ( #4815 ) ( #4715 ). No functional change intended.
2024-01-09 10:35:13 -05:00
Wilson Snyder
19cb366e5d
Update ifdef ( #4805 ) ( #4807 ). No functional change.
2024-01-08 07:35:34 -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
69043549d6
Fix const anon union ( #4800 )
2024-01-06 17:26:07 -05:00
Wilson Snyder
68e4eeb53e
Add predicted stack overflow warning ( #4799 ).
2024-01-06 16:16:14 -05:00
Wilson Snyder
0ca90257a5
Add predicted stack overflow warning ( #4799 ).
2024-01-06 16:14:58 -05:00
Anthony Donlon
7507c5f56c
Support SystemC 3.0.0 public review version ( #4805 ) ( #4807 )
2024-01-06 06:01:35 -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
Wilson Snyder
a36a07c297
Internals: Favor UASSERT over v3fatalSrc. No functional change intended.
2024-01-05 18:00:06 -05:00
Wilson Snyder
47b129bf07
Commentary
2024-01-05 07:14:40 -05:00
Chykon
1a0c8f1573
Commentary: Add a link to Create-Binary Execution to the list of examples ( #4802 )
2024-01-04 10:47:22 -05:00
Wilson Snyder
2be6f03848
Commentary: runtime debugging
2024-01-03 21:03:17 -05:00
github action
4172c0f29e
Apply 'make format'
2024-01-03 12:13:21 +00: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
Mariusz Glebocki
719954a24a
Internals: Make V3Const.cpp parseable by non-compilers ( #4796 )
2024-01-02 14:51:40 -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
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
5a83209b9b
Tests: Fix last commit on width ( #4781 ).
2023-12-31 13:28:49 -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
ca3b5fbe99
Add verilated asserts that VL_MULS_MAX_WORDS does not overflow ( #4781 ). No functional change intended.
2023-12-30 15:31:58 -05:00
Wilson Snyder
9de6612cde
Avoid shift by 32 even if later masked, to avoid sanitizer warning ( #4781 ). No functional change intended.
2023-12-30 14:46:57 -05:00
Rasfunk
2d7e8b58e4
Require C++14 or newer ( #4784 ) ( #4786 )
2023-12-29 10:39:00 -05:00
Wilson Snyder
f3a97841bd
Commentary
2023-12-27 15:35:22 -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
17b6ce1379
Commentary: Changes update
2023-12-27 10:15:29 -05:00
Wilson Snyder
14ac24cacc
Commentary: sccache
2023-12-26 15:15:15 -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
9882c4c761
Github: Commentary
2023-12-24 10:35:12 -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 <[email protected] >
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
github action
8e1c0b0852
Apply 'make format'
2023-12-21 12:49:55 +00: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 <[email protected] >
2023-12-20 18:12:17 +01:00
Wilson Snyder
69b779b4a8
Internals: Cleanup cpp-check warnings. No functional change.
2023-12-20 07:49:03 -05: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
Geza Lore
c5ba6e22fa
Minor cleanup of trace internals
2023-12-12 20:27:16 +00:00
Geza Lore
6012ec8eb7
Put dynamic NBA commit in eval_phase__nba
...
Fixes #4634
2023-12-12 18:11:43 +00:00
Mariusz Glebocki
75a44e5aa9
Fix deadlocks in error handler ( #4672 )
2023-12-12 08:10:01 -05:00
Ryszard Rozak
a811f2e17d
Support inside operator on unpacked arrays and queues ( #4751 )
2023-12-12 09:20:22 +01:00
Stefan Wallentowitz
b65f2509a2
Devcontainer support ( #4748 )
...
devcontainers are a convenient way to provide users a reproducible
build environment. It is currently supported by Visual Studio Code,
Visual Studio and IntelliJ.
When the user opens the verilator repo in VSCode with the standard
devcontainer extension installed, VSCode will ask the user if they
want to reopen in the devcontainer, then build the Docker image as per
our definition and then restart VSCode 'remotely' attached to the
Docker container.
More information:
https://code.visualstudio.com/docs/devcontainers/containers
Also:
- zlibc is missing on Debian-based systems now
- Add non-root user to Dockerfile and make default
2023-12-12 08:46:25 +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
Wilson Snyder
39d9bd4d47
Internals: V3LinkDot fix missing restorer.
2023-12-06 08:29:33 -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
Geza Lore
5d99534d54
Improve W primitive operations with -Oz ( #4733 )
2023-12-02 22:59:30 +00:00
Geza Lore
f048cff093
Add inline for VL_ATTR_ALWINLINE, even on non GNU-C platforms ( #4734 )
...
This is required to avoid multiple definition errors at link time for
functions defined in headers and marked VL_ATTR_ALWINLINE.
2023-12-02 21:51:59 +00:00
Wilson Snyder
f571181d36
Commentary: Changes update
2023-12-02 16:48:33 -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
Wilson Snyder
feae9ca4aa
Internals: Use astgen for cross-node pointers. No functional change intended. ( #4727 )
2023-11-30 19:58:16 -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 <[email protected] >
2023-11-29 19:10:32 +01:00
Ryszard Rozak
ebfc2a4942
Fix parameter passing to ports ( #4723 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
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
William D. Jones
a7a48221d3
Fix Windows include gates in filesystemFlush implementation. ( #4720 )
2023-11-26 05:26:20 +01:00
Wilson Snyder
e5118661a7
Commentary
2023-11-24 13:02:05 -05:00
Wilson Snyder
58d9a5ebac
Use newline instead of endl, for fewer stream flushes
2023-11-24 11:45:52 -05:00
Wilson Snyder
fae7f11222
Fix compilers seeing empty input due to file system races ( #4708 ). Part 2.
2023-11-22 05:18:13 -05:00
Wilson Snyder
1986e62477
Internals: Remove unused append dumpTreeFile option
2023-11-21 22:32:13 -05:00
Wilson Snyder
0ee2a0e6d7
Don't remove DepSet as messes with skip-identical, part of last commit
2023-11-21 22:08:47 -05:00
Wilson Snyder
2b28ddd0c6
Fix MSWIN compile in last commit
2023-11-21 21:49:36 -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
ed05caec93
Rename __hier*.f files to match other generated files
2023-11-21 20:31:54 -05:00
Wilson Snyder
25ca965938
Commentary
2023-11-21 19:17:39 -05:00
github action
ead27db9f0
Apply 'make format'
2023-11-21 02:02:56 +00: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 <[email protected] >
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
Wilson Snyder
9fd5634778
Internals: Remove unneeded private's. No functional change
2023-11-13 21:37:45 -05:00
Wilson Snyder
c8063e5732
Internals: Misc cleanups in V3Graph and V3Dead. No functional change.
2023-11-12 22:08:08 -05:00
Wilson Snyder
ee3ba7c761
Internals: Use faster VNVisitorConst where able. No functional change intended.
2023-11-12 18:26:40 -05:00
Geza Lore
2882737bcd
V3Const: Fix select into And/Or/Xor pattern ( #4689 )
2023-11-12 19:41:18 +00:00
Geza Lore
47588f343b
astgen: Enforce the use of aliased operand accessors ( #4688 )
...
This patch enforces the use of the most specific accessors for operands
which have an '@astgen alias' declaration, by making the superclass
accessors of the same operands private. This ensures client code is
cleaner as you can't use multiple different methods to reference the
same operands (which we used to in some places). Also prep for some
refactoring.
2023-11-12 18:30:48 +00:00
Geza Lore
1c0af6c7bc
Reduce peak memory use of V3Subst ( #4687 )
...
V3Subst is currently the pass responsible for peak memory usage. This
patch saves ~16% of peak memory on OpenTitan.
2 changes:
- It is actually safe to delete the substituted expressions immediately,
but this is the lesser contribution
- More importantly, we only ever substitute STMTTEMP variables, which
are always defined within the same CFunc, so we can limit the scope of
the optimization to CFunc. This allows us to reclaim the SubstVarEntry
structures at the end of every CFunc, rather than at the end of the
whole pass, which gives us most of the memory savings.
Generated output is identical
2023-11-12 16:01:07 +00: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
Geza Lore
bea82def10
Add node memory usage info to V3Stats ( #4684 )
2023-11-12 14:19:53 +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
30a0d62436
Fix assignment of class reference to itself causing double free.
...
Test in next commit.
2023-11-12 07:30:56 -05:00
Wilson Snyder
91d0f25442
Internals: Fix style of iterator. No functional change.
2023-11-11 20:52:23 -05:00
Wilson Snyder
4a10c9ef6f
Internals: Rename. No functional change.
2023-11-11 20:47:10 -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
673f086e87
Commentary: Update contributors.
2023-11-11 18:49:51 -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
4636a7f14b
Internals: Fix uninitalized variables ( #4636 )
2023-11-11 14:58:54 -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
f3ae4b8786
Fix spelling
2023-11-10 23:25:53 -05:00
Anthony Donlon
6566e853cd
Support ccache when compiling Verilator with CMake ( #4678 )
2023-11-09 21:05:36 -05:00
Anthony Donlon
ab06ace1f6
Fix trace when using SystemC with certain configurations ( #4676 )
2023-11-09 07:48:23 -05:00
David Ledger
9a65ed4ce2
Fix Mingw Compilation ( #4675 )
2023-11-08 06:27:56 -05:00
Marlon James
5ba7084815
Fix VPI TOP level variable iteration ( #3919 ) ( #4618 )
2023-11-07 07:47:55 -05:00
Wilson Snyder
dc10118d3b
Fix C++20 compilation errors ( #4670 )
2023-11-06 07:13:31 -05:00
Wilson Snyder
27102ea0fb
CI: Combine lint and build workflows ( #4671 )
2023-11-06 07:13:00 -05:00
Geza Lore
c563175ff0
Fix scheduling of external force signals ( #4668 )
...
Used to set the wrong public flag on forceEn/forceVal, which means they
were not included in ICO as necessary, but V3Gate tended to inline them,
so this was hard to hit.
Fixes #4577
2023-11-05 16:58:22 +00:00
Krzysztof Boroński
b110c55993
Fix a memory leak in V3Fork ( #4628 )
2023-11-05 11:39:06 -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
Wilson Snyder
eace1d9c67
Internals: Use UINFO for preproc debug, to avoid stderr/cout output reordering confusion.
2023-11-04 10:51:14 -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
Geza Lore
ae6ec411d0
Remove dead code from V3EmitV
2023-11-02 20:25:44 +00:00
Geza Lore
8a77af7a6d
Remove redundant user*ClearTree calls
2023-11-02 19:16:48 +00:00
Wilson Snyder
2a57ead7e3
Commentary ( #4517 )
2023-11-01 17:43:11 -04: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
Ryszard Rozak
a764c70b4a
Fix handling of static keyword in methods ( #4649 )
2023-10-31 08:15:54 -04:00
Wilson Snyder
a27abab65f
Fix PCH to recompile on version change
2023-10-31 08:10:41 -04:00
Wilson Snyder
c241ec90ec
Commentary: Changes update
2023-10-30 22:10:03 -04:00
Krzysztof Bieganski
f789d28277
Fix signals read via virtual iface optimized out ( #4645 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2023-10-30 21:26:46 -04:00
Wilson Snyder
c1c8b30a35
CI: Add lint-py action ( #4640 )
2023-10-30 08:02:54 -04:00
Wilson Snyder
15046c6c59
Commentary: Icarus URL ( #4639 )
2023-10-30 08:01:12 -04:00
Ícaro Lima
1da15181da
Update CONTRIBUTORS ( #4641 )
2023-10-29 16:44:42 -04:00
Wilson Snyder
3c6b755352
Tests: Rename t_opt_dead
2023-10-29 09:42:52 -04:00
Geza Lore
3c144ada53
Delete AstNode user5 ( #4638 )
...
This saves about 5% memory. V3AstUserAllocator is appropriate for most use
cases, performance is marginally up as we are mostly D-cache bound on
large designs.
2023-10-29 01:12:27 +01:00
Wilson Snyder
7ba6647c4f
Internals: Cleanup some V3Graph constructors/funcs and docs. No functional change.
2023-10-28 20:11:28 -04:00
Geza Lore
e708670f9a
Minor memory optimizatoin of AstUser*Allocator
2023-10-28 20:31:57 +01:00
Geza Lore
de4c6065dc
make: add test-snap/test-diff targets ( #4635 )
2023-10-28 15:58:29 +01:00
Geza Lore
d60f180f43
Avoid double traversal of maps
...
The typical find/if-not-exists-insert pattern can be achieved with 1
lookup instead of 2 using emplace with a sentinel value. Also maps value
initialize their values when inserted with the [] operator, this is
defined and so there is no need to explicitly insert zeroes for integer
values.
2023-10-28 13:41:43 +01:00
Geza Lore
30318a6654
C++11 cleanup
2023-10-28 11:26:48 +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
Krzysztof Boroński
89743aae5d
Fix stable name generation in V3Fork ( #4615 ) ( #4624 )
2023-10-27 15:08:02 -04:00
Ryszard Rozak
e6135981a5
Fix dynamic casts of null values ( #4631 )
2023-10-27 15:58:40 +02:00
Kamil Rakoczy
739521333c
Tests: Fix clang_check_attributes missing dataclass decorator ( #4604 ) ( #4611 )
2023-10-27 08:24:27 -04: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 <[email protected] >
2023-10-26 16:38:47 +02:00
Geza Lore
34708bbba1
Respect --dump-tree-addrids in tree dumps
2023-10-25 18:17:26 +01:00
Krzysztof Boroński and Wilson Snyder
f91259f46d
Fix insertion at queue's end ( #4619 )
...
Signed-off-by: Krzysztof Boronski <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
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
Geza Lore
17721aff55
Remove unused IMPLICITWIRE var type
2023-10-24 10:02:00 +01:00
Geza Lore
d1b6224c2b
Associate trace codes with function indices ( #4610 )
...
For each traced variable, also register the trace function index that
will write it.
2023-10-23 16:01:55 +01:00
github action
1bd31742b9
Apply 'make format'
2023-10-23 14:07:52 +01:00
Geza Lore
165a2ef1b8
Separate tracing of const values from non-const values
...
Some values emitted to the trace files are constant (e.g.: actual
parameter values), and never change. Previously we used to trace these
in the 'full' dumps, which also included all other truly variable
signals. This patch introduces a new generated trace function 'const',
to complement the 'full' and 'chg' flavour, and 'const' now only
contains the constant signals, while 'full' and 'chg' contain only the
truly variable signals. The generate 'full' and 'chg' trace functions
now have exactly the same shape. Note that 'const' signals are still
traced using the 'full*' dump methods of the trace buffers, so there is
no need for a third flavour of those.
2023-10-23 14:07:52 +01:00
Ryszard Rozak
774c10396c
Fix try_put method of unbounded mailbox ( #4608 )
2023-10-23 14:33:22 +02:00
Marlon James
33c5b5feb8
Add sv_vpi_user.h from IEEE 1800-2017 Annex M ( #4606 )
2023-10-22 20:41:40 -04:00
Wilson Snyder
b83b9974ee
Fix gcc -O0 incompatible allocator warning
2023-10-22 09:51:02 -04:00
Wilson Snyder
bcbe5059a9
Internal: V3Graph style cleanup. No functional change
2023-10-22 09:50:38 -04:00
Wilson Snyder
5bda901146
Internals: Fix stats report to include main AstCFile made
2023-10-21 20:56:24 -04: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
978d900e36
Simplify and fix code stats
...
V3Stats for "fast" code have bit-rotted a little and is causing some
problems with tests that rely on stats outputs. The problem is that not
all code is necessarily reachable from eval() any more (due to the
complexity of some the features added over the past few years), so it
might miss some things, as for measuring the "fast" code, it is trying
to trace the execution paths via calls, starting from eval(). It also
appears the fast code can also contain calls to slow code in some
circumstances.
To avoid all that, removed trying to trace dynamic execution, and simply
report the static node counts, which is enough for testing.
Similarly, the variable counts are somewhat dubious, as they don't
include all data types, or all instances of a module in some stages.
Removing these as they are not widely used nor dependable. More specific
stats can be added if required and can be well defined.
2023-10-22 00:25:07 +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
146cdc020d
Remove V3AstConstOnly.h
...
This is now redundant with the introduction of VNVisitorConst
2023-10-21 20:41:46 +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
10d33238b9
Do not merge entry/exit MTasks during coarsening
2023-10-21 19:31:52 +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
Wilson Snyder
eae942b91c
Internals: Fix some lint-py warnings
2023-10-21 12:48:36 -04:00
Geza Lore
1075b006b5
Consider children of AstConcat in V3InstrCount
...
Previously V3InstrCount used to completely ignore an AstConcat,
including its children (see the rational in the comment). The problem is
the operands can be huge and expensive compound expressions (especially
since DFG), and not just a simple variable reference. This fix gains
some MT speed improvement.
2023-10-21 17:15:40 +01:00
Wilson Snyder
afaa02709c
CI: Increase CCACHE_MAXSIZE ( #4595 )
2023-10-21 10:38:46 -04:00
Wilson Snyder
332a687aef
Commentary
2023-10-21 10:35:07 -04:00
Geza Lore
d1c7875406
Fix conditionals on obsolete --threads 0
...
Since we removed --threads 0 support, the 'threads()' option always
returns a value >= 1. Remove corresponding dead code.
Some of the coverage counters appear to use atomics even if the model is
single threaded. I'm under the impression this was a bug originally so
those ones I changed to use threads() > 1 instead.
2023-10-21 15:14:27 +01:00
Geza Lore
cbc2f9eb32
Do not overwrite LD_LIBRARY_PATH in t_flag_ldflags
2023-10-21 11:34:36 +01:00
Quentin Corradi
26e3785963
Fix PLI/DPI user defined system task/function grammar ( #4587 ) ( #4588 )
...
According to 1800-2017 36.3, 1800-2017 A.9.3, 1364-2005 20.2 and 1364-2005 A.9.3, user defined system task and function identifiers can use the same character set for the second character as all the following characters.
2023-10-21 02:43:49 -04: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
Mariusz Glebocki
c7a0613c57
Support Clang 16 ( #4592 )
2023-10-20 15:47:09 -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
4cc42133b5
Internals: Rename some parser rules. No functional change.
2023-10-19 20:13:27 -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
Wilson Snyder
b7233d063f
Internals: Fix same() called outside of sameTree ( #4561 ).
2023-10-18 17:36:21 -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
263697e491
Commentary ( #4580 )
2023-10-18 08:15:55 -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
b5828a7ce9
Fix header order botched by clang-format in recent commit.
2023-10-18 06:37:46 -04:00
Wilson Snyder
51a18225ad
cmake: Fix missing headers
2023-10-18 06:37:38 -04:00
Wilson Snyder
28625451dd
Fix MSVC makefile list (part of previous commit)
2023-10-18 06:07:05 -04:00
Wilson Snyder
3914176bc4
Internals: Remove unused IGNORED to fix MSVC warning. No functional change intended.
2023-10-18 06:06:00 -04:00
Wilson Snyder
13989b965d
Tests: Add --binary with split, to check parallel builds
2023-10-17 23:13:04 -04:00
github action
770cd24f27
Apply 'make format'
2023-10-18 02:50:27 +00:00
Wilson Snyder
431bb1ed16
Support compiling Verilator with gcc/clang precompiled headers ( #4579 )
2023-10-17 22:49:28 -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
Ryszard Rozak
e99fd2892b
Make VNDeleter a member of VNVisitor. No function change. ( #4573 )
2023-10-17 09:26:53 +02: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
Yutetsu TAKATSUKASA
25dde58297
Internals: Use VN_AS instead of static_cast. Fix some wrong types. ( #4561 )
2023-10-16 05:17:52 -04:00
Anthony Donlon
bba3487dc4
Internals: Fix hash and comparison function for AstBasicDType ( #4564 )
2023-10-15 15:15:46 -04: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
github action
afecde87d8
Apply 'make format'
2023-10-15 11:00:14 +00:00
Wilson Snyder
c14eae6d56
Add SIDEEFFECT warning on mishandled side effect cases ( #487 partial)
2023-10-15 06:44:35 -04:00
Wilson Snyder
684aba0e90
Fix purity calculation during V3Const simplifying Ast
2023-10-15 06:25:42 -04:00
Wilson Snyder
46f8a659b3
Fix shift to remove operation side effects ( #4563 ).
2023-10-14 22:34:37 -04:00
Wilson Snyder
3940a214d0
Internals: Reorder some shift functions for next commit. No functional change.
2023-10-14 22:23:58 -04:00
Wilson Snyder
411f563cbe
Internals: Remove unneeded pure checks. No functional change.
2023-10-14 22:23:58 -04:00
Wilson Snyder
b5a6b34968
Tests: Remove old hack from before unpacked structs
2023-10-14 22:23:58 -04:00
github action
fa8eaf7355
Apply 'make format'
2023-10-14 19:20:22 +00: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
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
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
Gus Smith
a4b7c39a9a
Fix Verilated Makefile to get CXX etc. from enviorment ( #4549 ) ( #4554 )
2023-10-10 17:53:02 -04:00
Mariusz Glebocki
a5ee8b39ef
Internals: Remove use of V3Width code from V3AstNodes ( #4537 ). No functional change intended.
...
`getCommonClassTypep` and its helper code has been moved to AstNode
class. This is a lot better place for this functionality. Moreover, it
allowed to get rid of the dependency on V3Width from generic AST-related
code.
2023-10-09 17:43:27 -04:00
Ryszard Rozak
5b06c60318
Internals: Change deleteTree to pushDeletep ( #4548 ). No functional change intended.
2023-10-09 09:45:09 -04:00
Wilson Snyder
b306715b4a
Optimize empty expression statements ( #4544 ).
2023-10-09 05:50:31 -04:00
Wilson Snyder
8d99bdac25
Internals: Move afterCommentp to AstNode. No functional change.
2023-10-09 05:03:57 -04:00
github action
e114dfda6d
Apply 'make format'
2023-10-09 08:14:14 +00: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
7f38414276
Internals: Rename addIgnoreMatch. No functional change.
2023-10-08 01:02:23 -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
e2343c03e0
Internals: Create V3WidthCommit from overly fat header. No functional change intended.
2023-10-06 23:18:26 -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
106664b942
Internals: Fix long lines. No functional change.
2023-10-05 20:07:53 -04:00
Ryszard Rozak
1c738c6b83
Fix object destruction after a copy constructor ( #4540 ) ( #4541 )
2023-10-05 07:21:33 -04:00
Wilson Snyder
25fa1d7c6a
Commentary: Changes update
2023-10-04 20:17:14 -04:00
Wilson Snyder
45162652de
Commentary
2023-10-04 20:13:59 -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
33787c6add
Internals: Fix number nodep cloning, and assert stays consistent ( #4528 partial)
2023-10-01 12:46:35 -04:00
Ryszard Rozak
44e7d2ebe6
Internals: rename VPurity class and related functions. No functional change ( #4523 )
2023-09-29 12:23:51 +02: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
84ccb23098
Fix C++11 compiler constexpr return error
2023-09-26 22:43:17 -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
72b4a74245
Fix clang error on last commit
2023-09-26 19:58:09 -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
Wilson Snyder
d2c72a7f21
CI: Disable m32 runs
2023-09-25 12:30:25 -04:00
Anthony Donlon
60e9827ffe
Support converting parameters inside modules to localparams ( #4511 )
2023-09-25 11:39:04 -04:00
Wilson Snyder
a9256d4758
CI: Disable m32 runs
2023-09-25 11:28:44 -04:00
Anthony Donlon
750b5be5d3
Remove support for parameterized UDPs ( #4518 )
2023-09-25 10:40:44 -04:00
Mariusz Glebocki
28bd7e5b19
Rework multithreading handling to separate by code units that use/never use it. ( #4228 )
2023-09-24 22:12:23 -04:00
Anthony Donlon
d64c023099
CI: Cancel previous runs for pull requests automatically ( #4512 )
2023-09-23 11:50:05 -04:00
Wilson Snyder
429cb1f7f7
Commentary ( #4517 )
2023-09-23 09:04:35 -04:00
Wilson Snyder
9f75068059
Cleanup some error messages to properly quote
2023-09-23 08:52:50 -04:00
Ryszard Rozak
4636e9cffb
Fix passing arguments by reference ( #3385 partial) ( #4489 )
2023-09-20 07:33:11 -04:00
Wilson Snyder
4b2bf556d8
Tests: Revert UVM upstream ( chipsalliance/uvm-verilator#7 )
2023-09-20 07:32:21 -04:00
Kamil Rakoczy
a16ea94836
Fix detecting local vars in nested forks ( #4493 ) ( #4506 )
2023-09-19 17:32:42 -04:00
Michal Czyz
b9ea249f81
Rewrite usage of annotation options ( #4486 ) ( #4504 )
2023-09-19 09:08:17 -04:00
Wilson Snyder
470f480bc1
Fix -m32 compile issue
2023-09-19 07:23:35 -04:00
Wilson Snyder
24ff3155ae
Support randc ( #4349 ).
2023-09-18 21:17:21 -04:00
Ryszard Rozak
47b3f464a9
Disable conversion of impure logical expressions to bitwise expressions ( #487 partial) ( #4437 )
2023-09-18 09:21:30 -04:00
github action
cd201f8eb8
Apply 'make format'
2023-09-18 01:44:43 +00:00
Wilson Snyder
016278a759
Commentary
2023-09-17 21:43:00 -04:00
Wilson Snyder
b68f101e81
Support preprocessing __LINE__
2023-09-17 19:49:38 -04:00
Wilson Snyder
ab13548018
Support resizing function call inout arguments ( #4467 ).
2023-09-17 18:23:44 -04:00
Wilson Snyder
f507ee56b0
Fix warning in configure sc_main compile. ( #4499 )
2023-09-17 08:01:54 -04:00
Wilson Snyder
761adf1cf0
Internals: Add cloneTreePure to prepare for side effect check.
...
Use cloneTreePure when what is being cloned must be side-effect free.
Use cloneTree when safe to contain side effects (e.g. cloning module).
2023-09-16 22:50:54 -04:00
Wilson Snyder
cd1fe64e6c
devel release
2023-09-16 21:46:01 -04:00
Wilson Snyder
8f43e74288
Update CMakeList version
2023-09-16 20:54:54 -04:00
Wilson Snyder
cef3960a4e
Version bump
2023-09-16 18:36:39 -04:00
Wilson Snyder
783b7ecdab
Fix clang override warning (last commit)
2023-09-16 17:52:02 -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
05d04a3959
Internals: Fix misnamed member. No functional change.
2023-09-15 23:02:34 -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
26ed2a06a0
Tests: Add UVM test that generates ok with known issues commented out. ( #1538 ) ( #3267 ) ( #4125 ) ( #4323 ) ( #4349 ) ( #4465 ) ( #4467 ) ( #4468 ) ( #4470 ) ( #4493 ) ( #4494 ) ( #4495 ) ( #4496 ) ( #4497 )
2023-09-15 20:26:46 -04:00
Wilson Snyder
07013da13d
Tests: Disabled test ( #4493 )
2023-09-15 19:56:05 -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
188cf85b3f
Suppress some debug unknown hash/simulate warnings in UVM.
2023-09-15 18:33:02 -04:00
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
Wilson Snyder
2fbd41e13b
Tests: Add t_queue_persistence.pl as broken test ( #3385 ) ( #4489 )
2023-09-15 07:59:06 -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 <[email protected] >
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
ec2e3ec0e4
Update clang_check_attributes to take into account MT_DISABLED ( #4479 )
2023-09-13 16:32:18 -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 and Mariusz Glebocki
5676443139
Internals: Rename and slightly change other threads stopping/resuming methods. ( #4478 )
...
Co-authored-by: Mariusz Glebocki <[email protected] >
2023-09-11 13:43:26 -04:00
Kamil Rakoczy and Mariusz Glebocki
e77d847671
Check whether V3ERROR_NO_GLOBAL_ is not already defined. ( #4475 )
...
Co-authored-by: Mariusz Glebocki <[email protected] >
2023-09-11 09:01:34 -04:00
Kamil Rakoczy and Mariusz Glebocki
0baee84e96
Move dpiTemporaryVarSuffix() to header. ( #4474 )
...
Co-authored-by: Mariusz Glebocki <[email protected] >
2023-09-11 09:01:09 -04:00
Ryszard Rozak
c446cc2596
Internals: Remove unused constructor. No functional change. ( #4473 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
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
4de25369da
Tests: Add t_uvm_all
2023-09-08 22:29:23 -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
Wilson Snyder
9882ab6c67
Tests: Remove unstable new test
2023-09-08 07:22:52 -04:00
Ryszard Rozak
1a1f919882
Check the output in t_class_method_str_literal.v ( #4459 )
2023-09-08 08:51:54 +02: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
6cdf8da3f7
Fix documentation line wrap ( #4456 )
2023-09-05 07:25:33 -04: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
Wilson Snyder
679a4314dc
Tests: Avoid side effect on array index
2023-09-01 19:26:50 -04:00
Wilson Snyder
36932d31c4
Fix C++11 missing C++14's std::make_unique.
2023-09-01 18:07:15 -04:00
Wilson Snyder
ed25aaaad9
Internals: Fix g++ std11 warning. No functional change.
2023-09-01 17:59:30 -04:00
Wilson Snyder
147aa41ba5
Internals: Fix virt call in constructor warning. No functional change.
2023-09-01 17:58:17 -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
3d2399ea0f
Tests: Enable fixed-earlier ( #2314 )
2023-08-30 18:10:30 -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
5e6519c1b0
Commentary
2023-08-30 07:46:39 -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
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
Ryszard Rozak
2daa32b98b
Support assignments of packed values to stream expressions on queues ( #4401 )
2023-08-25 11:24:12 +02:00
Ryszard Rozak
e8e7912871
Tests: Fix t_net_delay test ( #4436 )
2023-08-23 13:27:17 -01: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
Aleksander Kiryk
7c7c92d2dd
Fix coroutine handle movement during queue manipulation ( #4431 )
2023-08-21 10:22:09 -04:00
Wilson Snyder
95f3dd0535
Commentary ( #4429 )
2023-08-21 06:23:35 -04: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
Wilson Snyder
436f72582b
Update GTKWave from upstream.
2023-08-19 06:57:43 -04:00
Wilson Snyder
af3aba7821
Commentary: Changes update
2023-08-19 04:56:49 -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
Jose Loyola
6c80457262
CI: Refactor docker build action to define DOCKER_HUB_NAMESPACE as repo variable ( #4419 )
2023-08-15 06:45:07 +02: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
9eba61018a
Tests: Ignore debug message in error line
2023-08-12 09:39:02 -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
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
Krzysztof Bieganski
1a77030c9b
Internals: Speedup to only typecheck node child getters in debug builds ( #4394 )
2023-08-05 03:24:00 -04:00
Wilson Snyder
817ade27fb
Commentary: Changes update
2023-08-05 03:18: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
446f21d2a0
Tests: Fix more missing internal code coverage
2023-07-27 06:53:43 -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
Wilson Snyder
a5eccc199b
Commentary: Changes update
2023-07-27 04:01:28 -04:00
Vito Gamberini
837d9f9d77
Require CMake config minimum version 3.13 ( #4389 ) ( #4390 )
2023-07-26 17:54:18 -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
Wilson Snyder
3454641244
Commentary: Add website badge
2023-07-21 04:11:15 -04:00
Wilson Snyder
5dedf25e3b
Commentary: Add website badge
2023-07-21 04:07:29 -04:00
Wilson Snyder
7214c180ae
Commentary: Add website badge
2023-07-21 04:06:22 -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
Aleksander Kiryk
f7d09c671a
Fix VlProcess not found ( #4368 )
2023-07-17 09:52:07 -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
Wilson Snyder
bd4afeea69
Tests: Fix removing line numbers ( #4352 )
2023-07-10 08:17:49 -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 <[email protected] >
2023-07-07 17:27:33 +02:00
Wilson Snyder and Ahmed El-Mahmoudy
5749662194
Documentation: Drop analytics_id unless VERILATOR_ANALYTICS_ID set ( #4333 )
...
Co-authored-by: Ahmed El-Mahmoudy <[email protected] >
2023-07-07 10:44:33 -04: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
Ryszard Rozak
da043ca16d
Fix comparison of class objects ( #4346 )
2023-07-07 16:20:23 +05: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
Wilson Snyder
8182c3fe2c
Tests: Fix t_vpi_unimpl exiting early with missed error
2023-07-05 14:12:22 -04:00
Wilson Snyder
6f7bc38088
Tests: Improve specparam verilog.y coverage
2023-07-05 14:11:55 -04:00
Wilson Snyder
dcbc0ccfdc
Commentary: Revert lost name.
2023-07-05 13:55:47 -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
Wilson Snyder
8b1cc3b303
Commentary: Changes update
2023-07-01 07:35:58 -04:00
Mariusz Glebocki
65b6121186
Revert .gdbinit modified by accident. ( #4330 )
...
`test_regress/.gdbinit` has been modified in
d42f9c095b most likely by accident.
Restore its previous content.
2023-06-30 16:57:31 -04:00
Ryszard Rozak
3d30527860
Fix unique..with method on queues of class objects ( #4328 )
2023-06-30 17:04:09 +02: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
Wilson Snyder
7005a65d32
Tests: Attempt 20.04 fix for (#b1aec9b) ( #4307 )
2023-06-23 07:09:07 -04:00
Wilson Snyder
776d4e6ac2
CI: Build 20.04 on pull requests
2023-06-23 07:08:04 -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
5bee8ef15b
Remove long deprecated verilated_heavy.h
2023-06-17 08:45:13 -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
d45deccc0a
Internals: Favot std::array. No functional change intended.
2023-06-16 19:44:40 -04:00
Wilson Snyder
d5b03ab721
Tests ( #3806 ) ( #3807 )
2023-06-16 18:30:25 -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
Wilson Snyder
db7eb45433
Contributors: Add Krzysztof Boronski and re-sort
2023-06-14 18:53:44 -04:00
Krzysztof Boronski
21c01ba97b
V3Fork - transform processes that can outlive their parents into separate tasks ( #4253 )
...
Signed-off-by: Krzysztof Boronski <[email protected] >
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
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
48e98ea2bd
Internals: Sort some error codes ( #4253 ). No functional change intended.
2023-06-13 08:52:13 -04:00
Wilson Snyder
01d0f0327b
Commentary ( #4254 )
2023-06-13 08:22:57 -04:00
Wilson Snyder
0dc887720d
Tests: Fix tests, broke in commit 3a9eeabd
2023-06-12 22:38:45 -04:00
Wilson Snyder
e08bbcdb07
Commentary
2023-06-12 21:59:52 -04:00
Wilson Snyder
70d26ec123
Commentary ( #4211 ) ( #4254 )
2023-06-12 21:59:33 -04:00
Wilson Snyder
a06f260f42
Fix C++11 compiler error with C++14 rbegin
2023-06-12 21:46:32 -04:00
Wilson Snyder
d42f76c346
Tests: Fix tests, broke in commit 3a9eeabd
2023-06-12 21:36:23 -04:00
Wilson Snyder
66c3d6d2d1
Commentary
2023-06-12 20:52:29 -04:00
Wilson Snyder
81affad2dc
Tests: Fix test, broke in previous commit
2023-06-12 20:41:33 -04:00
Wilson Snyder
2488af9066
Commentary: Changes update
2023-06-12 20:38:33 -04:00
Wilson Snyder
5cf9d78516
Commentary
2023-06-12 20:28:32 -04:00
Wilson Snyder
3a9eeabdb2
Tests: Auto detect and exit --timing with no coroutines
2023-06-12 20:09:12 -04:00
Julien Margetts
ac4315e145
Fix LATCH warning on function local variables ( #4221 ) ( #4284 )
2023-06-12 09:24:46 -04:00
John Wehle
5094e94df1
Fix tracing undefined alignment ( #4201 ) ( #4288 )
2023-06-12 07:13:00 -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
Wilson Snyder
191d30cf1c
Update gtkwave from upstream ( #4141 )
2023-06-03 12:10:07 -04:00
Andrei Kostovski
d8c2ecaaf8
Commentary: Update install.rst for help2man ( #4260 ) ( #4261 )
2023-06-03 10:31:17 -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 <[email protected] >
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 <[email protected] >
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
github action
205cae963b
Apply 'make format'
2023-05-31 16:03:33 +00: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 <[email protected] >
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
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
cfce92645f
Tests: Check equality of complex types.
2023-05-26 18:01:11 -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
Aleksander Kiryk
42beaf467c
Tests: Add incomplete type definition test ( #4230 )
2023-05-25 14:06:37 -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
ff324625e4
CI: Disable m32 on g++
2023-05-23 23:04:24 -04:00
Wilson Snyder
fd7515b046
Tests: Cleanup scenarios lines. No test run change.
2023-05-23 22:40:19 -04:00
Wilson Snyder
607f853bc7
CI: Disable m32 on g++
2023-05-23 22:35:07 -04:00
Wilson Snyder
09fb1174f1
CI: Disable m32 on g++
2023-05-23 22:34:27 -04:00
Wilson Snyder
542eaab3dd
CI: Disable m32 on g++
2023-05-23 22:28:40 -04:00
Wilson Snyder
a301a498f5
CI: Disable m32 on g++
2023-05-23 22:27:10 -04:00
Wilson Snyder
d66e749ec8
CI: Fix mold build
2023-05-23 22:25:03 -04:00
Wilson Snyder
c8ca54ea31
CI: Disable m32 on g++
2023-05-23 22:24:47 -04:00
Wilson Snyder
5704552053
Fix ci for mold
2023-05-23 21:30:39 -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
19d0aabe7a
Internals: Fix extra cast on ExprStmt.
2023-05-23 20:52:30 -04:00
Krzysztof Boroński
fb0d735f68
Tests: Skip t_suspendable_deep if coroutines are not supported by CXX toolchain ( #4217 )
2023-05-23 14:02:40 -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 <[email protected] >
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
Wilson Snyder
46f719ceaa
Tests: Fix some coverage holes
2023-05-13 20:15:03 -04:00
Mariusz Glebocki
949be301de
Internals: Fix unbalanced V3LockGuard locking ( #4193 )
2023-05-13 10:32:33 -04:00
Mariusz Glebocki
be429a5800
Internals: Lock the same mutex reference as specified in VL_ACQUIRE. ( #4194 )
2023-05-13 10:28:34 -04:00
Mariusz Glebocki
e7714e0902
Internals: Add additional clang's thread safety analysis annotations ( #4195 )
...
* Simplify some Clang-specific attribute defines.
* Add `VL_RETURN_CAPABILITY` and `VL_PT_GUARDED_BY`.
2023-05-12 09:06:36 -04:00
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
485e230dd8
Commentary ( #4187 )
2023-05-10 17:51:22 -04:00
Wilson Snyder
befb415f27
Fix mod/div/round argument side effects
2023-05-07 22:31:31 -04:00
Wilson Snyder
c0490627bf
Tests: Update historical
2023-05-07 22:00:52 -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
6188083baa
Tests: Improve randc tests
2023-05-07 15:08:44 -04:00
Wilson Snyder
c2a524d80b
Commentary ( #4175 )
2023-05-07 08:36:03 -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
c6052830e1
Fix C++17 requirement on previous commit.
2023-05-06 20:23:35 -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
76f5de6e54
Replace flake8 with ruff for Python linting
2023-05-06 06:08:32 -04:00
Wilson Snyder
1a1c5c5d44
Internals: Fix pylint warning
2023-05-06 06:05:11 -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
3250ee5707
Commentary: Changes update
2023-05-05 20:24:45 -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
Wilson Snyder
3bb4e34044
Commentary
2023-05-04 19:04:38 -04:00
Kamil Rakoczy
832b17d4d2
clang_check_attributes: fix mt-safe checks for global objects in constructor context ( #4171 )
2023-05-04 14:00:30 -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 <[email protected] >
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
Jose Loyola
d693dc85e4
Add Github action to build and push docker images ( #4163 )
2023-05-04 07:44:55 -04: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
february cozzocrea
707f230353
Commentary: Update install.rst help2man dependency ( #4161 )
2023-05-02 14:32:24 -04:00
Kamil Rakoczy
49d2eb9a08
Fix initialization order of initial static after function/task ( #4159 )
2023-05-02 11:50:57 -04:00
github action
128186ea68
Apply 'make format'
2023-05-02 11:29:45 +00:00
Hennadii Chernyshchyk and Oleh Maks
949be9d0a1
Optimize VPI callValueCbs ( #4155 )
...
Co-authored-by: Oleh Maks <[email protected] >
2023-05-02 07:28:56 -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
3d21a79148
Fix pylint warning
2023-04-29 22:22:38 -04:00
Wilson Snyder
e15f5266a3
Commentary: Changes update
2023-04-29 22:16:53 -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ć and Risto Pejasinovic
f794180865
Fix hier attribute of --xml-only cell section to respect begin blocks ( #4129 ) ( #4133 )
...
Co-authored-by: Risto Pejasinovic <[email protected] >
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
Wilson Snyder
5a98c1a3b1
Commentary
2023-04-23 10:10:05 -04: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 <[email protected] >
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
Eyck Jentzsch
df86e39845
Fix systemc namespace issues ( #4126 ) ( #4127 )
...
* replaces use of "systemc.h" with <systemc> to avoid default namespace import
2023-04-17 06:57:29 -03:00
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
Wilson Snyder
fa16eff003
Commentary ( #4118 )
2023-04-14 06:46:53 -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
Wilson Snyder
3aa013c8db
Tests: Remove old file
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
e3bdae77a0
Tests: Add randsequence test
2023-04-09 17:08:04 -04:00
Wilson Snyder
663d6a1c8d
Commentary
2023-04-09 10:23:35 -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
13a87e5514
Parse process class, and report runtime errors ( #3612 )
2023-04-08 15:04:42 -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
6c21b21ecc
Internals: Indent verilated_std.sv with Verilog-mode. No functional change.
2023-04-06 21:27:16 -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
7e1980af7a
Tests: Avoid t_dist failures on deleted files.
2023-04-02 15:10:45 -04:00
Wilson Snyder
921fd919b5
Tests: Improve short circuit test
2023-04-01 23:10:05 -04:00
Robert Balas and Robert Balas
fc5a5ea53d
Commentary: Fix spelling mistakes ( #4080 )
...
Co-authored-by: Robert Balas <[email protected] >
2023-04-01 20:45:28 -04:00
Wilson Snyder
86156dd05b
Revert false-positive static error ( #4072 ) ( #4077 )
2023-04-01 18:54:37 -04:00
Wilson Snyder
3219ffddd4
Tests: Ignore commented out messages
2023-04-01 18:17:45 -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
90e049c674
Internals: Remove unneeded variable. No functional change.
2023-04-01 11:46:43 -04:00
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Wilson Snyder
28eadded87
Update include/gtkwave from upstream
2023-04-01 10:38:47 -04:00
Wilson Snyder
93c598dd19
Commentary
2023-04-01 10:38:33 -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
Wilson Snyder
14c8f072f1
Commentary
2023-03-24 19:06:07 -04:00
Krzysztof Bieganski
c55df02b1a
Fix C++ compile errors when passing class refs as task arg ( #4063 )
...
1. Fixes passing a null reference as a task argument. Before this patch it would
cause a C++ compile error like `cannot convert ‘VlNull’ to ‘VlClassRef<...>’`.
2. Fixes passing a class reference as a task argument when the argument is a
reference to a base class. Before the patch it would cause a C++ compile
error like `cannot convert ‘VlClassRef<{DERIVED_CLASS}>’ to ‘VlClassRef<{BASE_CLASS}>`.
2023-03-24 13:18:59 -04:00
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 <[email protected] >
2023-03-21 13:50:53 +01:00
Wilson Snyder
577e0700ba
Commentary: Changes update
2023-03-21 04:52:12 -04: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
5f02f95ce6
Commentary ( #3906 ) ( #3931 )
2023-03-18 15:49:11 -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
ba9e141fae
Commentary: Update CONTRIBUTING and internals xrefs ( #4043 )
2023-03-18 10:23:19 -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
Yu-Sheng Lin
70c2d1eded
Fix install, standardization in cmake CMakeLists.txt ( #3974 )
2023-03-18 07:38:09 -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 <[email protected] >
* Delete replaced nodes
Signed-off-by: Ryszard Rozak <[email protected] >
---------
Signed-off-by: Ryszard Rozak <[email protected] >
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 <[email protected] >
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
Wilson Snyder
a9b07fe7d7
Tests: Remove unintended t_0 test
2023-03-16 18:44:28 -04:00
Kamil Rakoczy
66e4656a8e
Fix event controls reusing same variable ( #4014 )
2023-03-16 07:12:54 -04:00
Wilson Snyder
8f4d4f07a4
Commentary
2023-03-16 07:09:16 -04:00
Wilson Snyder
8e55580cde
Update include/gtkwave from upstream
2023-03-15 22:11:06 -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
fc3fdcc71c
Tests: Fix randomize_method test ( #4024 )
2023-03-14 13:47:43 -04:00
Ryszard Rozak
80b7b8bbdb
Don't call randomize on null field ( #4023 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2023-03-14 14:48:06 +01:00
Wilson Snyder
a8ce272e4a
Commentary: spelling
2023-03-14 08:39:54 -04:00
Wilson Snyder
72963c4e20
Commentary ( #4020 )
2023-03-14 08:29:39 -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 <[email protected] >
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
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
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
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
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
1e28387541
Tests: Add nettype test
2023-03-02 20:29:42 -05:00
Wilson Snyder
dd917d50eb
Internals: Parse interconnect then say unsupported
2023-03-02 20:02:14 -05:00
Kamil Rakoczy
0130c2bceb
Internals: update clang attributes check report conditions ( #3997 )
2023-03-02 18:37:07 -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
a85e6a9d8c
Commentary: Changes update
2023-03-01 22:43:39 -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
Wilson Snyder
c6a569df49
Commentary
2023-02-28 18:38:52 -05:00
Krzysztof Boroński
06661ab676
Disallow ++/-- over expressions with potential side effects ( #3976 ).
2023-02-28 15:21:58 -05:00
Wilson Snyder
d9a0e69597
Commentary, fix copyright
2023-02-28 01:09:09 -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
Wilson Snyder
a93b344096
Tests: use standard lower case for Perl vm_prefix
2023-02-26 10:18:40 -05:00
Peter Debacker and Peter Debacker
191c71edea
Fix cmake on macOS to mark weak symbols with -U linker flag ( #3978 ) ( #3979 )
...
Co-authored-by: Peter Debacker <[email protected] >
2023-02-23 17:27:29 -05:00
Wilson Snyder
b4dd398af6
Tests: Cleanup some C++ new calls. No functional change.
2023-02-23 06:14:54 -05:00
Wilson Snyder
cfe0fdd5cc
Untabify
2023-02-23 05:47:56 -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
github action
3f4b7af8a1
Apply 'make format'
2023-02-13 04:21:52 +00:00
Larry Doolittle
bc6a7787ed
Fix date on the front page of verilator.pdf ( #3956 ) ( #3957 )
2023-02-12 23:21:03 -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
260d58e47e
Tests: Add struct tests
2023-02-12 13:30:52 -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
dee2e45e27
Tests: Add defparam not resolved test
2023-02-11 11:00:07 -05:00
Wilson Snyder
4d29487e75
Fix -Wpedantic on std::process.
2023-02-11 10:55:06 -05:00
Wilson Snyder
2bb2935924
Commentary: Changes update
2023-02-11 10:38:00 -05:00
Larry Doolittle
aff3f7c4f6
Fix build on hppa ( #3954 )
...
As supplied by John David Anglin in Debian bug #1030913
2023-02-11 04:23:26 -05:00
Wilson Snyder
5aa4f46101
Internals: Add some std::. No functional change intended.
2023-02-10 20:32:39 -05:00
Zixi Li
8f87022496
Fix CMake bad C identifiers ( #3948 ) ( #3951 )
2023-02-10 20:06:05 -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
Wilson Snyder
cf88700fc2
Fix virus detection false positive ( #3944 ).
2023-02-08 18:44: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 <[email protected] >
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
807e5b22a0
Fix verilator_difftree header flush
2023-02-05 15:20:56 -05:00
Wilson Snyder
2c64b83c19
Internals: Fix constructor syntax
2023-02-05 14:29:49 -05:00
Wilson Snyder
dfc98e77c0
Commentary
2023-02-05 14:12:27 -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
15c163c12e
github: msbuild compile with -j 3
2023-02-03 18:47:54 -05:00
Wilson Snyder
c7ed73e249
Fix MSVC++ compile warning
2023-02-03 18:47:37 -05:00
Wilson Snyder
4aa3e72509
Fix cmake 3.12+ warnings on MSWIN.
2023-02-03 17:16:39 -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
e16e9b89cd
Commentary ( #3932 ).
2023-02-03 07:27:23 -05:00
Yoda Lee
80b291407b
Add cmake warning if multiple SOURCES w/o PREFIX ( #3916 ) ( #3927 )
2023-02-02 22:08:13 -05:00
David Stanford
d2aff13402
Commentary: Add some more details to the vpi example ( #3925 )
2023-02-02 21:51:23 -05:00
github action
82f450d838
Apply 'make format'
2023-02-03 00:11:37 +00:00
Wilson Snyder
f6d4f1ad02
Fix very long VPI signal names ( #3929 ).
2023-02-02 19:10:23 -05:00
Wilson Snyder
645e1387e0
Tests: Fix merge conflict failure
2023-02-02 19:10:20 -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 <[email protected] >
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
Wilson Snyder
6e3b957b30
Tests: Add iterate check ( #3919 )
2023-01-31 19:34:27 -05:00
Wilson Snyder
aea1834ed8
Commentary ( #3920 )
2023-01-31 12:11:35 -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
87a7881d46
Add SOURCE_DATE_EPOCH for docs/guide/conf.py ( #3918 )
2023-01-30 22:14:33 -05:00
Larry Doolittle
29f4821d78
Tests: Check Makefiles for stray tabs ( #3914 )
2023-01-30 07:31:39 -05:00
Larry Doolittle
9f9c84aa64
Internals: Avoid using <tab> in the middle of lines ( #3913 )
2023-01-29 22:39:22 -05:00
Larry Doolittle
d80e0523cc
Fix nonsensical permissions of some files in test_regress/t ( #3912 )
...
chmod a-x *.out *.v *.vlt
2023-01-29 20:32:19 -05:00
Wilson Snyder
164aa96953
Fix GCC warning (fixes recent #3510 )
2023-01-29 17:34:48 -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
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
Wilson Snyder
5125b94fd8
Commentary ( #3908 )
2023-01-26 18:27:00 -05:00
Ilya Barkov
d118a739dc
Fix cinlude check ( #3907 )
2023-01-26 06:35:59 -05:00
Wilson Snyder
c2a8810eb1
Tests: Check for new .pl file copyrights
2023-01-25 22:14:43 -05:00
Ryszard Rozak
91c44d7830
Support class extending its parameter ( #3904 )
2023-01-25 20:33:18 -05:00
Wilson Snyder
21aafe8f50
Tests: Fix file length issue (cousin of #3905 )
2023-01-25 19:42:28 -05:00
Ryszard Rozak
4a8cfe367d
Support function calls without parenthesis ( #3903 ) ( #3902 )
...
Signed-off-by: Ryszard Rozak <[email protected] >
2023-01-24 15:36:30 +01:00
Ryszard Rozak
b56e7f6910
Support static function variables ( #3830 )
2023-01-23 08:35:10 -05:00
Wilson Snyder
8a85cedaf5
Tests: Update test, part of ( #3378 ) ( #3892 )
2023-01-23 07:23:42 -05:00
Varun Koyyalagunta
be26e8da1b
Support struct I/O in --lib-create ( #3378 ) ( #3892 )
2023-01-22 22:24:36 -05:00
Wilson Snyder
b2dd5de860
Tests: Fix some unusual check_finished cases.
2023-01-22 22:21: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
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
f4865a4bb2
Fix configure; always look for std=c++17 rather than by distro.
...
This backs out #606b35853b, which is believed no longer needed due to
(#3881 ) being fixed.
If this proves wrong and additional OS dependencies are needed, we should
use a feature test macro so that the OS test doesn't need upkeep.
2023-01-22 09:53:55 -05:00
Wilson Snyder
53835355b0
Add CFG_CXXFLAGS_STD so CFG_CXXFLAGS_STD_NEWEST can still exist ( #3881 )
2023-01-22 09:44:50 -05:00
Wilson Snyder
5cd3d831bb
Commentary: Changes update
2023-01-22 08:59:06 -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
3a8288b0f6
Move test driver documentation into internals.rst
2023-01-21 16:17:26 -05:00
Wilson Snyder
30fd49e21f
Tests: Suppress test leak
2023-01-21 14:46:21 -05:00
Wilson Snyder
bc7048e8d1
Convert verilator_includer to python3
2023-01-21 14:40:22 -05:00
Wilson Snyder
a98eceb501
Tests: Call debug earlier to allow command line override
2023-01-21 14:05:11 -05:00
Wilson Snyder
c2bdd06fcc
Fix VPI one-time timed callbacks ( #2778 ).
2023-01-21 13:43:27 -05:00
Ilya Barkov
8918f17c17
Support class queue equality ( #3895 )
2023-01-21 13:20:02 -05:00
Wilson Snyder
604af511fc
Tests: Fix missing include ( #2778 partial)
2023-01-20 21:15:01 -05:00
Wilson Snyder
5a39fc4ba9
Tests: Add t_dist_copyright.pl
2023-01-20 20:42:46 -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
Wilson Snyder
79f99dddf7
Tests: Rename to .out suffix
2023-01-20 20:32:52 -05:00
Wilson Snyder
c3fa475096
Remove leakchecking.txt
2023-01-20 20:32:52 -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
317fe7a787
Fix VL_CPU_RELAX on MIPS/Armel/s390/sparc ( #3891 )
2023-01-19 17:22:28 -05:00
Wilson Snyder
035bf13e4a
Fix foreach unnamedblk duplicate error ( #3885 ).
2023-01-18 21:48:06 -05:00
Wilson Snyder
6a60ace2c7
Commentary ( #3887 )
2023-01-18 18:21:53 -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
Wilson Snyder
3fe81a3832
Add manpages for missing user commands (using help2man)
2023-01-17 19:26:12 -05:00
Ilya Barkov
ff2f711d0c
Fix chain call of abstract class constructor ( #3868 ) ( #3883 )
2023-01-17 13:02:39 -05:00
Wilson Snyder
46cc7b5d07
Test ( #3876 )
2023-01-17 07:31:04 -05:00
Kamil Rakoczy
4d453c6822
Fix to use same std flag in Verilator and Verilated design ( #3881 )
2023-01-17 07:11:12 -05:00
Aleksander Kiryk
a1160a85a3
Support p format for UnpackArray ( #3877 )
2023-01-16 12:41:02 -04:00
Andrew Nolte and Andrew Nolte
e5eb7d8930
Add VL_VALUE_STRING_MAX_WORDS override ( #3869 )
...
Co-authored-by: Andrew Nolte <[email protected] >
2023-01-13 15:23:15 -05: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
7e4760a7e4
Commentary ( #3847 )
2023-01-10 07:13:08 -05:00
Larry Doolittle
2d6d1235d6
Commentary: Spelling (and grammar) fixes ( #3846 )
2023-01-08 18:17:24 -05:00
Wilson Snyder
520f6e5fdc
CI: Try apt twice to reduce false network failures
2023-01-07 20:27:00 -05:00
Wilson Snyder
30f6831be6
Commentary: Changes update
2023-01-07 14:54:12 -05:00
Wilson Snyder
26e2f9e629
Commentary: Remove unintended text
2023-01-06 07:34:24 -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
Sören Tempel
78fe77db0f
Fix compatibility with musl libc / Alpine Linux ( #3845 )
2023-01-05 15:50:25 -05:00
Wilson Snyder
c039a5229d
github: Remove 18.04
2023-01-05 07:25:34 -05:00
Larry Doolittle
2ab70ba452
Internals: Cleanup .txt file whitespace ( #3842 )
2023-01-05 05:00:54 -05:00
Larry Doolittle
4370490a71
Convert three files from Unicode to ASCII ( #3841 )
2023-01-04 21:19:07 -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
5dbff89a90
Internal line coverage fixes
2022-12-29 20:18:28 -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
8064b78d4f
Test: Rename
2022-12-29 14:10:47 -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
Kritik Bhimani
a86ded97c9
CI: Add ci for cmake on windows ( #2681 ) ( #3819 )
2022-12-23 18:12:17 -05:00
Wilson Snyder
45abcb6107
Internals: Some V3LinkInc cleanups. No functional change.
2022-12-23 16:17:08 -05:00
Wilson Snyder
1f58f48c05
Tests: Rename test of last commit
2022-12-23 13:12:21 -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
Wilson Snyder
71d29a235f
Commentary: Changes update
2022-12-20 19:51:17 -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
c3b4bc85fa
Tests: Ignore tabs in .mk.in
2022-12-20 11:20:23 -05:00
Jevin Sweval
3340f7b0b4
Fix macOS weak symbols with -U linker flag ( #3823 )
2022-12-20 11:17:43 -05:00
Mariusz Glebocki
cb413aa264
Tests: Make it mt-safe to call operators on guarded and local objects. ( #3821 )
2022-12-19 10:53:28 -05:00
Kamil Rakoczy
982fa3d7bb
Fix signed/unsigned comparison compile warning ( #3822 )
2022-12-19 10:52:19 -05:00
Wilson Snyder
51de2c9194
Remove reader task code which was non-functional ( #3360 )
2022-12-17 16:48:08 -05:00
Wilson Snyder
a15cd76a28
Tests: Add copyright.
2022-12-16 18:09:00 -05:00
Kamil Rakoczy
7a15457511
Tests: Add multithreading attribute checks ( #3748 )
2022-12-16 11:19:27 -05:00
Kamil Rakoczy
4f7df4a915
Internals: Mark more VL_MT_SAFE functions ( #3816 ).
2022-12-16 10:14:02 -05:00
Wilson Snyder
a554dd7c8d
Optimize expansion of extend operators - fix earlier commit.
2022-12-15 22:49:49 -05:00
Wilson Snyder
073af8e1f2
Fix to zero possibly uninitialized bits in replications ( #3815 )
2022-12-15 22:00:21 -05:00
Wilson Snyder
2eafd82696
Internals: Mark more VL_MT_SAFE functions ( #3748 ). No functional change
2022-12-15 21:32:34 -05:00
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
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
Kamil Rakoczy
925fb921a2
Fix missing VL_REQUIRES in definition ( #3804 )
2022-12-14 21:16:16 -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
Wilson Snyder
f331c192b4
Tests: Fix duplicated if.
2022-12-12 21:32:45 -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
424faa883e
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-11 23:10:59 -05:00
Wilson Snyder
61d6546400
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-11 23:03:27 -05:00
Wilson Snyder
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
01b521a0ea
Commentary: Changes update
2022-12-11 15:10:23 -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
722e38f532
Commentary, part of last commit ( #3783 )
2022-12-11 13:30:00 -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
b6cdae30f6
docs: Fix grammar.
2022-12-10 20:09:47 -05:00
Wilson Snyder
a9ff0a0f32
docs: Fix grammar
2022-12-09 23:16:14 -05:00
Wilson Snyder
a0e7930036
docs: Fix spelling
2022-12-09 22:39:41 -05:00
Wilson Snyder
d61ad04f32
docs: Fix and test for AsciiDoc breaks ( #3728 )
2022-12-09 21:01:33 -05:00
Wilson Snyder
0824ef377f
wip
2022-12-09 20:32:09 -05:00
Wilson Snyder
fc2654f1f6
msg
2022-12-09 20:17:19 -05:00
Kamil Rakoczy
5aa935d170
Internals: Add annotations for check attributes ( #3803 )
2022-12-09 07:12:26 -05:00
Wilson Snyder
bcf58defe0
Update include/gtkwave from upstream
2022-12-08 07:30:23 -05:00
Wilson Snyder
2dc0053ea4
Tests: rename
2022-12-08 07:23:53 -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
Wilson Snyder
675cc891a5
Tests: Add rerunnable(0)
2022-12-02 19:57:40 -05:00
Wilson Snyder
0809c17ce1
Tests: Rename some tests that should be _bad.
2022-12-02 19:17:29 -05:00
Larry Doolittle
f27cf4c804
Commentary: Fix spelling in C++ comments ( #3797 ) ( #3798 )
2022-12-02 18:46:38 -05:00
Wilson Snyder
701d2277cd
Tests: rename
2022-12-02 07:34:34 -05:00
Wilson Snyder
338e875b70
Internals: Mark more VL_MT_SAFE functions. No functional change
2022-12-01 19:32:09 -05:00
Wilson Snyder
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 and G-A. Kamendje
d87ef8394a
Fix CASEINCOMPLETE when covers all enum values ( #3745 ) ( #3782 ).
...
Co-authored-by: "G-A. Kamendje" <[email protected] >
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
468a33b61c
Move SystemC requirement out of .cpp files ( #3507 )
2022-11-29 22:44:37 -05:00
Wilson Snyder
8ff607f679
Deprecate verilated_fst_sc.cpp and verilated_vcd_sc.cpp ( #3507 )
2022-11-29 22:17:50 -05:00
Wilson Snyder
6143892619
Internals: Add some VL_UNLIKELY. No functional change.
2022-11-29 20:36:56 -05:00
Wilson Snyder
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
Ryszard Rozak
faedcc755b
Tests: Add test of passing this as argument ( #3790 )
2022-11-29 10:46:26 -05:00
Yinan Xu
ff9596bb23
Fix missing user objects in --lib-create mode ( #3780 ) ( #3784 )
2022-11-29 09:02:39 -05:00
Wilson Snyder
7d807a7e0e
Commentary
2022-11-29 07:33:12 -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 <[email protected] >
2022-11-28 16:53:55 +01:00
Wilson Snyder
4452a9b10f
Internals: Fix some VL_MT metacomments.
2022-11-28 07:08:34 -05:00
Larry Doolittle
6349e76abd
Remove $date from .vcd files ( #3779 )
2022-11-27 20:24:22 -05:00
Wilson Snyder
f4be3d5d2b
Fix empty string literals converting to string types ( #3774 ).
2022-11-27 13:28:57 -05:00
Wilson Snyder
054b792021
Fix ENUMVALUE error to show value location ( #3783 )
2022-11-27 08:44:30 -05:00
Wilson Snyder
c303ba7f0a
Prefer std:: in examples
2022-11-27 08:32:34 -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
Wilson Snyder
a83ed6b06f
Internals: Fix destructor calling virtual. No functional change intended.
2022-11-23 07:04:22 -05:00
github action
821dd070bf
Apply 'make format'
2022-11-23 09:08:02 +00:00
Yves Mathieu
06fdf7be58
Add support of Events for VCD/FST traces ( #3759 )
2022-11-23 04:07:14 -05:00
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
278d532368
Tests: Add TEST_DUMPFILE define
2022-11-20 09:40:02 -05:00
Wilson Snyder
6297650fef
Tests: Fix internal error stability
2022-11-20 07:45:51 -05:00
Wilson Snyder
5634e96bb6
Tests: Remove unsupported() in tests, instead check whatever is current behavior
2022-11-19 22:43:10 -05:00
Wilson Snyder
e266b2cb03
Tests: Add $dist tests
2022-11-19 22:01:55 -05:00
Wilson Snyder
0af3efda5c
Tests: Fix top_filename to properly test ( #3767 )
2022-11-19 17:09:43 -05:00
Wilson Snyder
d3e1c40238
Tests: Cleaner macro. No functional change.
2022-11-19 17:06:11 -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
Andrew Nolte
cd2208ea3f
Contributors ( #3762 )
2022-11-19 14:09:51 -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
Wilson Snyder
96306b7630
Tests: Update t_class_class
2022-11-17 18:15:38 -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
Kamil Rakoczy
79e0fa3327
CI: Switch building pull requests to ubuntu 22.04 ( #3753 )
2022-11-16 10:14:12 -05:00
Miodrag Milanović
f782496092
Fix for mingw cross-compile, arm and riscv ( #3752 )
2022-11-16 05:34:25 -08:00
Mariusz Glebocki
dc28e7f3e2
Commentary. Remove repeated entry in Verilator help. ( #3754 )
2022-11-16 05:32:32 -08:00
Wilson Snyder
e6da59eecd
Internals: Mark some VL_PURE functions. No functional change.
2022-11-15 09:18:47 -05:00
Wilson Snyder
04f68cbd99
Internals: Spacing
2022-11-13 21:58:18 -05:00
Wilson Snyder
8c6d1e53ca
Internals: Fix some 'p' names, and make new base class for VlDeleter. No functional change intended.
2022-11-13 17:40:50 -05:00
Wilson Snyder
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
Wilson Snyder
218dd4322b
Fix C++11 warnings
2022-11-12 16:03:13 -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
Kamil Rakoczy
207bc2b18a
Fix comment annotation
...
Signed-off-by: Kamil Rakoczy <[email protected] >
2022-11-10 13:36:14 +00: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
Wilson Snyder
167f4ebbd4
Commentary: Changes update
2022-11-05 09:32:41 -04: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
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
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
Wilson Snyder
ee26378394
Tests: Fix instability ( #3717 )
2022-10-28 10:32:52 -04: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
Wilson Snyder
0ed7aaeabd
Update include/gtkwave/fstapi.c from upstream.
2022-10-27 21:37:09 -04:00
Wilson Snyder
5f9b0929b4
Commentary: Changes update
2022-10-27 21:35:09 -04:00
Geza Lore
65290afe0a
Fix VString::endsWith when suffix is longer than input string.
2022-10-27 18:38:44 +01:00
Kamil Rakoczy
ed93a111c2
Fix deadlock in `timeprecision` when using systemC ( #3707 )
2022-10-26 04:50:28 -07:00
Wilson Snyder
3487701b04
Tests: Cover some previously uncovered warnings
2022-10-22 16:03:42 -04:00
Wilson Snyder
d33a3d09f7
Tests: Fix bison-dependent .out
2022-10-22 14:35:36 -04:00
Wilson Snyder
0716a28816
Tests: Check for v3warn/v3error without a test
2022-10-22 13:46:49 -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
63df87e220
Commentary
2022-10-22 12:18:28 -04:00
Wilson Snyder
495d52d30f
Test and fix extra end_keywords
2022-10-22 12:17:56 -04:00
Wilson Snyder
2df886b2b0
Tests: Check std:: package for mailbox/process/semaphore
2022-10-22 10:58:10 -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 <[email protected] >
2022-10-22 14:05:39 +00: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
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
Wilson Snyder
9d02082801
Internals: Avoid VM_COVERAGE ifdef in library to get closer to libverilated.a
2022-10-21 17:09:06 -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 <[email protected] >
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
Wilson Snyder
ca8ef7ce73
github: upload-artifacts/download-artifacts/cache@v3 ( #3700 )
2022-10-20 20:23:04 -04:00
Wilson Snyder
23d538fdaf
github: upload-artifacts/download-artifacts/cache@v3
2022-10-20 20:04:45 -04:00
Wilson Snyder
aaadc3def7
github: Use checkout@v3 ( #3700 )
2022-10-20 19:57:50 -04:00
Krzysztof Bieganski
444a4a760c
Support timing with more Clang and libc++ versions ( #3669 ) ( #3698 )
2022-10-20 19:54:22 -04:00
Wilson Snyder
b42799f3b5
Commentary
2022-10-20 19:48:13 -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
Krzysztof Bieganski
8c3ca30c91
Fix print format warning on some platforms ( #3699 )
2022-10-20 10:15:29 -04: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
Kamil Rakoczy
54e3f15dce
Internals: Add attribute when using clang to VL_MT_SAFE and VL_MT_UNSAFE ( #3685 )
2022-10-18 05:15:33 -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
Krzysztof Bieganski
5e79652922
Test tracing with --timing and --main ( #3656 )
...
Add a test for tracing with `--main` and `--timing`.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-10-17 12:36:37 +02:00
Wilson Snyder
cb7b024e8f
Commentary: Spelling, and add upgrade notes ( #3462 )
2022-10-16 11:10:41 -04:00
Wilson Snyder
f3292a3651
Tests: Prove fixed ( #2410 )
2022-10-16 10:36:18 -04: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
379a947379
Tests: Fix some internal code coverage holes
2022-10-15 13:59:07 -04:00
Wilson Snyder
916a3d9066
Fix --main --trace missing initial timestep ( #3678 ).
2022-10-15 13:24:38 -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
e32ff0e1a6
Tests: Better mailbox and semaphore tests.
2022-10-15 10:37:24 -04:00
Wilson Snyder
5957156dee
Tests: Fix bad result check.
2022-10-15 06:57:12 -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 <[email protected] >
2022-10-14 09:35:26 +02:00
Krzysztof Bieganski
caed086516
Move Postponed logic after the eval loop ( #3673 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
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 <[email protected] >
2022-10-13 14:33:15 +02:00
Geza Lore
b2070a9407
Commentary: Mention DFG in changes
2022-10-12 10:21:02 +01: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 <[email protected] >
2022-10-10 13:58:05 +02:00
Wilson Snyder
6f9c585452
Spelling ( #3664 )
2022-10-09 14:18:14 -04: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
Iztok Jeras
a972230b3a
Commentary: example_binary does not uses SystemC code ( #3662 )
2022-10-08 09:50:15 +03:00
Geza Lore
29a080dd9b
DFG: Special case representation of AstSel
...
AstSel is a ternary node, but the 'widthp' is always constant and is
hence redundant, and 'lsbp' is very often constant. As AstSel is fairly
common, we special case as a DfgSel for the constant 'lsbp', and as
'DfgMux` for the non-constant 'lsbp'.
2022-10-06 19:59:01 +01:00
Geza Lore
0570cb8d9f
DFG: Correctly set dtype when converting DfgCountOnes to Ast
2022-10-06 19:59:01 +01:00
Geza Lore
6fa14bf029
Speed up DfgPeephole in various ways
2022-10-06 19:59:01 +01:00
Geza Lore
4f0158b5e0
Speed up Dfg common sub-expression elimination
...
Added a DfgVertex::user() mechanism for storing data in vertices.
Similar in spirit to AstNode user data, but the generation counter is
stored in the DfgGraph the vertex is held under. Use this to cache
DfgVertex::hash results, and also speed up DfgVertex hashing in general.
Use these and additional improvements to speed up CSE.
2022-10-06 19:59:01 +01:00
Krzysztof Bieganski
97add4d57a
Fix null access on optimized-out fork statements ( #3658 )
...
`V3SchedTiming` currently assumes that if a fork still exists, it must
have statements within it (otherwise it would have been deleted by
`V3Timing`). However, in a case like this:
```
module t;
reg a;
initial fork a = 1; join
endmodule
```
the assignment in the fork is optimized out by `V3Dead` after
`V3Timing`. This leads to `V3SchedTiming` accessing fork's `stmtsp`
pointer, which at this point is null. This patch addresses that issue.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-10-06 15:38:59 +02:00
Geza Lore
5b742571d3
DFG: run removeVars after CSE
...
This enables removing some more redundant variables.
2022-10-06 09:31:56 +01:00
Geza Lore
a83043d735
DfgPeephole: Rework folding of associative operations
...
Allow constant folding through adjacent nodes of all associative
operations, for example '((a & 2) & 3)' or '(3 & (2 & a))' can now be
folded into '(a & 2)' and '(2 & a)' respectively. Also improve speed of
making associative expression trees right leaning by using rotation of
the existing vertices whenever instead of allocation of new nodes.
2022-10-06 09:10:26 +01:00
Geza Lore
22fcd616aa
DfgPeephole: Further restrict PUSH_REDUCTION_THROUGH_CONCAT
...
Only apply when there is guaranteed to be a subsequent constant folding
and elimination of some of the expression, otherwise this sometimes
interferes with the simplification of concatenations and harms overall
performance.
2022-10-06 09:10:26 +01:00
Krzysztof Bieganski
1a8188e1b4
Fix linker errors in user-facing timing functions ( #3657 )
...
Before this change, a design verilated with `--timing` that does not
actually use timing features would be emitted with `eventsPending` and
`nextTimeSlot` declared in the top class. However, their definitions
would be missing, leading to linker errors during design compilation.
This patch makes Verilator always emit the definitions, which prevents
linker errors. Trying to use `nextTimeSlot` without delays in the design
will result in an error at runtime.
2022-10-05 18:16:05 -04:00
Geza Lore
f87fe4c3b4
DfgPeephole: add constant folding for all integer types
...
Also added a testing only -fno-const-before-dfg option, as otherwise
V3Const eats up a lot of the simple inputs. A lot of the things V3Const
swallows in the simple cases can make it to DFG in complex cases, or DFG
itself can create them during optimization. In any case to save
complexity of testing DFG constant folding, we use this option to turn
off V3Const prior to the DFG passes in the relevant test.
2022-10-05 12:05:40 +01:00
Geza Lore
f23f3ca907
Try to ensure DFG peephole patterns don't grow the graph
...
Some optimizations are only a net win if they help us remove a graph
node (or at least ensure they don't grow the graph), or yields otherwise
special logic, so try to apply them only in these cases.
2022-10-04 18:54:46 +01:00
Geza Lore
965d99f1bc
DFG: Make implementation more similar to AST
...
Use the same style, and reuse the bulk of astgen to generate DfgVertex
related code. In particular allow for easier definition of custom
DfgVertex sub-types that do not directly correspond to an AstNode
sub-type. Also introduces specific names for the fixed arity vertices.
No functional change intended.
2022-10-04 15:49:30 +01:00
Krzysztof Bieganski
56ac054fb2
Internals: Refactor verilated_timing.* ( #3653 ).
...
* Put suspended coroutine source location in a separate struct,
* Have `dump()` always print, wrap calls in `VL_DEBUG_IF`,
* Improve const correctness.
2022-10-03 11:40:30 -04:00
Wilson Snyder
ced82cbac4
Internals: Add some internal coverage exclusions etc. No functional change.
2022-10-03 10:57:37 -04:00
Geza Lore
2fc1746ef5
Tracing: Clear offload buffer pointers when no longer needed
...
These are also used as a marker (when non-nullptr) when creating a
buffer. Reset them when they are not valid to avoid invalid write if a
buffer is created after a close (due to a subsequent re-open).
Fixes #3651 .
2022-10-03 10:50:47 +01:00
Wilson Snyder
10fc1f757c
Internals: cppcheck cleanups. No functional change intended.
2022-10-02 23:04:55 -04:00
Wilson Snyder
90009b9ec7
Commentary: Fix sphinx doc warnings
2022-10-02 16:47:32 -04:00
Wilson Snyder
4367e03e46
Internals: Make VL_UNREACHABLE similar to std::unreachable()
2022-10-02 16:35:45 -04:00
Wilson Snyder
c9634695a7
Fix std::exchange for C++11 compilers
2022-10-02 16:25:11 -04:00
Geza Lore
2a12b052f2
DFG: handle simple always blocks
2022-10-01 16:46:58 +01:00
Geza Lore
84b9502af4
DFG: Add more peephole patterns
2022-10-01 16:46:58 +01:00
Geza Lore
694bdbc130
DFG: Improve .dot dumps slightly
2022-10-01 16:46:58 +01:00
Wilson Snyder
880cac2fdd
Merge branch 'master' into develop-v5
2022-10-01 11:24:55 -04:00
github action
a204b24fcf
Apply 'make format'
2022-10-01 15:06:12 +00:00
Marcel Chang
526e6b9fc7
Add --dump-tree-dot to enable dumping Ast Tree .dot files ( #3636 )
2022-10-01 11:05:33 -04:00
github action
f1ba6cb517
Apply 'make format'
2022-10-01 14:53:40 +00:00
Kanad Kanhere
159cf0429c
Support linting for top module interfaces ( #3635 )
2022-10-01 10:48:37 -04:00
Ryszard Rozak
46b8dca360
Add handling of tristate select/extend ( #3604 )
2022-10-01 10:34:30 -04:00
Wilson Snyder
4db998d357
CI: coverage on 22.04
2022-10-01 10:09:14 -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
5ed882faf2
Fix unused compiler warning when not VL_THREADED.
2022-09-30 23:41:35 -04:00
Wilson Snyder
fa4b10b4d9
Commentary: Changes update
2022-09-30 23:03:26 -04:00
Geza Lore
cc51966ad1
DFG: Remove unconneced variables early
2022-09-30 11:53:03 +01:00
Geza Lore
c9d6344f2f
DFG: Extract cyclic components separately
...
A lot of optimizations in DFG assume a DAG, but the more things are
representable, the more likely it is that a small cyclic sub-graph is
present in an otherwise very large graph that is mostly acyclic. In
order to avoid loosing optimization opportunities, we explicitly extract
the cyclic sub-graphs (which are the strongly connected components +
anything feeing them, up to variable boundaries) and treat them
separately. This enables optimization of the remaining input.
2022-09-30 09:51:10 +01:00
Geza Lore
acebafcbc2
DFG: Partial support for unpacked arrays
...
Representation and Ast / Dfg conversions available, for element-wise
access only. Not much optimization yet (only CSE).
2022-09-29 19:00:45 +01:00
Geza Lore
4a1a2def95
DFG: make variable inlining part of the peephole optimizer
...
This saves some traversals and prepares us to better handle cyclic DFGs.
2022-09-29 18:40:10 +01:00
Geza Lore
09e352ef66
DFG: support hashing of graphs circular through variables
...
No functional change
2022-09-29 18:40:10 +01:00
Geza Lore
17976d7401
DFG: fix REPLACE_EQ_OF_CONST_AND_CONST peephole pattern
2022-09-29 18:40:10 +01:00
Wilson Snyder
f25a9a4c80
examples: Use SC_ZERO_TIME in tracing ( #3646 )
2022-09-28 19:11:00 -04:00
Wilson Snyder
cd2a5771b8
Add --timing to --binary ( #3625 ).
2022-09-28 19:02:23 -04:00
Krzysztof Bieganski
9c2ead90d5
Add custom memory management for verilated classes ( #3595 )
...
This change introduces a custom reference-counting pointer class that
allows creating such pointers from 'this'. This lets us keep the
receiver object around even if all references to it outside of a class
method no longer exist. Useful for coroutine methods, which may outlive
all external references to the object.
The deletion of objects is deferred until the next time slot. This is to
make clearing the triggered flag on named events in classes safe
(otherwise freed memory could be accessed).
2022-09-28 18:54:18 -04:00
Geza Lore
a999c73ce0
Commentary
2022-09-28 14:43:40 +01:00
Wilson Snyder
b92173bf3d
Add --binary option as alias of --main --exe --build ( #3625 ).
2022-09-28 09:04:33 -04:00
github action
91823c41c5
Apply 'make format'
2022-09-28 02:22:05 +00:00
Wilson Snyder
c6bce636ee
Merge branch 'master' into develop-v5
2022-09-27 22:19:04 -04:00
Wilson Snyder
75a70bee6d
Update to clang-format-14 on Ubuntu22.04
2022-09-27 21:47:45 -04:00
Wilson Snyder
1b1907af49
Tests: Rename some tests
2022-09-27 18:42:03 -04:00
Jake Merdich
1b18eee5dc
Tests: Fix CCache test not properly skipped ( #3643 )
...
If the skip condition happens, the rest still runs and it fails. Don't do that.
2022-09-27 09:11:49 -04:00
Ryszard Rozak
4931e48016
Support resolving assignments with equal strengths ( #3637 )
2022-09-26 21:21:37 -04:00
Geza Lore
1b17acdb01
DFG: Support AstSel and AstConcat on LHS of assignments
...
Added DfgVertexVariadic to represent DFG vetices with a varying number
of source operands. Converted DfgVar to be a variadic vertex, with each
driver corresponding to a fixed range of bits in the packed variable.
This allows us to handle AstSel on the LHS of assignments. Also added
support for AstConcat on the LHS by selecting into the RHS as
appropriate.
This improves OpenTitan ST speed by ~13%
2022-09-26 19:54:52 +01:00
Geza Lore
9c1cc5465d
DFG: Support packed structure and union types
2022-09-26 18:31:50 +01:00
Geza Lore
d8b5359fcb
Merge branch 'master' into develop-v5
2022-09-26 14:45:08 +01:00
Geza Lore
f96454adcc
gitignore .gdb_history
2022-09-26 14:43:09 +01:00
Geza Lore
9da012568c
Ensure DFG stats are consistent
2022-09-26 14:38:26 +01:00
Geza Lore
9a20a258f5
Omit AstNode::m_editCount in release build
...
This is only a debugging aid at this point, so compile out of the
release build. This reduces peak memory consumption by 4-5%. We still
keep the global counters to detect the tree have changed, to avoid
unnecessary dumps.
2022-09-25 08:57:33 +01:00
Geza Lore
10796457d2
V3Life: don't depend on AstNode::editCountGbl()
...
No functional change intended.
2022-09-24 20:45:30 +01:00
Geza Lore
78e659a142
Reduce size of FileLine
...
Multiple tricks to reduce the size of class FileLine from 72 to 40
bytes:
- Reduce file name index from 32 to 16 bits. This still allows 64K
unique input files, which is hopefully enough.
- Intern message/warning enable bitset and use a 16-bit index, again
allowing 64K unique sets which is hopefully enough.
- Put the m_waive flag into the sign bit of one of the line numbers.
- Use explicit reference counting to avoid overhead of shared_ptr.
Added assertions to ensure interned data fits within it's index space.
This saves ~5-10% peak memory consumption at no measurable run-time cost
on various designs.
2022-09-24 20:16:21 +01:00
Geza Lore
2f50642ecb
Exclude VL_DEFINE_DEBUG_FUNCTIONS from code coverage
2022-09-23 17:20:24 +01:00
Geza Lore
47bce4157d
Introduce DFG based combinational logic optimizer ( #3527 )
...
Added a new data-flow graph (DFG) based combinational logic optimizer.
The capabilities of this covers a combination of V3Const and V3Gate, but
is also more capable of transforming combinational logic into simplified
forms and more.
This entail adding a new internal representation, `DfgGraph`, and
appropriate `astToDfg` and `dfgToAst` conversion functions. The graph
represents some of the combinational equations (~continuous assignments)
in a module, and for the duration of the DFG passes, it takes over the
role of AstModule. A bulk of the Dfg vertices represent expressions.
These vertex classes, and the corresponding conversions to/from AST are
mostly auto-generated by astgen, together with a DfgVVisitor that can be
used for dynamic dispatch based on vertex (operation) types.
The resulting combinational logic graph (a `DfgGraph`) is then optimized
in various ways. Currently we perform common sub-expression elimination,
variable inlining, and some specific peephole optimizations, but there
is scope for more optimizations in the future using the same
representation. The optimizer is run directly before and after inlining.
The pre inline pass can operate on smaller graphs and hence converges
faster, but still has a chance of substantially reducing the size of the
logic on some designs, making inlining both faster and less memory
intensive. The post inline pass can then optimize across the inlined
module boundaries. No optimization is performed across a module
boundary.
For debugging purposes, each peephole optimization can be disabled
individually via the -fno-dfg-peepnole-<OPT> option, where <OPT> is one
of the optimizations listed in V3DfgPeephole.h, for example
-fno-dfg-peephole-remove-not-not.
The peephole patterns currently implemented were mostly picked based on
the design that inspired this work, and on that design the optimizations
yields ~30% single threaded speedup, and ~50% speedup on 4 threads. As
you can imagine not having to haul around redundant combinational
networks in the rest of the compilation pipeline also helps with memory
consumption, and up to 30% peak memory usage of Verilator was observed
on the same design.
Gains on other arbitrary designs are smaller (and can be improved by
analyzing those designs). For example OpenTitan gains between 1-15%
speedup depending on build type.
2022-09-23 16:46:22 +01:00
Geza Lore
3a8a314566
Merge branch 'master' into develop-v5
2022-09-23 11:21:12 +01:00
Geza Lore
050060b139
Make enum constructors and operators constexpr
2022-09-23 11:10:28 +01:00
Geza Lore
ddb678cc5b
Merge branch 'master' into develop-v5
2022-09-22 17:33:36 +01:00
Geza Lore
63c694f65f
Streamline dump control options
...
- Rename `--dump-treei` option to `--dumpi-tree`, which itself is now a
special case of `--dumpi-<tag>` where tag can be a magic word, or a
filename
- Control dumping via static `dump*()` functions, analogous to `debug()`
- Make dumping independent of the value of `debug()` (so dumping always
works even without the debug flag)
- Add separate `--dumpi-graph` for dumping V3Graphs, which is again a
special case of `--dumpi-<tag>`
- Alias `--dump-<tag>` to `--dumpi-<tag> 3` as before
2022-09-22 17:24:41 +01:00
github action
12093e6939
Apply 'make format'
2022-09-21 19:22:15 +00:00
Geza Lore
9949a6cd17
Generate AstGen::checkTreeiter to enforce Ast op*p use
...
Use astgen to generate a more thorough version of AstNode::checkTree,
which checks that operands are or consistent structure and type, as
described in the @astgen op directives. Also change checkTree to always
run when --debug-check is given.
Fix discovered fallout.
2022-09-21 18:12:11 +01:00
Geza Lore
4600932d8c
Remove unused files
2022-09-21 14:16:20 +01:00
Geza Lore
79ded3bb61
Merge branch 'master' into develop-v5
2022-09-21 14:15:21 +01:00
Geza Lore
95145038b4
Generate AstNode accessors via astgen
...
Introduce the @astgen directives parsed by astgen, currently used for
the generation child node (operand) accessors. Please see the updated
internal documentation for details.
2022-09-21 14:05:27 +01:00
Geza Lore
ce03293128
Generate AstNode accessors via astgen
...
Introduce the @astgen directives parsed by astgen, currently used for
the generation child node (operand) accessors. Please see the updated
internal documentation for details.
2022-09-21 13:56:03 +01:00
Geza Lore
72e7271a14
Merge branch 'master' into develop-v5
2022-09-21 12:19:00 +01:00
Geza Lore
0a8cfb8d2c
Put dump file in TEST_OBJ_DIR
2022-09-21 11:35:03 +01:00
Kamil Rakoczy
0b07679ff2
v3errorEnd: look for instance only when warning is not ignored ( #3632 )
...
This approach reduced total time of V3Undriven stage from 34,2s to 2,5s
in design containing almost 400 000 unused variables.
Signed-off-by: Kamil Rakoczy <[email protected] >
2022-09-21 10:54:23 +01:00
Wilson Snyder
550a5111b7
Commentary
2022-09-20 20:28:43 -04:00
Wilson Snyder
d162619bd3
Merge branch 'master' into develop-v5
2022-09-20 20:06:21 -04:00
Wilson Snyder
5df14627fd
Fix 32-bit build of previous commit
2022-09-20 18:23:44 -04:00
Mariusz Glebocki
fc3ce29845
Improve Verilation memory by reducing V3Number size ( #3521 )
2022-09-20 16:46:47 -04:00
Yu-Sheng Lin
bba800f2d6
Fix calling trace() after open() segfault ( #3610 ) ( #3627 )
2022-09-20 16:45:09 -04:00
Ryszard Rozak
fe2a1e1749
Remove assignments with strengths weaker than strongest non-tristate RHS ( #3629 )
2022-09-19 04:54:20 -04:00
Wilson Snyder
fc4ffd454e
Rename --bin to --build-dep-bin.
2022-09-18 10:32:43 -04:00
Wilson Snyder
8dae4ad93a
Tests: Rename to avoid dash.
2022-09-18 10:19:15 -04:00
Wilson Snyder
8da261f302
Tests: Rename to avoid dash.
2022-09-18 10:19:15 -04:00
Geza Lore
7bc7b5372e
Merge branch 'master' into develop-v5
2022-09-17 16:12:28 +01:00
Geza Lore
7d88e63bab
astgen: generate type specific addNext, remove astNextNull
...
Generate type specific static overloads of Ast<Node>::addNext, which
return the correct sub-type of the 'this' they were invoked on.
Also remove AstNode::addNextNull, which is now only used in the parser,
implement in verilog.y directly as a template function.
2022-09-17 15:05:22 +01:00
Wilson Snyder
a214fd1f78
Internals: Fix constructor syntax in new develop-v5 code
2022-09-17 08:56:41 -04:00
Wilson Snyder
79be097e34
Sort -V env variable output
2022-09-17 08:17:55 -04:00
Wilson Snyder
11b0d36ba2
Merge cleanups from 'develop-v5'. No functional change
2022-09-17 08:17:22 -04:00
Wilson Snyder
1234ee5fd2
Merge branch 'master' into develop-v5
2022-09-17 08:02:25 -04:00
Wilson Snyder
80b73859a2
Commentary: Some fixes from 'develop-v5'
2022-09-17 08:00:40 -04:00
Wilson Snyder
a548a77f26
Merge branch 'develop-v5' into master: Changes file
2022-09-17 07:58:56 -04:00
Wilson Snyder
d6bfb37e6a
Docker: Use 22.04
2022-09-17 07:47:06 -04:00
Geza Lore
af305bf280
Merge branch 'master' into develop-v5
2022-09-16 16:24:36 +01:00
Geza Lore
38a8d7fb2e
Remove redundant 'inline' keywords from definitions
...
Also add checks to t/t_dist_cppstyle
2022-09-16 15:52:25 +01:00
Geza Lore
0c70a0dcbf
Remove redundant 'virtual' keywords from overridden methods
...
'virtual' is redundant when 'override' is present, so keep only
'override'.
Add t/t_dist_cppstyle.pl to check for this.
2022-09-16 15:19:38 +01:00
Geza Lore
d16619fe86
astgen: Explicitly generate AstNode members
...
Generate boilerplate members of AstNode sub-types directly via astgen.
This is in preparation for generating additional members.
2022-09-16 11:18:20 +01:00
Wilson Snyder
ab6e1c2399
Commentary on --main
2022-09-15 20:26:08 -04:00
Wilson Snyder
2dc85a5acd
Internals: enum constructor cleanups. No functional change intended.
2022-09-15 19:58:10 -04:00
Kamil Rakoczy
dbe1348b4c
Tests: Fix earlier commit, add build jobs to stats ( #3623 ) ( #3626 )
2022-09-15 11:29:50 -04:00
Geza Lore
22846df03e
Merge branch 'master' into develop-v5
2022-09-15 14:01:19 +01:00
Wilson Snyder
d74536a4dc
Internals: Cleanup some constructors. No functional change intended.
2022-09-15 08:54:04 -04:00
Kamil Rakoczy
da20da264b
Add --build-jobs, and rework arguments for -j ( #3623 )
2022-09-15 08:28:58 -04:00
Geza Lore
22b9dfb9c9
Split and re-order AstNode definitions ( #3622 )
...
- Move DType representations into V3AstNodeDType.h
- Move AstNodeMath and subclasses into V3AstNodeMath.h
- Move any other AstNode subtypes into V3AstNodeOther.h
- Fix up out-of-order definitions via inline methods and implementations
in V3Inlines.h and V3AstNodes.cpp
- Enforce declaration order of AstNode subtypes via astgen,
which will now fail when definitions are mis-ordered.
2022-09-15 13:10:39 +01:00
Geza Lore
27031ed688
Merge branch 'master' into develop-v5
2022-09-15 10:28:35 +01:00
Wilson Snyder
e43c089ab8
Commentary
2022-09-14 23:26:34 -04:00
Wilson Snyder
d85b909054
Internals: Use std:: for mem and str functions.
2022-09-14 21:10:19 -04: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
Ryszard Rozak
a3c58d7b70
Support IEEE constant signal strengths ( #3601 ).
2022-09-14 07:39:27 -04:00
Kamil Rakoczy
ae466b1703
Internals: Improve Verilation peak memory usage in V3Subst ( #3512 ).
2022-09-14 07:37:51 -04:00
Geza Lore
2564484429
astgen: Rewrite in a more OOP way, in preparation for extensions
...
Rely less on strings and represent AstNode classes as a 'class Node',
with all associated properties kept together, rather than distributed
over multiple dictionaries or constructed at retrieval time.
No functional change intended.
2022-09-13 21:54:12 +01:00
Kamil Rakoczy
93a044f587
Internals: Rework addFilesp towards parallel emit ( #3620 ). No functional change intended.
2022-09-13 12:15:34 -04:00
Wilson Snyder
81fe35ee2e
Fix typedef'ed class conversion to boolean ( #3616 ).
2022-09-12 18:03:56 -04:00
Geza Lore
08b6bdddf9
Update default --mod-prefix when --prefix is repeated
...
Fixes #3603
2022-09-12 17:25:09 +01:00
Kamil Rakoczy
4d49db48a3
Internals: Remove usage of user1 from EmitCTrace ( #3617 ). No Functional change intended.
2022-09-12 12:00:41 -04:00
Kamil Rakoczy
9b2266f68c
Internals: Remove usage of global state in V3EmitCFunc ( #3615 ). No functional change intended.
2022-09-12 11:59:14 -04:00
Wilson Snyder
752f425025
Tests: Process/Semaphore/Mailbox testing (all fail until supported)
2022-09-11 13:05:24 -04:00
Gustav Svensk
47262cd4ec
Fix arguments in non-static method call ( #3547 ) ( #3582 )
2022-09-11 12:33:31 -04:00
Wilson Snyder
47e64535d6
Commentary
2022-09-11 12:25:44 -04:00
Wilson Snyder
45d622e4bc
Github actions: Avoid cpan cert expirations.
2022-09-08 11:06:44 -04:00
Wilson Snyder
249feaae7c
Tests: Remove lint-py, need ci package.
2022-09-07 22:59:32 -04:00
Wilson Snyder
9a27004ae5
Github actions: Avoid cpan cert expirations.
2022-09-07 22:49:09 -04:00
Wilson Snyder
42283150d7
Actions: Use 22.04 for contrib action
2022-09-07 22:13:02 -04:00
Wilson Snyder
5a1bcf9794
Tests: Add lint-py checker
2022-09-07 22:04:57 -04:00
Wilson Snyder
361cef4633
Fix pylint warnings.
2022-09-07 21:48:52 -04:00
Geza Lore
90ab746a42
Make it possible to parallelize ico and act scheduling sections
...
Small fixup patch so the 'ico' and 'act' scheduling sections could be
ordered as multi-threaded. However, we still only order these single
threaded at the moment (but switching them to multi-threaded now works).
2022-09-06 16:01:13 +01:00
github action
e94cdcf29c
Apply 'make format'
2022-09-05 22:43:09 +00:00
Mladen Slijepcevic
1af046986d
Fix thread saftey in SystemC VL_ASSIGN_SBW/WSB ( #3494 ) ( #3513 ).
2022-09-05 18:42:12 -04:00
Wilson Snyder
1c9263a25b
Commentary
2022-09-05 15:20:08 -04:00
Geza Lore
fd6275a62b
Merge branch 'master' into develop-v5
2022-09-05 17:03:43 +01:00
Krzysztof Bieganski
6b6790fc50
Preserve return type of AstNode::addNext via templating ( #3597 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 16:56:57 +01:00
Krzysztof Bieganski
fb931087ab
Add stats tracking for V3Undriven. ( #3600 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 16:20:38 +01:00
Krzysztof Bieganski
a2e1b32a1c
Fix inlining of forks ( #3594 )
...
Before this change, some forked processes were being inlined in
`V3Timing` because they contained no `CAwait`s. This only works under
the assumption that no `CAwait`s will be added there later, which is not
true, as a function called by a forked process could be turned into a
coroutine later. The call would be wrapped in a new `CAwait`, but the
process itself would have already been inlined at this point.
This commit moves the inlining to `transformForks` in `V3SchedTiming`,
which is called at a point when all `CAwait`s are already in place.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 15:19:19 +01:00
Krzysztof Bieganski
54f89bce42
Move SenExprBuilder to a header. ( #3598 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 15:17:51 +01:00
Krzysztof Bieganski
8b19d02e3b
Fix co_await VlNow{} being added too many times ( #3596 )
...
(or not at all)
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 11:46:34 +01:00
Krzysztof Bieganski
da7ad35577
Fix fork debug output ( #3593 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-09-05 11:27:24 +01:00
Geza Lore
937e893b6d
Build verilator_bin with -O3 ( #3592 )
...
This is consistently a few percent faster.
2022-09-03 22:10:07 +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
Geza Lore
8e8f4b1e5c
Remove AstVarScope::valuep() and related code
...
This is detritus from when V3TraceDecl used to run after V3Gate, today
V3TraceDecl runs before V3Gate and this value has no function at all.
No functional change intended.
2022-09-02 16:44:13 +01:00
Geza Lore
298f71f2b1
Merge branch 'master' into develop-v5
2022-09-02 12:19:35 +01:00
Geza Lore
2ba39b25f1
Replace dynamic_casts with static_casts
...
dynamic_cast is not free. Replace obvious instances (where the result is
unconditionally dereferenced) with static_cast in contexts with
performance implications.
2022-09-02 12:08:34 +01:00
Geza Lore
5c828b7e60
V3Partition: use V3Lists to keep track of SiblingMCs
...
Replace std::set<SiblingMC> with V3Lists to keep track of SiblingMCs
associated with MTasks, use a std::set<LogicMTask*> for ensuring
uniqueness. This yields a bit more speed in PartContraction.
2022-09-01 19:40:44 +01:00
Geza Lore
4640bea31a
V3Partition: More improvements for PartFixDataHazards
...
- Remove redundant loop through the MTask graph
- Gather variables directly from the OrderGraph, which is simpler and
faster.
2022-09-01 16:30:04 +01:00
Geza Lore
875361d7ce
V3Partition: Reduce working set size of PartContraction ( #3587 )
...
This yields an additional 25% speedup of MT scheduling.
2022-09-01 16:29:40 +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
Geza Lore
c0f9b0d8f6
V3Partition: Refactor initialization of MTask dependencies
...
No functional change
2022-08-31 16:54:04 +01:00
Geza Lore
505bba14eb
Improve PartFixDataHazards for clarity and speed.
...
- Use modern C++
- Implement OrderLogicVertex->LogicMTask map with
OrderLogicVertex::userp(), insteas of std::unordered_map
- Simplify data structures
- Simplify code and assert properties
No functional change.
2022-08-31 16:52:05 +01:00
Geza Lore
ebbe24966c
Remove unnecessary virtual methods
2022-08-31 16:52:05 +01:00
Geza Lore
881c3f6e40
Minor optimization of PartContraction
...
Remove rarely used debug code from initialization loop.
2022-08-31 16:52:05 +01:00
Geza Lore
546aeab9f2
V3Order: Minor refactoring for clarity
...
Refactor ProcessMoveBuildGraph utilizing the fact that OrderGraph is a
bipartite graph, also remove unnecessary unordered_map and distribute
variable domain map. No functional change.
2022-08-31 16:52:05 +01:00
Geza Lore
8de21e9bb7
Document and ensure OrderGraph is bipartite
...
Minor refactoring and documentation. No functional change.
2022-08-31 16:52:05 +01:00
Geza Lore
2ecda74471
Merge branch 'master' into develop-v5
2022-08-31 10:45:18 +01:00
Aleksander Kiryk
2136afde6b
Support negated properties ( #3572 )
2022-08-30 06:33:42 -04:00
Wilson Snyder
ea55db7286
Internals: Cleanup some string constructors. No functional change.
2022-08-30 01:02:39 -04:00
Wilson Snyder
819e8741cc
Merge branch 'master' into develop-v5
2022-08-30 00:20:21 -04:00
Wilson Snyder
6a5f77b278
Internals: Cleanup some string/model constructors. No functional change.
2022-08-29 23:50:32 -04:00
Wilson Snyder
8658a0d7dc
Internals: Constructor format update. No functional change.
2022-08-29 23:05:52 -04:00
Wilson Snyder
c335aad25f
Fix --hierarchical with order-based pin connections ( #3583 ).
2022-08-29 22:49:19 -04:00
Wilson Snyder
9d9d647c1f
Fix indentation of --protect import function SV code.
2022-08-29 22:28:02 -04:00
Wilson Snyder
d47a37fb76
Internals: Cleanup constructors etc. No functional change.
2022-08-29 22:17:27 -04:00
Aleksander Kiryk
24ec84851a
Support $sampled ( #3569 )
2022-08-29 08:39:41 -04:00
Arkadiusz Kozdra
0a3a15a66e
Support class parameters ( #2231 ) ( #3541 )
2022-08-28 10:24:55 -04:00
Wilson Snyder
2358ced061
Rename tracing rolloverSize and add test ( #3570 ).
2022-08-28 08:25:02 -04:00
Krzysztof Bieganski
2af5304884
Fix tracing of slow coroutines ( #3576 part) ( #3579 )
2022-08-26 05:11:44 -05:00
Varun Koyyalagunta
5869fdf7f6
Fix $dump systemtask with --output-split-cfuncs ( #3495 ) ( #3497 )
2022-08-25 18:29:11 -05:00
Krzysztof Bieganski
1a1d2ecfd9
Enable tracing in generated main ( #3578 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-08-25 14:55:37 +01: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 <[email protected] >
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
7cc89b8b42
Merge branch 'master' into develop-v5
2022-08-20 14:19:45 -04:00
Wilson Snyder
c6607724cb
Fix clang warning.
2022-08-20 14:19:00 -04: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
Krzysztof Bieganski
10cf492946
Add support for expressions in event controls ( #3550 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-08-19 20:18:38 +02:00
Geza Lore
4d81eb021d
Revert "Improve performance of MTask coarsening"
...
This reverts commit 83475008d9 .
2022-08-19 18:03:45 +01:00
Geza Lore
83475008d9
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-19 16:59:20 +01:00
Geza Lore
03ac7ad730
Make PartPropagateCp specific to the MTask graph
...
While keeping the client code abstract in PartPropagateCp is nice for
testing, there is performance to be had removing the abstraction. As
this code dominates in scheduling large designs, we eliminate the
abstraction and re-work the testing to use the actual LogicMTask and
MTaskEdge graph types. No functional change intended.
2022-08-19 14:06:11 +01:00
Geza Lore
cd50949a7e
Reuse MTaskEdge instances in MT scheduling
...
Instead of deleting then re-allocating MTaskEdge instances when merging
two MTasks, just redirect the edged of the donor MTask to the recipient
MTask. This is both faster as it avoids an allocation and a deletion,
together with one update of the sibling maps, and also makes the
algorithm more stable due to MergeCandidate IDs being stable and
allocated up front for all MTaskEdges, before any SiblingMCs are
allocated.
Perturbations in output are expected as the IDs used to break ties
between merge candidates with equal costs are not updated when
redirecting an edge (on purpose). The relinking of only one end of the
graph edges also perturbs the order in which they are enumerated, which
does change candidate opportunities when the number of edges is larger
than PART_SIBLING_EDGE_LIMIT. Confirmed output is identical when
IDs are updated and edges are updated to appear in their original order.
2022-08-19 14:06:11 +01:00
Geza Lore
f0040c7b9a
Remove reliance on pointer comparison in MT scheduling
...
The critical path propagation used to rely on a pointer comparison to
break equal scoring critical path updates. Use the corresponding mtask
ids instead, which is deterministic across invocations.
2022-08-19 14:06:11 +01:00
Geza Lore
f8a0389e73
Do not use stepCost when gathering sibling merge candidates
...
siblingPairFromRelatives gathers neighbours of a vertex, and sorts them.
It then takes the N best nodes, and creates sibling merge candidates
from them. We now use the unadjusted cost instead of the step cost of
the vertices when sorting. This is both faster as we need not do the
log-space rounding to compute stepCost, and will also make similar but
yet cheaper nodes appear closer to the front as we don't lose precision
in rounding, hence they are more likely to be entered as merge
candidates. Note that when creating the merge candidate, we still use
the stepCost, so it's purpose of reducing the propagation of critical
path updates is maintained in full. In summary, this should make both
Verilator and the generated model very slightly faster, at least in
theory, and I have observed minor improvement in places.
2022-08-19 14:06:11 +01:00
Geza Lore
b436794773
Add specialized GraphStreamUnordered
...
GraphStreamUnordered used to be GraphStream<std::less<const
V3GraphVertex*>>, but a lot of performance improvements can be had by a
specialized implementation, so added a highly optimized one. This helps
a lot with --debug-partition.
2022-08-19 14:06:11 +01:00
Geza Lore
1404319b28
Merge branch 'master' into develop-v5
2022-08-19 13:39:44 +01:00
Geza Lore
90d22cbec6
Fix AstNode::exists return type
2022-08-19 13:22:06 +01:00
Krzysztof Bieganski
33e2acfe61
Fix AstNode::forall return type ( #3559 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-08-19 12:33:17 +01:00
Ryszard Rozak
db5fdfb0ee
Fix === with some tristate constants ( #3551 ).
2022-08-18 07:03:05 -04:00
Krzysztof Bieganski
951cd73fe0
Handle MemberSel in V3EmitV.cpp ( #3555 )
2022-08-18 06:33:45 -04:00
Arkadiusz Kozdra
0eeb40b975
Fix converting subclasses to string ( #3552 )
2022-08-17 18:08:43 -04:00
Wilson Snyder
93272c13fd
Tests: Confirm fixed ( #181 )
2022-08-15 22:17:36 -04:00
Wilson Snyder
43abaeb055
Tests: Confirm fixed ( #485 )
2022-08-15 22:17:17 -04:00
Wilson Snyder
18b9e661c9
Tests: Confirm fixed ( #446 )
2022-08-15 22:17:09 -04:00
Wilson Snyder
f435d96241
Fix case statement comparing string literal ( #3544 ).
2022-08-15 21:56:09 -04:00
github action
d32e3f042f
Apply 'make format'
2022-08-12 10:56:12 +00:00
Mostafa Gamal
df5f95a5bd
Fix nested default assignment for struct pattern ( #3511 ) ( #3524 )
2022-08-12 06:55:07 -04:00
Drew Ranck
b0c475205b
Fix void-cast queue pop_front or pop_back ( #3542 ) ( #3364 )
...
Fix compile error for queue method usage, if it is the
first statement in a block of code, and the return
value is not used. Example:
> if (foo)
> void'(bar.pop_front());
2022-08-12 06:51:25 -04:00
Wilson Snyder
1e2219347e
Internals: Cleanup ifdef, move up not under compilver version ifdef
2022-08-11 17:41:43 -04:00
Wilson Snyder
cbe1b8e266
Fix segfault exporting non-existant package ( #3535 ).
2022-08-08 17:53:50 -04:00
Mariusz Glebocki
2b12fe5773
Internals: Construct V3Number with correct type instead of changing it manually. ( #3529 )
2022-08-08 08:17:02 -04:00
Geza Lore
a4fd6d38fb
Add operator != to VlWide
...
This is required by VlUnpacked::neq
2022-08-07 13:13:28 +01:00
Yutetsu TAKATSUKASA
d20f22beb1
Fix tristate logic when reading inout port in a module #3399 ( #3523 )
...
* Tests: Add a test to reproduce #3399
* Fix #3399 . When reading an inout port in a module, it should refer the
original inout port, not the generated MODTEMP.
2022-08-07 21:12:57 +09:00
Wilson Snyder
f4fe10844b
Tests: Fix t_flag_help.pl ( #3532 ).
2022-08-07 04:57:59 -04:00
Mariusz Glebocki
122e89ffde
Fix V3Number::isMsbXZ(). ( #3530 )
2022-08-05 19:12:52 +01:00
Geza Lore
c266739e9f
Merge branch 'master' into develop-v5
2022-08-05 12:17:57 +01:00
Geza Lore
96a4b3e5a5
Update clang-format config and apply
...
- Regroup and sort #include directives (like we used to, but automatic)
- Set AlwaysBreakTemplateDeclarations to true
2022-08-05 12:00:24 +01:00
Geza Lore
7403226a97
Merge branch 'master' into develop-v5
2022-08-04 10:03:38 +01:00
Geza Lore
fac8e76923
Rework SortByValueMap for better performance
...
Keep a single std::set of key/value pairs, and a single unordered_map
from key to iterators into the set. Also improve some of the accessing
mechanisms using modern C++. This speeds up multi-threaded ordering by
about 10%.
2022-08-03 21:17:02 +01:00
Geza Lore
b864f5f5ba
V3Partition: use static_cast with LogicMTaskVertex
...
dynamic_cast is not free, and the mtask graph contains only
LogicMTaskVertex vertices, use static_cast instead for some speedup.
2022-08-03 17:05:01 +01:00
Geza Lore
f9f66d787e
Fix integer overflow in V3Unroll ( #3451 )
2022-08-03 09:41:30 +01:00
Geza Lore
bd211c87aa
astgen: split 'visit' method declarations from definitions
...
Add definitions to V3Ast.cpp, and use static_cast.
This fixes a lot of clang-tidy noise.
2022-08-02 17:53:19 +01:00
Geza Lore
6c33e6e889
Tell clang-tidy .h files are C++ (not C) headers
2022-08-02 17:53:19 +01:00
Geza Lore
6fc25dae9e
Fix clang-tidy warnings ( #3522 )
2022-08-02 15:58:48 +01:00
Kamil Rakoczy
cfb6fd8b34
Reduce max RSS usage ( #3483 )
...
By constant folding nodes earlier in V3Expand, we can save some max RSS on large designs.
2022-08-02 13:36:14 +01:00
Geza Lore
39d1a62f9e
Fix change detection on unpacked arrays
...
Expand array assignment when creating the trigger, as V3Expand might
mangle it otherwise.
2022-08-02 13:01:41 +01:00
Geza Lore
ba66fa7200
Merge branch 'master' into develop-v5
2022-08-02 11:16:35 +01:00
Geza Lore
cb60663d49
V3Gate: Defer substitutions until required as well
...
Similarly to the earlier patch that defers constant folding on optimized
logic, now we also defer the variable substitutions as well. This again
eliminates a lot of traversals, and yields another ~10x speedup of V3Gate
on a design where V3Gate used to dominate while producing identical
results.
2022-08-01 12:54:41 +01:00
Geza Lore
0d2bf23d82
V3Gate: Defer constant folding until required
...
Rather than constant folding each logic block after every substitution,
only constant fold updated blocks when re-analysed, or at the end. This
removes a lot of invocations of V3Const on large blocks that can be
optimized well, and should yield the same result.
This speeds up V3Gate by ~4x on a design where V3Gate dominates.
2022-07-31 20:42:04 +01:00
Geza Lore
682a60e325
Cleanup V3Gate, no functional change
2022-07-31 20:07:54 +01:00
Geza Lore
2ab6272cc7
Use AstNode::foreach in V3Gate
...
This yields a little speedup.
2022-07-31 20:05:25 +01:00
Geza Lore
152a6cd886
Improve AstNode::foreach (also exists and forall)
...
Speed improvements:
- Use a direct, recursion-free implementation
- Improve pre-fetching
Functionality:
- Support remove/replace of currently iterated node
2022-07-31 19:07:32 +01:00
Wilson Snyder
3c54d5df70
Merge branch 'master' into develop-v5
2022-07-30 14:42:51 -04:00
Wilson Snyder
f91793e931
Revert - SC overrides cause non-override clang error.
2022-07-30 13:53:54 -04:00
Wilson Snyder
12925cd8b0
Internals: clang-tidy cleanups. No functional change intended.
2022-07-30 12:49:30 -04:00
Wilson Snyder
daac7cb90d
Merge branch 'master' into develop-v5
2022-07-30 12:09:05 -04:00
Wilson Snyder
a2d26b45bb
Internals: Fix some clang-tidy issues. No functional change intended.
2022-07-30 11:54:28 -04:00
Wilson Snyder
dce8f3d25d
Internals: Spacing from develop-v5. No functional change.
2022-07-30 11:54:28 -04:00
Geza Lore
38e5b6c1ad
Replace __gcov_flush with __gcov_dump
...
__gcov_flush was a private function and was removed from later GCC
versions (at least from 11.2.0, possibly earlier). Replace with the
documented public __gcov_dump.
2022-07-30 16:02:03 +01:00
Wilson Snyder
4859f5e1fa
Merge branch 'master' into develop-v5
2022-07-30 10:26:16 -04:00
Wilson Snyder
b9d7819faa
Internals: Fix some cppcheck issues. Some dump functions fixed.
2022-07-30 10:01:39 -04:00
Geza Lore
ad2fbfe62d
Merge branch 'master' into develop-v5
2022-07-29 12:04:24 +01:00
Yutetsu TAKATSUKASA
1f9323d086
Set correct dtype in replaceShiftSame() ( #3520 )
...
* Tests: Add a test to reproduce bug3399
* Fix3399. Set the correct dtype in replaceShiftSame().
* Tests: update stats.
* Update Changes
2022-07-29 07:05:04 +09:00
Geza Lore
574dbfded1
V3MergeCond: Fix incorrect merge of assignments to the condition
2022-07-28 15:50:02 +01:00
Wilson Snyder
2a87387eb3
Documentation fixes ( #3514 )
2022-07-28 08:41:01 -04:00
Geza Lore
a5ddd10e31
Tests: compare VCD files both ways
...
vcddiff is a bit broken, and sometimes 'vcddiff a b' fails while the
files are indeed equivalent. There is a chance however that 'vcddif b a'
will succeed in this case, so compare trace files both ways when
checking test results and claim success if vcddiff succeeds in at least
one direction.
2022-07-27 10:48:02 +01:00
github action
e871cd8a44
Apply 'make format'
2022-07-25 21:47:29 +00:00
Mostafa Gamal
7b431b37c7
Fix struct pattern assignment ( #2328 ) ( #3517 ).
2022-07-25 17:46:22 -04:00
Gustav Svensk
eeef5ab4de
Fix sformat string incorrectly cleared ( #3515 ) ( #3519 ).
2022-07-25 17:36:34 +02:00
Geza Lore
ac4ec87942
Respect clang's default -fbracket-depth by default
...
Set default value of --comp-limit-parens to 240, to respect default
maximum nesting of parentheses in clang (which is controlled by
-fbracket-depth and defaults to 256). For code generation consistency,
also use the same default with gcc.
2022-07-25 12:59:26 +01:00
Geza Lore
290c2e0388
Mark FileLine::v3errorEndFatal as noreturn
2022-07-25 12:51:02 +01:00
Geza Lore
89924bda51
Always type '$clog2' as signed 32
2022-07-25 12:48:13 +01:00
Yutetsu TAKATSUKASA
60eab3eb8c
Fix wrong result of bit op tree optimization #3509 ( #3516 )
...
* Tests: Add a test to reproduce #3509
* Tests: Compile without tautological-compare check because bit op tree optimization is disabled in the test.
* Internals: Dedup code. No functional change is intended.
* Fix #3509 .
"2'b10 == (2'b11 & {1'b0, val[0]})" and "2'b10 != (2'b11 & {1'b0, val[0]})" were
wrongly optimized to "!val[0]" and "val[0]" respectively.
Now properly optimize them to 1'b0 and 1'b1.
* Commentary
* Commentary: Update Changes
2022-07-24 19:54:37 +09:00
Geza Lore
386401da60
Merge branch 'master' into develop-v5
2022-07-22 15:09:20 +01:00
Geza Lore
31abe537a0
Fix DPI export trigger sensitivity in 'nba'
...
Fixes #3508
2022-07-21 17:43:03 +01:00
Geza Lore
e0b61ceabd
Remove legacy #ifdef SYSTEMC_64BIT_PATCHES
...
These days this is always false, see #3505
2022-07-21 15:01:17 +01:00
Geza Lore
f9ecbdc70b
Merge branch 'master' into develop-v5
2022-07-21 09:56:14 +01:00
Geza Lore
30e3edb81d
Remove deprecated and unused timescale override defines
...
These have been 'deprecated' for 2 years and are otherwise unused except
for using a temporary placeholder value, which I have inlined with the
default value.
Also remove the now VL_TIME_STR_CONVERT utility function (and
corresponding unit tests), which have no references in any project on
GitHub.
2022-07-20 14:06:09 +01:00
Arkadiusz Kozdra
542e324869
Wildcard index type support for associative arrays ( #3501 ).
...
Associative arrays that specify a wildcard index type may be indexed by
integral expressions of any size, with leading zeros removed
automatically. A natural representation for such expressions is a
string, especially that the standard explicitly specifies automatic
casts from string indices to bit vectors of equivalent size.
The automatic cast part is done implicitly by the existing type system.
A simpler way to just make this work would be to convert wildcard index
type to a string type directly in the parser code, but several new AST
classes are needed to make sure illegal method calls are detected.
The verilated data structure implementation is reused, because there is
no need for differentiating the behavior on C++ side.
2022-07-20 15:01:36 +02:00
Geza Lore
1c5e5704f5
Fix iteration fixup in AstNode::addHereThisAsNext
...
Previous version broke verialor_ext_tests due to iteration order
mismatch after 3fc8249429
2022-07-20 13:08:51 +01:00
Geza Lore
1d400dd98c
Configure tracing at run-time, instead of compile time ( #3504 )
...
All remaining use of conditional compilation in the tracing
implementation of the run-time library are replaced with the use of
VerilatedModel::traceConfig, and is now done at run-time.
2022-07-20 11:27:10 +01:00
Geza Lore
a4ed3c2086
Make parallel tracing switchable at run-time
2022-07-19 17:13:13 +01:00
Geza Lore
efb5caad22
Improve robustness of trace configuration
...
Always fail if adding a model to a trace file that has already executed
a dump. We used to do this before as well, though in a less robust way.
We will be relying on this property more in the future, so improve the
check.
2022-07-19 14:16:08 +01:00
Geza Lore
3a002b6cf2
Remove VerilatedVcd::m_evcd and related dead code.
...
The legacy code that was using this was removed earlier, and m_evcd was
constant false, so removed.
2022-07-19 13:58:18 +01:00
Geza Lore
f8b7981be4
Make use of FST writer thread switchable at run-time.
...
Always build the FST libray with -DFST_WRITER_PARALLEL, iff VL_THREADED.
This supports run-time enablement of the FST writer thread, and has no
measurable performance impact on single threaded tracing but simplifies
the library build.
Note: the actual choice of using the fst writer thread is still compile
time, but can now be made run-time easily.
2022-07-19 13:48:03 +01:00
Geza Lore
b55ee79d86
Fix typo
2022-07-19 12:36:21 +01:00
Geza Lore
af70db88db
Remove unused method
2022-07-19 11:32:16 +01:00
Geza Lore
7ef033f876
Ensure generated Makefile for hierarchical build is stable.
...
Avoid iterating unordered_map. Iterate sorted blocks instead.
2022-07-19 11:32:01 +01:00
Geza Lore
db59c07f27
Implement trace offloading with fewer ifdefs
...
Step towards a proper run-time library. Reduce the amount of ifdefs in
the implementation of offloaded tracing. There are still a very small
number of ifdefs left, which will need more careful changes in order to
keep user API compatibility.
2022-07-19 11:31:35 +01:00
Geza Lore
9085e34d70
Pass VerilatedModel at trace registration time
2022-07-19 11:00:09 +01:00
Arkadiusz Kozdra
0dfa7d3af5
Internals: const-qualify findDType function. No functional change. ( #3502 )
2022-07-18 18:58:55 +02:00
Geza Lore
c28bf9ce24
Fix change detection over unpacked arrays.
2022-07-18 12:25:22 +01:00
Geza Lore
5a1f1796d7
Fix t/t_public_{clk,src}.pl after merge of master
2022-07-15 16:48:22 +01:00
Geza Lore
ffc95fcf0e
Merge branch 'master' into develop-v5
2022-07-15 16:48:14 +01:00
Todd Strader
b0e796ca83
Public combo propagation issues ( #2905 )
2022-07-15 11:44:32 -04:00
Geza Lore
3773e2ef95
Simplify primary input checks
2022-07-15 16:18:41 +01:00
Geza Lore
00c1f67c57
Make trigger dumping functions always Slow code
2022-07-14 16:28:09 +01:00
Geza Lore
3f19ba1554
Improve handling of extra trigges in V3Sched.
...
Add utility class for allocation, and add human readable text to debug
code.
2022-07-14 16:06:15 +01:00
Geza Lore
f37cc2353d
Fix standard library incldues
2022-07-14 15:49:00 +01:00
Geza Lore
6a7bda6910
Correctly schedule combinational logic driven from DPI exports.
...
Fixes #3429 .
2022-07-14 15:35:49 +01:00
Geza Lore
ff1b9930fc
Handle multiple external domains in V3Order
...
Make the external domains provider of ordering populate an output
vector, which then allows us to add multiple external sensitivities to
combinational logic.
2022-07-14 11:09:40 +01:00
Geza Lore
582da6df9a
Merge branch 'master' into develop-v5
2022-07-14 10:08:52 +01:00
Geza Lore
3bd830eacf
Minor clean up of initialization
2022-07-13 18:24:48 +01:00
Geza Lore
f4efcbde5c
Remove simple use of static data from V3OutFormatter::indentSpaces
2022-07-13 16:15:21 +01:00
Geza Lore
658819bb71
Trivial static const -> constexpr
2022-07-13 16:01:03 +01:00
Geza Lore
3fc8249429
Use AstNode::addHereThisAsNext in a few places
2022-07-13 13:57:00 +01:00
Geza Lore
e0a38ce2c2
Remove unnecessary AstNode::clearIter()
2022-07-13 13:57:00 +01:00
Geza Lore
178e1789b5
Make AstNode::addHereThisAsNext always O(1)
...
Using unlinkFrBackWithNext is O(n) in the size of the list if unlinking
from the middle, so addHereThisAsNext also had this complexity. This
patch implements addHereThisAsNext directly, which is always O(1).
2022-07-13 12:13:40 +01:00
William D. Jones
108c900387
Fix unique_ptr memory header for MinGW64 ( #3493 ).
2022-07-13 06:38:03 -04:00
Wilson Snyder
63507e8e29
Internals: Favor UASSERT_OBJ when have object.
2022-07-12 18:02:57 -04:00
Geza Lore
87f1e06c41
Small algorithmic improvement of PartContraction::siblingPairFromRelatives
...
Use std::partial_sort for the non-exhaustive case. This is O(n) instead
of O(n*log(n)) in the size of the candidate list being sorted. (It
actually is O(n*log(k)), but k is constant 6 in the non-exhaustive
case).
2022-07-12 19:10:01 +01:00
Geza Lore
7e8bafd217
Remove static data use from PartContraction::siblingPairFromRelatives
...
Use std::sort with lambda rather than qsort with static function and
static data. Verilation performance neutral.
2022-07-12 19:09:40 +01:00
Geza Lore
457ad07ade
Remove unnecessary static state from V3EmitCFunc
2022-07-12 17:51:17 +01:00
Geza Lore
c9ac9a75a6
Merge branch 'master' into develop-v5
2022-07-12 17:29:45 +01:00
Geza Lore
79c901c220
Tighten signatures/implementaion of VerilatedModel abstract methods.
2022-07-12 16:06:08 +01:00
Geza Lore
b61d819fcb
Move contextp() under VerilatedModel
2022-07-12 16:06:08 +01:00
Geza Lore
f4038e3674
Move thread pool and execution profiler into the context. ( #3477 )
...
Fixes #3454
2022-07-12 11:41:15 +01:00
Arkadiusz Kozdra
8377514127
Add support for $test$plusargs(expr) ( #3489 )
2022-07-11 06:21:35 -04:00
Wilson Snyder
d8ea989eda
Tests/examples: Remove some legacy Verilator:: calls.
2022-07-09 09:50:50 -04:00
Wilson Snyder
5f3316d3dc
* Fix empty string arguments to display ( #3484 ).
2022-07-09 08:30:57 -04:00
Wilson Snyder
a4fddb3fbe
Fix table misoptimizing away display ( #3488 ).
2022-07-09 07:55:46 -04:00
Wilson Snyder
3d71716a8a
Internals: Constructor style cleanup. No functional change.
2022-07-09 07:40:07 -04:00
Yutetsu TAKATSUKASA
9f37cef1bb
Fix #3470 of incorrect bit op tree optimization ( #3476 )
...
* Tests: Add a test to reproduce #3470
* Update LSB during return path of traversal. No functional change is intended.
* Introduce LeafInfo::m_msb
* Update LeafInfo::m_msb when visitin AstCCast
* Internals: Add comment, reorder. No functional change is intended.
* Delete explicit from copy constructor to fix build error.
* Update Changes
* Internals: Remove unused parameter. No functional change is intended.
* Tests: Add explanation to t_const_opt.
2022-07-06 08:33:37 +09:00
Geza Lore
0de1bbc85b
Add and use VL_CONSTEXPR_CXX17
2022-07-05 14:21:28 +01:00
Geza Lore
3aa8624658
Set 'threads' in tests via parameter to compile
...
This is in preparation to #3454 .
2022-07-05 12:33:41 +01:00
Geza Lore
42b711b862
Don't use 'assert' in profiler initialization
2022-07-05 12:18:54 +01:00
Wilson Snyder
b25b798dbe
Merge branch 'master' into develop-v5
2022-07-04 13:20:03 -04:00
Mariusz Glebocki
2873dbe154
Optimize file writing by using a memory buffer. ( #3461 )
2022-07-04 10:23:31 -04:00
Felix Yan
31a83cb0d8
Fix use of C++17 on Arch Linux ( #3479 )
2022-06-29 11:24:30 -04:00
Geza Lore
383e384739
Remove always true cfg_with_threaded from test driver
2022-06-27 15:23:32 +01:00
Geza Lore
1bb6433649
Improve worker thread shutdown.
...
Always ensure worker thread task queue is drained before shutting down.
2022-06-27 15:03:36 +01:00
Yutetsu TAKATSUKASA
ced39d0982
Internals: preparation for fixing #3470 ( #3475 )
...
* Internals: Let LeafInfo class. No functional change is intended.
* Internals: Rename LeafInfo::width -> LeafInfo::varWidth(). No functional change is intende.
2022-06-27 22:41:33 +09:00
Wilson Snyder
fc4d6a62af
Remove VL_PROFILER ifdef. Partial ( #3454 ).
2022-06-22 20:06:23 -04:00
Wilson Snyder
fa99cbbc73
Commentary: Fix mis-sorted option names. No functional change.
2022-06-21 19:28:26 -04:00
Wilson Snyder
49455721a3
Commentary
2022-06-21 19:28:23 -04:00
Unai Martinez-Corral
11032b1936
Fix bisonpre for MSYS2 ( #3471 )
2022-06-20 11:59:27 -04:00
Wilson Snyder
e7ca4a69e3
Merge branch 'master' into develop-v5
2022-06-19 15:22:09 -04:00
Wilson Snyder
f2fba51fe2
devel release
2022-06-19 15:13:29 -04:00
Wilson Snyder
7c79f0d431
Version bump (Changes update)
2022-06-19 15:10:23 -04:00
Wilson Snyder
41b9b30b9b
Version bump
2022-06-19 15:01:17 -04:00
Wilson Snyder
1fa82ffb7b
Commentary: Update ChangeLog
2022-06-19 15:00:10 -04:00
Wilson Snyder
4f93ac6477
Internals: Style modernization. No functional change intended.
2022-06-15 18:49:32 -04:00
Krzysztof Bieganski
f7533010c6
Internals: Add setNoopt() function to LifeVisitor ( #3468 )
2022-06-15 18:11:03 -04:00
Todd Strader
47b650d821
Fix public unpacked input ports ( #3465 )
2022-06-15 07:41:59 -04:00
Geza Lore
0c2c097377
Add -fno-merge-cond-motion option
...
This disables code motion during V3MergeCond, for debugging.
2022-06-13 14:16:11 +01:00
Geza Lore
d721f70690
Commentary
2022-06-13 12:14:37 +01:00
Kevin Kiningham
ea8aaa21e8
Fix compile error under strict C++11 mode ( #3463 )
2022-06-13 12:14:02 +01:00
Kamil Rakoczy
660d1059b0
With --no-decoration, remove output whitespace ( #3460 )
...
Signed-off-by: Kamil Rakoczy <[email protected] >
2022-06-10 07:26:33 -04:00
Wilson Snyder
e7dc2de14b
Fix BLKANDNBLK on $readmem/$writemem ( #3379 ).
2022-06-04 12:43:18 -04:00
github action
aca9fd3bed
Apply 'make format'
2022-06-04 16:30:41 +00:00
Wilson Snyder
09f3f40462
Fix clang-discovered missing comma.
2022-06-04 12:27:44 -04:00
Wilson Snyder
e2525d8440
Tests: Fix racy tests for develop-v5.
2022-06-04 12:22:11 -04:00
Wilson Snyder
6769106881
Merge branch 'master' into develop-v5
2022-06-04 12:17:29 -04:00
Wilson Snyder
32100a3c91
Tests: Fix racy tests for develop-v5.
2022-06-04 12:17:04 -04:00
Wilson Snyder
0f324c8309
Merge branch 'master' into develop-v5
2022-06-04 11:59:49 -04:00
Wilson Snyder
67f7432dd7
Commentary ( #3436 ).
2022-06-04 08:37:42 -04:00
Wilson Snyder
59dc2853e3
Support concat assignment to packed array ( #3446 ).
2022-06-03 21:32:13 -04:00
Wilson Snyder
ada58465b2
Add -f<optimization> options to replace -O<letter> options ( #3436 ).
2022-06-03 20:43:16 -04:00
Wilson Snyder
173f57c636
Changed --no-merge-const-pool to -fno-merge-const-pool ( #3436 ).
2022-06-03 19:41:59 -04:00
Wilson Snyder
1f3e8640f7
Examples: -Os should be a compile flag, not Verilator flag.
2022-06-03 18:45:39 -04:00
Wilson Snyder
6039e9dcc3
Commentary
2022-06-02 21:32:22 -04:00
Yutetsu TAKATSUKASA
d64f979f99
Fix BitOpTree optimization to consider polarity of frozen node ( #3445 ) ( #3459 )
...
* Tests: add a test to another failing case of #3445
* Consider polarity as lsb in BitOpTree optimization.
2022-06-01 09:26:16 +09:00
Huanghuang Zhou
0c53d19113
Commentary: InstrCountVisitor documentation ( #3457 )
...
Signed-off-by: huanghuang.zhou <[email protected] >
2022-05-31 07:10:58 -04:00
Geza Lore
c64a07fd09
CI: fix cache keys in test jobs
2022-05-30 18:35:59 +01:00
Geza Lore
694919b9d1
CI: add ubuntu-22.04 regressions
2022-05-30 18:34:41 +01:00
Geza Lore
606b35853b
Configure and compile with C++17 on Ubuntu 22.04
...
The packaged libsystemc on Ubuntu 22.04 uses C++17, so default to that
on that platform. Keep C++14 elsewhere.
2022-05-30 18:34:41 +01:00
Yutetsu TAKATSUKASA and Geza Lore
26b7452178
Fix #3445 of BitOpTreeOpt ( #3453 )
...
* Tests: Check BitOpTree statistics in t_const_opt.
* Tests: Add a test to reproduce #3445
* Fix #3445 . Don't forget LSB of frozen node in BitOpTreeOpt.
* Apply suggestions from code review
Co-authored-by: Geza Lore <[email protected] >
2022-05-30 19:33:06 +09:00
Geza Lore
b51f887567
Perform VCD tracing in parallel when using --threads ( #3449 )
...
VCD tracing is now parallelized using the same thread pool as the model.
We achieve this by breaking the top level trace functions into multiple
top level functions (as many as --threads), and after emitting the time
stamp to the VCD file on the main thread, we execute the tracing
functions in parallel on the same thread pool as the model (which we
pass to the trace file during registration), tracing into a secondary
per thread buffer. The main thread will then stitch (memcpy) the buffers
together into the output file.
This makes the `--trace-threads` option redundant with `--trace`, which
now only affects `--trace-fst`. FST tracing uses the previous offloading
scheme.
This obviously helps a lot in VCD tracing performance, and I have seen
better than Amdahl speedup, namely I get 3.9x on XiangShan 4T (2.7x on
OpenTitan 4T).
2022-05-29 19:08:39 +01:00
Geza Lore
c4b8675d77
Always inline some small, hot trace routines
2022-05-28 12:47:09 +01:00
Geza Lore
a7cd7a1ed9
Initialize VerilatedTrace members in class
2022-05-28 12:47:07 +01:00
Geza Lore
a48c779367
Rename verilated_trace_imp.cpp -> verilated_trace_imp.h
...
Also fix file header to describe purpose of this file.
2022-05-28 12:20:35 +01:00
Geza Lore
cf1eccc24f
Make local function 'static' in verilated_profiler.h
2022-05-28 12:17:39 +01:00
Geza Lore
d45caca011
Remove legacy VCD tracing API
...
This has not been used by Verilator for a while, but was kept for
compatibility with some external code. Now removed.
2022-05-28 12:07:24 +01:00
Geza Lore
0722f47539
Improve V3MergeCond by reordering statements ( #3125 )
...
V3MergeCond merges consecutive conditional `_ = cond ? _ : _` and
`if (cond) ...` statements. This patch adds an analysis and ordering
phase that moves statements with identical conditions closer to each
other, in order to enable more merging opportunities. This in turn
eliminates a lot of repeated conditionals which reduced dynamic branch
count and branch misprediction rate. Observed 6.5% improvement on
multi-threaded large designs, at the cost of less than 2% increase in
Verilation speed.
2022-05-27 16:57:51 +01:00
Geza Lore
3af5e7e8da
Remove scope pointer from OrderEitherVertex.
...
For ordering, only the scope of logic vertices should be relevant, so
remove the scope pointer from OrderEitherVertex and move it into
OrderLogicVertex. This does not change single-threaded scheduling at
all. Theoretically, multi-threaded scheduling should not be affected
either though due to some implementation quirk depending on vertex order
in a graph the MT schedule is perturbed by this change, but the
performance effect of this is negligible on all benchmarks I have access
to.
No functional change intended.
Fixes #3442
2022-05-25 20:32:32 +01:00
Geza Lore
160f3ee4a7
Remove dead code, no functional change
2022-05-25 19:11:20 +01:00
Krzysztof Bieganski
3a310f19f0
Adjust loop conditions in VlTriggerVec functions
...
This change is not a functional one; it is only meant to appease the
compiler with respect to warnings such as GCC's `-Wtype-limits`.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-25 18:45:59 +01:00
Krzysztof Bieganski
d7a75dc026
Merge branch 'master' into develop-v5
2022-05-25 11:06:38 +02:00
github action
a372e010bd
Apply 'make format'
2022-05-25 04:51:51 +00:00
Wilson Snyder
530817191e
Support non-ANSI interface port declarations ( #3439 ).
2022-05-25 00:50:50 -04:00
Geza Lore
1282548a1c
Only consider definitions in t_flag_csplit
2022-05-20 18:02:00 +01:00
Geza Lore
c7610ed044
Fix FST tracing thread in CMake build
2022-05-20 17:04:46 +01:00
Geza Lore
ffc1c51526
Commentary
2022-05-20 16:44:53 +01:00
Geza Lore
b130a8cfeb
Add -DVM_TRACE_VCD in model builds with Make with --trace
2022-05-20 16:44:38 +01:00
Geza Lore
551bd284dd
Rename some internals related to multi-threaded tracing
...
Rename the implementation internals of current multi-threaded tracing to
be "offload mode". No functional change, nor user interface change
intended.
2022-05-20 16:44:35 +01:00
Wilson Snyder
f0a2c98376
Commentary
2022-05-20 08:34:32 -04:00
Krzysztof Bieganski
9edccfdffa
Initial support for intra-assignment timing controls, net delays ( #3427 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-17 19:19:44 +01:00
Geza Lore
1a056f6db9
Fix invalid conditional merging when starting at 'c = c ? a : b'
...
Fixes #3409 .
2022-05-17 18:36:40 +01:00
Krzysztof Bieganski
e018eb7bac
Support AstClass::repairCache() after V3Class ( #3431 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-17 09:22:43 -04:00
Krzysztof Bieganski
0a91ddf38a
Tests: Better grep check in t_foreach ( #3435 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-17 09:20:59 -04:00
Krzysztof Bieganski
67bb2c640e
Tests: Rename t_timing_clkgen to t_timing_clkgen1 ( #3430 )
...
This is a pre-PR to #3363 , which will introduce more clock gen tests.
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-17 09:19:51 -04:00
Krzysztof Bieganski
561eaa311d
Tests: Enable CI testing with GCC 10 ( #3432 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-17 09:19:06 -04:00
Geza Lore
282887d9c6
Fix code coverage holes
...
Fixes #3422
2022-05-16 21:22:21 +01:00
Krzysztof Bieganski
3f7a248ed4
Refactor some of the Begin handling to a separate function ( #3426 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-16 20:45:33 +01:00
Krzysztof Bieganski
ecaa07a72a
Rename AstTimingControl to AstEventControl ( #3425 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2022-05-16 20:44:41 +01:00
Geza Lore
0e62cd11da
Don't issue DEPRECATED for now no-op clock_enable attribute
...
Fixes #3421
2022-05-16 18:57:51 +01:00
Wilson Snyder
99bdc27be3
Internals: Cleanup some statics, trivial part towards ( #3419 )
2022-05-15 14:26:55 -04:00
Wilson Snyder
c3c46967dc
Tests: Appease sanitizer ( #3121 ).
2022-05-15 11:50:52 -04:00
Wilson Snyder
7f1a9239ab
Commentary, fix typo ( #3121 )
2022-05-15 11:14:07 -04:00
Geza Lore
599d23697d
IEEE compliant scheduler ( #3384 )
...
This is a major re-design of the way code is scheduled in Verilator,
with the goal of properly supporting the Active and NBA regions of the
SystemVerilog scheduling model, as defined in IEEE 1800-2017 chapter 4.
With this change, all internally generated clocks should simulate
correctly, and there should be no more need for the `clock_enable` and
`clocker` attributes for correctness in the absence of Verilator
generated library models (`--lib-create`).
Details of the new scheduling model and algorithm are provided in
docs/internals.rst.
Implements #3278
2022-05-15 16:03:32 +01:00
Geza Lore
c8102c8ffe
Fix typo
2022-05-15 16:01:35 +01:00
Wilson Snyder
5aa12e9b51
Add assert when VerilatedContext is mis-deleted ( #3121 ).
2022-05-15 10:51:03 -04:00
Geza Lore
829437b20b
Commentary - dependencies
2022-05-15 15:25:46 +01:00
Wilson Snyder
3c4131d45d
Fix 'with' operator with type casting ( #3387 ).
2022-05-15 09:53:48 -04:00
Wilson Snyder
ae8d8ee1ac
Fix crash with misuse of display.
2022-05-15 09:29:45 -04:00
Geza Lore
39b7c47e7b
Merge branch 'master' into develop-v5
2022-05-15 13:39:14 +01:00
Geza Lore
89ec3d16dc
Allow const nodes in VNRef
...
No functional change.
2022-05-15 13:30:07 +01:00
Geza Lore
f6f03bc261
Merge branch 'master' into develop-v5
2022-05-15 12:05:12 +01:00
Wilson Snyder
7602c983c5
Commentary
2022-05-14 18:16:31 -04:00
HungMingWu
560efb2c9e
Internals: Fix memory leak in V3FileLine ( #3407 ) ( #3408 ). No functional change intended.
2022-05-14 18:15:38 -04:00
Wilson Snyder
c2328ef46a
Spelling fixes.
2022-05-14 16:12:57 -04:00
Geza Lore
766fb56651
Merge branch 'master' into develop-v5
2022-05-14 10:30:45 +01:00
Wilson Snyder
f6035447ae
Internals: Use mutable for mutexes. No functional change.
2022-05-13 07:21:39 -04:00
Wilson Snyder
38438b3373
Internals: Cleanup some defaults. No functional change.
2022-05-12 23:30:39 -04:00
Wilson Snyder
71dedccbbe
Support compile time trace signal selection with tracing_on/off ( #3323 ).
2022-05-12 22:28:08 -04:00
Martin Stadler
cddbe4642f
Fix cmake rules to support higher-level targest ( #3377 ) ( #3386 ).
...
Don't add linker flags as generator expression to support linking `TARGET` to higher-level targets in a top-level CMakeLists.txt file.
2022-05-11 21:33:05 -04:00
Wilson Snyder
bdfdc737a0
Internals: Cleanup V3Config. No functional change intended.
2022-05-11 00:47:52 -04:00
Wilson Snyder
3d045c3aee
Internals: Cleanup some verilog.y formatting. No functional change.
2022-05-09 00:37:51 -04:00
HungMingWu
9583f152ee
Fix compile error when enable VL_LEAK_CHECKS ( #3411 ).
...
Signed-off-by: HungMingWu <[email protected] >
2022-05-08 20:49:13 -04:00
Wilson Snyder
5b2755d28d
Untabify verilog.y ( #3412 ). No functional change.
2022-05-08 20:46:18 -04:00
Geza Lore
bec4610e12
Merge branch 'master' into develop-v5
2022-05-08 15:50:50 +01:00
Kamil Rakoczy
9378259779
Fix UNOPTFLAT warning from initial static var ( #3406 )
...
Signed-off-by: Kamil Rakoczy <[email protected] >
2022-05-06 10:24:03 +02:00
Wilson Snyder
3d762282b9
Fix hang with large case statement optimization ( #3405 ).
2022-05-05 07:02:52 -04:00
Wilson Snyder
184ebe72a2
Merge branch 'master' into develop-v5
2022-05-02 22:27:58 -04:00
Wilson Snyder
30783e6a79
devel release
2022-05-02 22:23:05 -04:00
Wilson Snyder
aa86c777f4
Version bump
2022-05-02 22:17:20 -04:00
Geza Lore
a2792785fe
Add V3GraphVertex::dotRank to add GraphViz ranks to graph dumps
...
This is a simple debugging aid to allow constraining the graph layout
via GraphViz rank directives. Note this is not related in any way to the
vertex 'rank' attribute used by some of the graph algorithms.
No functional change.
2022-05-02 10:27:26 +01:00
Wilson Snyder
267315e7d4
Commentary: Update ChangeLog
2022-05-01 22:01:30 -04:00
Geza Lore
2ad0bcbba9
Merge branch 'master' into develop-v5
2022-05-01 16:49:42 +01:00
Wilson Snyder
99d39cb6ff
Fix autoconf warning
2022-05-01 10:43:04 -04:00
Wilson Snyder
915ceb2d04
Tests: Untabify tests. No functional change.
2022-05-01 10:10:00 -04:00
Geza Lore
88bb7cdca6
Merge branch 'master' into develop-v5
2022-04-29 17:14:11 +01:00
Geza Lore
49c90ecbce
Issue consistent INITIALDLY/COMBDLY/BLKSEQ warnings
...
Some cases of warnings about the use of blocking and non-blocking
assignments in combinational vs sequential processes were suppressed in
a way that is inconsistent with the *actual* current execution model of
Verilator. Turning these back on to, well, warn the user that these might
cause unexpected results. V5 will clean these up, but until then err on
the side of caution.
Fixes #864 .
2022-04-29 17:05:44 +01:00
Geza Lore
8395004d25
Add AstNode::exists and AstNode::forall predicates
2022-04-29 15:44:22 +01:00
Kamil Rakoczy
5de1c619c8
Fix foreach segmentation fault ( #3400 ).
2022-04-28 06:11:31 -04:00
Yoda Lee
a6d678d41d
Fix hang in generate symbol references ( #3391 ) ( #3398 )
2022-04-27 18:40:36 -04:00
Aliaksei Chapyzhenka
2b91d764b5
Added missing #include <memory> ( #3392 )
...
Fixes #3390
2022-04-23 20:11:46 +01:00
Geza Lore
46de9460a6
Merge branch 'master' into develop-v5
2022-04-23 15:38:30 +01:00
Geza Lore
62337bb6ac
Future proofing some tests. No functional change.
2022-04-23 15:12:52 +01:00
Geza Lore
9abab2c366
Add separate AstInitialStatic node for static initializers
...
Static variable initializers run before initial blocks, so use an
explicitly different procedure type for them. This also enables us to
now raise errors for assignments to const variables in initial blocks.
2022-04-23 15:12:49 +01:00
Geza Lore
b22e368b25
Add default parameters to some Ast nodes for convenience
...
Also update usage to utilize. No functional change.
2022-04-23 14:47:16 +01:00
Geza Lore
a9cd2998e5
Don't mangle run-time library method names.
2022-04-23 14:47:16 +01:00
Geza Lore
f1ea30f257
Use iterate*Const V3EmitV visitors. No functional change.
2022-04-23 14:47:12 +01:00
Geza Lore
0b74e9b354
Ensure topological ordering of module list.
...
At the end of V3Param, fix up the module list to be topologically
sorted. We need to do this at the end as a later instantiation of a
recursive module might instantiate an earlier specialization, which we
cannot know until we processed everything. The rest of the compiler
depends on the module list being topologically sorted.
Fixes #3393
2022-04-23 13:25:27 +01:00
Geza Lore
8189416d0c
Partial cleanup of V3Param. No functional change.
2022-04-23 13:03:52 +01:00
Geza Lore
5f0e1fae7f
Simplify and clarify reporting of enclosing instance
...
Rename AstNodeModule::hierName -> someInstanceName and explain that this
is only used for user messages.
Rename AstNode::locationStr -> instanceStr and simplify implementation.
In particular, do not report an instance if we can't find a reasonable
guess.
2022-04-22 23:38:23 +01:00
HungMingWu
880a9be3b1
Internal: Add C++20ish reverse_view for range loops. No functional change ( #3388 ).
...
Signed-off-by: HungMingWu <[email protected] >
2022-04-18 13:03:56 -04:00
Wilson Snyder
7bfc1a00a7
Fix tracing interfaces inside interfaces ( #3309 ).
2022-04-14 09:14:44 -04:00
Wilson Snyder
92f64de115
Add FIXMEV5 comments
2022-04-13 22:18:59 -04:00
Wilson Snyder
f4baa86b71
Devel version 5
2022-04-13 07:15:11 -04:00
Julien Margetts
baff64a43d
Add VK_USER_OBJS dependency to --create-lib library ( #3370 ) ( #3382 ).
2022-04-12 07:04:31 -04:00
github action
b7f2bb0e80
Apply 'make format'
2022-04-12 10:54:48 +00:00
HungMingWu
08e0a397d3
Fix debugi-V3Param null pointer fault ( #3380 ) ( #3381 )
...
Signed-off-by: HungMingWu <[email protected] >
2022-04-12 06:53:52 -04:00
Wilson Snyder
5f333be947
Internals: Dump TraceDecl codes.
2022-04-10 19:40:27 -04:00
Wilson Snyder
f5f4e15ce2
Fix filenames with dots overwriting debug .vpp files ( #3373 ).
2022-04-10 10:33:16 -04:00
Geza Lore
fbd568dc47
Prep for multiple AstExecGraph. No functional change.
2022-04-10 12:00:17 +01:00
Geza Lore
c79ea88576
Fix incorrect localization when encountering non-leaf functions.
...
Fixes #3286 .
2022-04-09 20:30:39 +01:00
Wilson Snyder
9be4e7b576
Fix Bison 3.8.2 error ( #3366 ).
2022-03-31 19:14:13 -04:00
Wilson Snyder
33105f017c
Commentary
2022-03-30 20:17:59 -04:00
Wilson Snyder
e02f97854c
Deprecate 'vluint64_t' and similar types ( #3255 ).
2022-03-27 15:27:40 -04:00
Wilson Snyder
960d0de361
Tests: Cleanup vluint_t/vlsint_t in tests, part of ( #3255 )
2022-03-27 15:03:25 -04:00
Wilson Snyder
31ce1fdfd3
Tests: Check legacy part of ( #3255 )
2022-03-27 14:50:49 -04:00
Wilson Snyder
9821381059
Tests: new t_lint_latch_5 test ( #2997 ).
2022-03-27 14:42:36 -04:00
Wilson Snyder
3f7bf3d2dc
Fix MSVC localtime_s ( #3124 ).
2022-03-27 13:59:18 -04:00
Geza Lore
f9e69984ff
Set vlSymsp in modules at construction time.
...
This ensures it's available from very early on. No functional change.
2022-03-27 16:10:20 +01:00
Geza Lore
b1b5b5dfe2
Improve run-time profiling
...
The --prof-threads option has been split into two independent options:
1. --prof-exec, for collecting verilator_gantt and other execution
related profiling data, and
2. --prof-pgo, for collecting data needed for PGO
The implementation of execution profiling is extricated from
VlThreadPool and is now a separate class VlExecutionProfiler. This means
--prof-exec can now be used for single-threaded models (though it does
not measure a lot of things just yet). For consistency VerilatedProfiler
is renamed VlPgoProfiler. Both VlExecutionProfiler and VlPgoProfiler are
in verilated_profiler.{h/cpp}, but can be used completely independently.
Also re-worked the execution profile format so it now only emits events
without holding onto any temporaries. This is in preparation for some
future optimizations that would be hindered by the introduction of function
locals via AstText.
Also removed the Barrier event. Clearing the profile buffers is not
notably more expensive as the profiling records are trivially
destructible.
2022-03-27 15:57:30 +02:00
Geza Lore
c7440b250f
Validate integer run-time arguments
2022-03-26 22:58:47 +00:00
Geza Lore
bab8462789
Rebuild run-time library if generated makefile changes
...
The generated makefile contains compiler options that are passed when
building the run-time library, so re-build if it changes.
2022-03-26 21:29:03 +00:00
Wilson Snyder
4eaa6fdd06
Internals: Use python pass appropriately. No functional change intended.
2022-03-26 15:57:52 -04:00
Wilson Snyder
38b2845e2a
Tests: Fix whitespace test and resulting fallout.
2022-03-26 15:41:32 -04:00
Xi Zhang
14d24213a8
Support LoongArch ISA multithreading ( #3353 ) ( #3354 )
2022-03-17 09:04:47 -04:00
Wilson Snyder
c61258c0d0
Commentary ( #3351 )
2022-03-14 09:10:03 -04:00
Yutetsu TAKATSUKASA
47226236f4
Internals: Resolve potential SEGV risk ( #3350 )
2022-03-13 18:13:51 +09:00
Wilson Snyder
e744c21f56
devel release
2022-03-12 13:17:48 -05:00
Wilson Snyder
89a0632ecc
Version bump
2022-03-12 13:09:08 -05:00
Wilson Snyder
dcc05db7f1
Commentary: Changes updated.
2022-03-12 11:34:04 -05:00
Drew Ranck
90fb2e5487
Fix ++/-- tree fix in case statements ( #3346 ) ( #3349 ).
2022-03-12 11:24:32 -05:00
Wilson Snyder
b5ce7d5982
Add VERILATOR_VERSION_INTEGER for determining API ( #3343 ).
2022-03-12 11:17:39 -05:00
Wilson Snyder
f211616a4c
Fix missing debug, and code cleanup in V3LinkInc.
2022-03-11 07:34:11 -05:00
Chuxuan Wang
a9cb9bac21
Commentary in docs/guide/connecting.rst ( #3345 )
2022-03-09 03:57:55 -05:00
Wilson Snyder
ae005434e4
Fix $fscanf etc to return -1 on EOF ( #3313 ).
2022-03-07 17:44:16 -05:00
Wilson Snyder
ef87d057fc
Fix $fscanf etc to return -1 on EOF ( #3113 ).
2022-03-07 17:43:33 -05:00
github action
181b9a5795
Apply 'make format'
2022-03-06 22:17:42 +00:00
Wilson Snyder
9baf9c55c2
Commentary
2022-03-06 17:16:41 -05:00
Yutetsu TAKATSUKASA
e29132377e
Fix driver.pl when expected value is 0 ( #3339 )
...
* Tests: use defined() to accept $expvalue==0
* Tests: Update expected stats of t_cast_huge in --vltmt mode
2022-03-06 14:43:28 +09:00
Yutetsu TAKATSUKASA
999751c422
Count non-empty always blocks in V3Split ( #3337 )
...
"Optimizations, Split always" in stats now means the number of newly added always.
Co-authored-by: Wilson Snyder <[email protected] >
2022-03-06 12:56:34 +09:00
Wilson Snyder
22656d6fdd
Fix Vdeeptemp error with --threads and --compiler clang ( #3338 ).
2022-03-05 20:17:36 -05:00
Wilson Snyder
ef0c5fd772
Fix unnamedblk error on foreach ( #3321 ).
2022-03-05 17:05:22 -05:00
Wilson Snyder
90c61c79d6
Fix unnamedblk error on foreach ( #3321 ).
2022-03-05 17:04:52 -05:00
Wilson Snyder
4ba3bff87f
Fix class stringification on wide arrays ( #3312 ).
2022-03-05 16:32:30 -05:00
Wilson Snyder
c3dd6f5344
Fix public function arguments that are arrayed ( #3316 ).
2022-03-05 16:19:53 -05:00
Wilson Snyder
321880f5a6
Add trace dumpvars() call for selective runtime tracing ( #3322 ).
2022-03-05 15:44:32 -05:00
Geza Lore
3737d209f6
Keep recursive module list topologically ( #3324 ).
...
Fixes (#3324 ).
2022-03-05 15:04:13 +00:00
Todd Strader
29c4b0a141
Fix cast to array types ( #3333 )
2022-03-03 07:48:04 -05:00
Wilson Snyder
956f64c6ba
Fix compile error with --trace-fst --sc ( #3332 ).
2022-03-02 07:26:26 -05:00
Larry Doolittle
c2d18d8ae4
Commentary: More minor spelling fixes in docs/guide/*.rst ( #3331 )
2022-03-01 22:07:12 -05:00
Geza Lore
5b9806ae6d
Improve V3Combine
...
- Always use a fast function to replace a slow one if available
- Iterate to fixed point (i.e.: if combining made more functions
identical, combine those too). This will be more useful in the future.
- Use only single, const traversal
2022-02-27 20:40:58 +00:00
Geza Lore
665fa140a8
V3Combine: Fix crash if CCall in expression position
2022-02-27 12:52:40 +00:00
Yutetsu TAKATSUKASA
32f843a214
Internals: Don't show "Split always" statistics twice. (Split and Reorder were shown). ( #3328 )
2022-02-27 20:33:54 +09:00
Larry Doolittle
72a3c756ad
Commentary: Minor spelling fixes in docs/guide/*.rst ( #3327 )
2022-02-27 10:01:44 +00:00
github action
47069dfe52
Apply 'make format'
2022-02-27 07:53:05 +00:00
HungMingWu
43a84d7ad8
Internals: Fix VL_RESTORER behavior on passing a lvalue reference ( #3326 )
...
Signed-off-by: HungMingWu <[email protected] >
2022-02-27 07:52:11 +00:00
Jamie Iles
b6ca2a42f2
Fix FST traces to include vector range ( #3296 ) ( #3297 )
2022-02-26 12:52:24 -05:00
Wilson Snyder
e52a4ac74f
Fix $readmem file not found to be warning not error ( #3310 ).
2022-02-19 10:04:12 -05:00
Geza Lore
decfa6bd7a
V3Order: Use unique ordinals per function name
...
This helps diffing generated code after reordering output, otherwise no
functional change.
2022-02-16 18:36:40 +00:00
Geza Lore
8931bd37e2
Cleanup V3Changed and V3GenClk
2022-02-16 18:09:19 +00:00
Geza Lore
4b79d23d00
Replace SenTreeSet with generic collection
...
Introduce VNRef that can be used to wrap AstNode keys in STL
collections, resulting in equality comparisons rather than identity
comparisons. This can then replace the SenTreeSet data-structure.
2022-02-16 18:09:19 +00:00
github action
77fe7c426e
Apply 'make format'
2022-02-16 05:11:38 +00:00
Raynard Qiao
331c2244fc
Fixed signed number operation ( #3294 ) ( #3308 )
2022-02-16 00:10:34 -05:00
Wilson Snyder
5a3eab634a
Suppress WIDTH warning on negate using carry bit ( #3295 ). [Peter Monsson]
2022-02-13 15:28:07 -05:00
Wilson Snyder
77e68acf54
Suppress WIDTH warning on negate using carry bit ( #2395 ). [Peter Monsson]
2022-02-13 15:27:31 -05:00
Wilson Snyder
7a355d448a
Fix skipping public enum values with four-state values ( #3303 ).
2022-02-10 19:27:28 -05:00
Wilson Snyder
3b7ad1820d
GTKWave header updates from upstream.
2022-02-09 21:56:22 -05:00
Wilson Snyder
d3b63b2653
Fix error if file not found
2022-02-09 21:56:22 -05:00
Wilson Snyder
046896e60a
Commentary
2022-02-09 21:56:22 -05:00
Geza Lore
fb9119ff49
Rename AstCFunc attribute for clarity.
...
'formCallTree' -> 'isFinal'. No functional change.
2022-01-28 16:18:50 +00:00
Guokai Chen
818aaa8b89
Fix macOS arm64 build by excluding x86 only cpuid header ( #3285 ) ( #3291 )
...
Signed-off-by: Guokai Chen <[email protected] >
2022-01-23 09:15:09 -05:00
Geza Lore
26bdfc3474
Commentary
2022-01-21 05:53:42 +00:00
Wilson Snyder
0e91d8a10e
Internal: Rename for clarity. No functional change.
2022-01-19 19:14:09 -05:00
Wilson Snyder
434c3c3ef3
Removed the deprecated "fl" attribute in XML output; use "loc" attribute instead.
2022-01-17 16:22:07 -05:00
Wilson Snyder
21e05c43dd
Removed the deprecated lint_off flag -msg; use -rule instead.
2022-01-17 16:04:06 -05:00
Wilson Snyder
0e154b35ef
devel release
2022-01-17 15:54:31 -05:00
Wilson Snyder
e6554e061c
Version bump
2022-01-17 15:52:26 -05:00
Wilson Snyder
0f004c8e7b
Commentary, ChangeLog up to date
2022-01-17 14:16:09 -05:00
Julie Schwartz
f5b1a5cd58
Fix make support for BSD ar ( #2999 ) ( #3256 ). [Julie Schwartz]
...
While GNU 'ar' supports '@' to specify a file, BSD 'ar' does not.
The max line length can be handled by 'xargs' instead, which will know
to break up the command. In case there are multiple calls, only build
the index (specified with '-s') once in a later call.
2022-01-17 14:04:43 -05:00
Wilson Snyder
48a098b041
Tests: Fix some force/release coverage holes.
2022-01-16 16:53:06 -05:00
Geza Lore
f8c0169e82
Implement 'forceable' attribute
...
Using the 'forceable' directive in a configuration file, or the /*
verilator forceable */ metacomment on a variable declaration will
generate additional public signals that allow the specified signals to
be forced/released from the C++ code.
2022-01-16 15:31:37 +00:00
Geza Lore
539c9d4c63
Merge alternate 'force'/'release' implementation
...
- Add more tests, including for tracing.
- Apply some cleaner, more generic abstractions in the implementation.
- Use clearer AstRelease which is not an assignment.
2022-01-16 15:31:37 +00:00
Geza Lore
b4d8220cbb
Deprecate --cdc ( #3279 )
2022-01-16 15:30:44 +00:00
Wilson Snyder
5eded789aa
Fix test
2022-01-09 19:29:30 -05:00
Wilson Snyder
e931c6230a
Run EmitV test after all stages, and fix resulting fallout
2022-01-09 18:11:24 -05:00
Geza Lore
64a6e1ac8b
Add AstNode::foreach method for simple pre-order traversal ( #3276 )
2022-01-09 22:34:10 +00:00
Wilson Snyder
50094ca296
Internals: Add cpplint control file and related cleanups
2022-01-09 16:49:38 -05:00
Wilson Snyder
15b32dc140
Internals: cpplint cleanups. No functional change.
2022-01-08 12:01:39 -05:00
Wilson Snyder
441ecfedc9
Internals: Make all .h files compilable
2022-01-08 11:18:23 -05:00
HungMingWu
78147ee8d7
Fix compile error at GCC11
...
Fixes #3273
Signed-off-by: HungMingWu <[email protected] >
2022-01-08 10:40:51 +00:00
Geza Lore
8c58612a3b
Improve V3Inline speed and memory consumption
...
Avoid cloning the module when inlining the last instance that references
that module. This saves a lot of memory because it saves cloning
singleton modules (those with a single instance), which we always
inline. The top few levels of the hierarchy are often simple wrappers,
including the one added by Verilator in V3LinkLevel::wrapTop. Cloning
these and putting off deleting the originals can be very expensive
because they often have a lot of contents inlined into them, so each
layer of wrapper that is inlined would essentially add a whole new clone
of the large top-level. Directly inlining the module for the last cell
without cloning saves us from all this duplicate memory consumption and
also from having to create the clones in the first place.
Also added minor traversal speedups
This reduces the memory consumption of V3Inline by 80% and peak memory
consumption of Verilator by about 66% on a large design, while speeding
up the V3Inline pass by ~3.5x and the whole of Verilator by ~8% while
producing identical output.
2022-01-07 12:11:10 +00:00
Geza Lore
56f9d244de
Cleanup V3Inline. No functional change.
2022-01-07 12:08:17 +00:00
Geza Lore
2ba9eb4228
Speed up TSP sort implementation
...
- More efficient comparison by pre-computing sorting keys.
- Remove work items in algorithms known to be redundant earlier.
This greatly reduces data structure sizes.
- Use V3GraphVertex->user() for state tracking instead of unordered_map
while both of these are constant time, they do add up.
- In `makeMinSpanningTree`, instead of batch inserting outgoing edges of
each visited vertex into an ordered set, keep an ordered set of sorted
vectors of edges. This reduces the size of the ordered set
significantly (it is now O(V) rather than O(E), and as the subject
graph is a complete graph, V ~ sqrt(E), so this is a significant gain).
- Use a vector + sorting in `perfectMatching` instead of an ordered set.
This is faster on large working sets.
This yields 3.8x speedup on the variable order pass and overall 14%
verilation speed gain on a large design.
2022-01-07 12:05:52 +00:00
Geza Lore
9a8c878f2d
Avoid repeated traversal for SC text sections in emit when not needed
...
Repeatedly traversing whole modules in emit (due to file splitting)
looking for `systemc_* sections can add up to a lot of time on large
designs that have been flattened and need to be split into many files.
Assuming `systemc_* is a rarely used feature, just don't bother if we
don't need to. This gain 9% verilation speed improvement on a large
benchmark.
2022-01-07 12:05:50 +00:00
Wilson Snyder
41a563bdc8
Internal cleanups towards recursive functions ( #3267 )
2022-01-04 20:19:58 -05:00
Yutetsu TAKATSUKASA
4e5f30858b
Fix #3258 of internal error with inout port ( #3268 )
...
* Tests: Modify t_tri_inout to reproduce #3258
* Set direction of __en accorting to its main signal direction
* Update Changes
2022-01-05 08:37:20 +09:00
Wilson Snyder
b989ac6db5
Internals: Support linking recursive function calls (but not later stages)
2022-01-03 18:50:41 -05:00
Wilson Snyder
4d1f4bbf49
Backout last commit; is unstable.
2022-01-03 13:04:47 -05:00
Wilson Snyder
e9ad665d32
Internals: Support linking recursive function calls (but not later stages)
2022-01-03 12:25:50 -05:00
Wilson Snyder
78052f87bd
Tests: Update recursive function tests
2022-01-03 12:02:53 -05:00
Wilson Snyder
ebf5c11e03
Internals: In astgen text output, pickup missing node references
2022-01-02 20:54:39 -05:00
Wilson Snyder
7e355e211c
Fix dangling node on error
2022-01-02 20:54:13 -05:00
Wilson Snyder
f36461e696
Internals: Remove dead code
2022-01-02 18:38:07 -05:00
github action
88d7ca01b0
Apply 'make format'
2022-01-02 20:13:16 +00:00
Wilson Snyder
2e2b82c052
Support class static members ( #2233 ).
2022-01-02 15:09:07 -05:00
Wilson Snyder
f1bb0544be
Internals: Cleanups towards static class members. No functional change intended.
2022-01-02 15:03:57 -05:00
Wilson Snyder
3b1371124e
Update bug template.
2022-01-02 14:03:20 -05:00
Wilson Snyder
e6857df5c6
Internals: Rename Ast on non-node classes ( #3262 ). No functional change.
...
This commit has the following replacements applied:
s/\bAstUserInUseBase\b/VNUserInUseBase/g;
s/\bAstAttrType\b/VAttrType/g;
s/\bAstBasicDTypeKwd\b/VBasicDTypeKwd/g;
s/\bAstDisplayType\b/VDisplayType/g;
s/\bAstNDeleter\b/VNDeleter/g;
s/\bAstNRelinker\b/VNRelinker/g;
s/\bAstNVisitor\b/VNVisitor/g;
s/\bAstPragmaType\b/VPragmaType/g;
s/\bAstType\b/VNType/g;
s/\bAstUser1InUse\b/VNUser1InUse/g;
s/\bAstUser2InUse\b/VNUser2InUse/g;
s/\bAstUser3InUse\b/VNUser3InUse/g;
s/\bAstUser4InUse\b/VNUser4InUse/g;
s/\bAstUser5InUse\b/VNUser5InUse/g;
s/\bAstVarType\b/VVarType/g;
2022-01-02 14:03:20 -05:00
github action
73374a0303
Apply 'make format'
2022-01-02 18:36:52 +00:00
Wilson Snyder
e334740dd6
Add AstInitialAutomatic as prep for static class members
2022-01-02 12:35:44 -05:00
Wilson Snyder
84ee833ea7
Ignore --x-initial unique inside classes.
2022-01-02 12:26:10 -05:00
Wilson Snyder
b7ad1e6d61
Internals: Rename some non-nodes to avoid Ast prefix. No functional change.
2022-01-02 10:37:20 -05:00
github action
340efe3a3a
Apply 'make format'
2022-01-02 14:46:15 +00:00
Wilson Snyder
2342549caf
Internals: V3Class cleanup. No functional change.
2022-01-02 09:43:37 -05:00
Wilson Snyder
028737cde8
Tests: Add unsupported t_class_static_member tests.
2022-01-02 09:43:26 -05:00
Wilson Snyder
bf972963f4
Misc internal and test work towards enum type checks ( #726 ).
2022-01-01 22:16:58 -05:00
Wilson Snyder
9bda91b3bf
Fix clang compile warning
2022-01-01 19:33:12 -05:00
Wilson Snyder
e4c5eb5e69
Fix spurious UNUSED by ignoring inout pin connections ( #3242 ).
2022-01-01 18:37:34 -05:00
Wilson Snyder
2e8cc22c54
Copyright year update.
2022-01-01 18:34:15 -05:00
Wilson Snyder
655910d486
Fix associative array first method as statement ( #3228 ).
2022-01-01 17:10:26 -05:00
github action
2a0ec88379
Apply 'make format'
2022-01-01 21:55:27 +00:00
Wilson Snyder
80859a609a
Fix $fclose not accepting expressions ( #3237 ).
2022-01-01 16:48:15 -05:00
Wilson Snyder
d679d50eca
Fix $random not updating seed ( #3238 ). [Julie Schwartz]
2022-01-01 16:43:06 -05:00
Wilson Snyder
65de118e51
Internals: Factor common V3Width function.
2022-01-01 16:15:53 -05:00
Wilson Snyder
4cd56b1fb9
Use C++11 standard types for MacOS portability ( #3254 ) ( #3257 ).
2022-01-01 16:04:20 -05:00
Wilson Snyder
f3945e7c02
Tests: Add t_class_param_pkg test.
2022-01-01 14:30:41 -05:00
Wilson Snyder
5ef982b4b5
Fix internal error on reference to typedef'ed class
2022-01-01 13:48:53 -05:00
Wilson Snyder
f96d336b97
Internals: Pre-elaboration progress towards class parameters.
2022-01-01 12:50:43 -05:00
Wilson Snyder
a68a4fc888
Commentary
2022-01-01 12:26:30 -05:00
Wilson Snyder
0c3ffa1841
Support force/release ( #2491 ) ( #2593 ).
2022-01-01 12:24:19 -05:00
Wilson Snyder
24a0d2a0c9
Internals: Favor member assignment initialization. No functional change intended.
2022-01-01 11:46:49 -05:00
Wilson Snyder
ca42be982c
Copyright year update.
2022-01-01 08:26:40 -05:00
Wilson Snyder
ffc31e2efa
devel release (overdue)
2022-01-01 08:25:44 -05:00
Wilson Snyder
8952aa59ff
Tests: Add force/release tests.
2021-12-31 15:17:16 -05:00
Wilson Snyder
2966f03042
Tests: Enumerations supported
2021-12-31 15:10:29 -05:00
Wilson Snyder
d15e9e2b7a
Internals: Refactor Tristate pull creation. No functional change.
2021-12-31 14:46:16 -05:00
Wilson Snyder
fd45be3def
Internals: Fix class dump
2021-12-22 20:06:14 -05:00
Yutetsu TAKATSUKASA
0658a7654f
Add tests of tracing SystemC model verilated with --hierarchical ( #3252 )
...
* Tests: Add t_hier_block_sc_trace(fst|vcd) that tests tracing hierarchical block on SystemC.
* Add a check that elaboration is done before a trace file is opened.
* Add a check that elaboration is done before trace() is called to verilated SystemC model.
* Tests: call sc_core::sc_start(sc_core::SC_ZERO_TIME) before opening a trace file
* Tests: Fix t_trace_two_sc to call sc_start before opening trace
* Use vl_fatal as suggested in PR review.
2021-12-23 08:41:11 +09:00
Wilson Snyder
7526151670
Fix bad ending address on $readmem ( #3205 ).
2021-12-21 19:55:04 -05:00
Wilson Snyder
560b59f97f
Use C++11 standard types for MacOS portability ( #3254 ).
2021-12-21 13:18:05 -05:00
Geza Lore
b2ca89c185
Add final time and memory stats for "emit" stage
2021-12-20 14:33:10 +00:00
Geza Lore
1de2de4bde
Fix splitting of large _eval and related functions
...
Fix bug that only used to measure size of first statement in functions
to determine if splitting was necessary. Measure whole function instead.
2021-12-20 11:24:11 +00:00
Wilson Snyder
4135867e53
Internals: Some V3Tristate cleanups. No functional change.
2021-12-19 16:06:45 -05:00
Geza Lore
ff425369ac
Reduce .rodata footprint of trace initialization ( #3250 )
...
Trace initialization (tracep->decl* functions) used to explicitly pass
the complete hierarchical names of signals as string constants. This
contains a lot of redundancy (path prefixes), does not scale well with
large designs and resulted in .rodata sections (the string constants) in
ELF executables being extremely large.
This patch changes the API of trace initialization that allows pushing
and popping name prefixes as we walk the hierarchy tree, which are
prepended to declared signal names at run-time during trace
initialization. This in turn allows us to emit repeat path/name
components only once, effectively removing all duplicate path prefixes.
On SweRV EH1 this reduces the .rodata section in a --trace build by 94%.
Additionally, trace declarations are now emitted in lexical order by
hierarchical signal names, and the top level trace initialization
function respects --output-split-ctrace.
2021-12-19 15:15:07 +00:00
Yutetsu TAKATSUKASA
30ccccdb67
Support FST tracing in hierarchical verilation ( #3251 )
...
* Rename t_hier_block_trace -> t_hier_block_trace_vcd
* Add t_hir_block_trace_fst test
* Support FST dump with hierarchical verilation
2021-12-18 16:57:28 +09:00
Wilson Snyder
5e3016f34a
Fix foreach on dotted reference.
2021-12-12 20:44:58 -05:00
Wilson Snyder
f775feb7f0
Fix foreach on dotted reference.
2021-12-12 20:43:15 -05:00
Wilson Snyder
0a94ea5386
Fix missing override
2021-12-12 19:53:20 -05:00
Wilson Snyder
aa8423ba46
Tests: Add t_class_param_mod.pl
2021-12-12 19:49:06 -05:00
Wilson Snyder
d753f36ebc
Internals: Add missing broken assertions & cloneTrees
2021-12-12 18:10:52 -05:00
Wilson Snyder
55976dbc25
Tests: Add t_class_param_nconst_bad test.
2021-12-12 15:26:29 -05:00
Wilson Snyder
77c005835d
Internals: Const cleanup. No functional change.
2021-12-12 15:12:45 -05:00
Wilson Snyder
6b0601fd54
Support lower dimension looping in foreach loops ( #3172 ).
2021-12-11 20:39:58 -05:00
Wilson Snyder
c1652979d5
Avoid += in configure ( #3132 )
2021-12-11 18:58:26 -05:00
Wilson Snyder
740fee660e
Fix associative array foreach loop ( #3229 ).
2021-12-11 18:38:23 -05:00
Wilson Snyder
984ee624ed
Fix break under foreach loop ( #3230 ).
...
Internals: Move Foreach handling into V3Width.
2021-12-11 15:06:33 -05:00
Adrien Le Masle
00ef0519f5
Fix top level parameter overwrite when a package has same parameter ( #3241 ) ( #3247 )
2021-12-11 14:55:59 -05:00
Wilson Snyder
59d170c6f8
Support up to 64 bit enums for .next/.prev/.name ( #3244 ).
2021-12-11 11:29:01 -05:00
Wilson Snyder
9a722ccf62
Internals: Cleanup of InitArray stuff. No functional change intended.
2021-12-11 11:22:04 -05:00
Wilson Snyder
748fa4cb80
Fix coredump after huge enum warning.
2021-12-10 23:08:03 -05:00
Wilson Snyder
694cf371f9
Tests: Always failing tests
2021-12-10 21:22:23 -05:00
Wilson Snyder
8696e38e6f
Primary inputs and outputs (VL_INW/VL_OUTW) now use VlWide type ( #3236 ).
2021-12-09 19:41:33 -05:00
Wilson Snyder
706162ecc6
Commentary
2021-12-09 19:30:16 -05:00
Adrien Le Masle
c3f17ce2c4
Fix VL_STREAML_FAST_QQI with 64 bit left-hand-side ( #3232 ) ( #3235 )
2021-12-09 17:30:04 -05:00
Wilson Snyder
41f29d2ce3
Tests ( #3230 )
2021-12-06 21:27:32 -05:00
Unai Martinez-Corral
7b119a594f
Fix MSWIN compile error ( #2681 ).
2021-12-06 08:15:58 -05:00
Wilson Snyder
b7d20b102b
Internals: Remove unused and cleanup VL_ASSIGNSEL.
2021-12-05 11:59:49 -05:00
Wilson Snyder
ac05a779ae
devel release
2021-12-05 11:16:02 -05:00
Wilson Snyder
935032366f
Version bump
2021-12-05 11:10:19 -05:00
Yutetsu TAKATSUKASA
1160dddc6d
Fix bit op tree optimization ( #3221 )
...
* Add a test to reproduce #3197
* Fix #3197 . Optimize correctly even if a variable is >32
* Quick exit instead of continue. No functional change is intended.
* Delete comment-out line.
* update per review comment
2021-11-30 23:20:00 +09:00
Wilson Snyder
293a5f402b
Fix timescale portability on Arm64 ( #3222 ).
2021-11-28 15:47:19 -05:00
Wilson Snyder
ca09f73446
Tests: Fix open test on some automount cloud providers
2021-11-28 15:40:35 -05:00
Wilson Snyder
e814855357
Tests: Skip gdb tests if no gdb
2021-11-28 15:33:33 -05:00
Wilson Snyder
692306ef44
Optimize $random concatenates/selects ( #3114 ).
2021-11-28 14:17:28 -05:00
Wilson Snyder
ffdc0afe5f
Disable unintended debug message
2021-11-28 14:10:50 -05:00
Wilson Snyder
98037cad56
Internals: Optimize VL_RANDOM to have unclean output
2021-11-28 14:00:19 -05:00
Wilson Snyder
61e3536163
Internals: Remove some unused arguments.
2021-11-28 13:44:16 -05:00
Wilson Snyder
a1a186a86c
Internals: Remove some unused arguments.
2021-11-28 13:07:37 -05:00
Wilson Snyder
04e0c7e4f1
Support tracing through --hierarchical/--lib-create libraries ( #3200 ).
2021-11-27 17:07:27 -05:00
Wilson Snyder
833686446c
Commentary, ChangeLog up to date
2021-11-27 09:05:51 -05:00
Wilson Snyder
c6dae40cf6
Support task name in $display %m ( #3211 ).
2021-11-26 20:38:48 -05:00
Wilson Snyder
cd737065f2
Internals: More const. No functional change intended.
2021-11-26 17:55:36 -05:00
Wilson Snyder
010084201a
Internals: Remove dead code.
2021-11-26 16:15:08 -05:00
Wilson Snyder
60f7eff701
Remove dead statistic.
2021-11-26 16:10:16 -05:00
Wilson Snyder
d1862e25eb
Internals: Cleanup some constructor-constructor assigns. No functional change intended.
2021-11-26 16:05:07 -05:00
Wilson Snyder
b0018fd680
Internals: Remove dead output variable. No functional change.
2021-11-26 15:13:36 -05:00
Wilson Snyder
2742a8c813
Internals: No need for variable name on immediate visitors. No functional change intended.
2021-11-26 10:52:45 -05:00
Wilson Snyder
05e12ab60e
Internals: More const. No functional change intended.
2021-11-26 10:52:45 -05:00
Michaël Lefebvre
9bda2cb4ad
Fix some SliceSels not being constants ( #3186 ) ( #3218 ).
2021-11-26 10:51:11 -05:00
Wilson Snyder
393b9e435d
Internals: Revert previous commit const for clang.
2021-11-25 09:47:06 -05:00
Wilson Snyder
e87a726989
Internals: More const. No functional change intended.
2021-11-25 09:05:50 -05:00
Wilson Snyder
62387a0e32
Fix display of empty string constant ( #3207 ) ( #3215 ).
2021-11-25 08:03:27 -05:00
Wilson Snyder
31079ca8b5
Fix $size on dynamic strings ( #3216 ).
2021-11-25 07:50:47 -05:00
Wilson Snyder
4184ad1921
Commentary
2021-11-23 18:27:40 -05:00
Wilson Snyder
e7ebe0e280
Fix $fopen etc on integer arrays ( #3214 ).
2021-11-23 18:22:16 -05:00
Wilson Snyder
c14bbb9421
Fix incorrect width after and-or optimization ( #3208 ).
2021-11-23 18:15:21 -05:00
Wilson Snyder
b1b92b7dd4
Fix hang on recursive definition error ( #3199 ).
2021-11-23 07:27:41 -05:00
Julie Schwartz
a14394dbb5
Commentary: remove duplicate/wrong change-log entry ( #3212 )
2021-11-18 05:15:02 -05:00
Wilson Snyder
96b7831243
Commentary: C++14 moves to 2023.
2021-11-17 18:56:11 -05:00
Wilson Snyder
1e440765c0
Commentary, about previous commit: Fix display of signed without format ( #3204 ).
2021-11-17 18:52:53 -05:00
Wilson Snyder
2ccf49031b
Fix $display of signed/unsigned without format ( #3207 ).
2021-11-17 18:50:52 -05:00
Wilson Snyder
0abc856be9
Fix %0 format on $value$plusargs.
2021-11-17 17:54:07 -05:00
Wilson Snyder
d2a8fa7440
Fix display of empty string constant ( #3207 ).
2021-11-17 17:46:08 -05:00
Wilson Snyder
106d635d0f
Fix vluint64 portability ( #3150 ).
2021-11-17 07:10:48 -05:00
Wilson Snyder
cff9f8143e
Commentary
2021-11-17 07:06:43 -05:00
Wilson Snyder
cfa401e01d
Internals: Add lib-create const and improve comments.
2021-11-14 12:01:02 -05:00
Wilson Snyder
d6195e354f
Add some missing COLD attributes.
2021-11-14 11:05:20 -05:00
Wilson Snyder
c0892dd11c
When using --lib-create, disable tracing hash/internals. Partial ( #3200 ).
2021-11-14 10:16:59 -05:00
Wilson Snyder
899de9a282
Add --lib-create, similar to --protect-lib but without protections ( #3200 ).
2021-11-14 09:39:31 -05:00
Wilson Snyder
4b593f8eb3
Commentary
2021-11-14 09:01:03 -05:00
Wilson Snyder
28b6e79cf7
Tests: Rename t_lib_prot tests in prep for new options.
2021-11-14 08:58:04 -05:00
Wilson Snyder
fe5822ba54
Commentary
2021-11-13 15:01:27 -05:00
Wilson Snyder
c496649c49
Internals: Remove unused DfaGraph code.
2021-11-13 14:48:21 -05:00
Wilson Snyder
37e3c6da70
Internals: Add more const. No functional change intended.
2021-11-13 13:50:44 -05:00
Wilson Snyder
4cb5c1e1db
Internals: More const. No functional change.
2021-11-13 11:38:12 -05:00
Wilson Snyder
b7a7504ba5
Internals: More obvious debug filename.
2021-11-13 11:35:03 -05:00
Wilson Snyder
3a5cbd5b67
Internals: Untabify some embedded tabs.
2021-11-13 10:46:25 -05:00
Wilson Snyder
27883b52d6
Internals: Add const
2021-11-13 10:42:26 -05:00
Wilson Snyder
b95ee84343
Commentary
2021-11-13 10:41:00 -05:00
Geza Lore
185e5d8f42
Make 'bit', 'logic' and 'time' types unsigned by default
...
IEEE 1800-2017 6.11.3 says these types are unsigned. Until now these
types were treated as not having a signedness (NOSIGN), and nodes having
these types were later resolved by V3Width to be unsigned. This is a bit
problematic when creating nodes of these types after V3Width. Treating
these types as unsigned from the get go is fine, and actually improves
generated code slightly.
2021-11-09 21:54:21 +00:00
Geza Lore
987ce927eb
Remove unused code. No functional change.
2021-11-09 19:46:19 +00:00
Yutetsu TAKATSUKASA
b08c694cd6
Fix wrong bit op tree optimization ( #3185 )
...
* Add a test to reproduce bug3182. Run the same HDL with -Oo to confirm the result is same.
* Hopefully fix #3182 . The result can be 0 only when polarity is true (no AstNot is found during traversal).
2021-11-06 12:31:50 +09:00
Geza Lore
e69a8e838d
Improve memory usage of V3Partition. Only performance change intended. ( #3192 )
2021-11-05 22:08:54 -04:00
Wilson Snyder
61612582e6
Improve memory usage of V3Partition. Only performance change intended.
2021-11-04 07:39:28 -04:00
Wilson Snyder
8b00939f0c
Improve performance of V3Scoreboard. Only performance change intended.
2021-11-03 22:16:18 -04:00
Wilson Snyder
da5644211f
Improve memory usage of V3Partition. Only performance change intended.
2021-11-03 22:01:40 -04:00
Wilson Snyder
c1d7bfa617
Internals: Skip some asserts in fastpath partitioning.
2021-11-03 19:19:23 -04:00
Wilson Snyder
c26ce25cea
Internals: Add more const. No functional change.
2021-11-03 17:49:19 -04:00
Wilson Snyder
758264dc77
Fix nested generate if genblk naming ( #3189 ).
2021-11-01 08:59:00 -04:00
Wilson Snyder
304697d133
Commentary
2021-11-01 08:57:43 -04:00
Teng Huang
fdbf465eda
Fix array method names with parens ( #3181 ) ( #3183 )
2021-10-26 12:20:45 -04:00
Wilson Snyder
90102d9867
Commentary
2021-10-25 21:02:02 -04:00
Wilson Snyder
a1bb471aca
Internals: Iterate sentree in clocker to avoid confusing iterateChildren. No functional change intended.
2021-10-25 20:19:49 -04:00
Wilson Snyder
4ef37d9411
Commentary
2021-10-25 19:53:41 -04:00
Yutetsu TAKATSUKASA
f3b10df454
Skip merging assign statements if a variable is marked split_var to fix #3177 ( #3179 )
...
* add tests to reproduce #3177 .
Any random test circuits can be added to t_split_var_4.v later because it uses CRC to check the result while
t_split_var_0.v has just barrel shifters.
* Fix #3177 . Don't merge assign statements if a variable is marked split_var.
2021-10-25 20:56:59 +09:00
Geza Lore
f5a226a183
Partial clean up of V3Order. No functional change intended.
...
This is a partial cleanup of V3Order with the aim of increasing clarity:
- Split the initial OrderGraph building and the actual ordering process
into separate classes (OrderVisitor -> OrderBuildVisitor + OrderProcess)
- Remove all the historical cruft from the graph building phase (now in
OrderBuildVisitor), and add more assertions for assumptions.
- Change the dot styling of OrderGraph to use shapes and more easily
distinguishable colors.
- Expand vague comments, remove incorrect comments, and add more.
- Replace some old code with cleaner C++11 constructs.
- Move code about a bit so logically connected sections are closer to
each other, scope some definitions where they are used rather than file
scope.
- The actual ordering process (now in OrderProcess) is still largely
unchanged.
The generated code is identical to before (within the limits of the
exiting non-determinism).
2021-10-24 16:49:05 +01:00
Geza Lore
5515eed0b6
Make AstTopScope accessible from AstNetlist
...
AstTopScope is a singleton node and making it accessible without a
traversal simplifies some code and decouple some other.
2021-10-24 13:00:29 +01:00
Geza Lore
381c87a1eb
Remove VN_CAST_CONST and VN_AS_CONST.
...
The _CONST suffix on these macros is only lexical notation, pointer
constness can be preserved by overloading the underlying
implementations appropriately. Given that the compiler will catch
invalid const usage (trying to assign a non-const pointer to a const
pointer variable, etc.), and that the declarations of symbols should
make their constness obvious, I see no reason to keep the _CONST
flavours.
2021-10-24 11:43:48 +01:00
github action
20e896ec21
Apply 'make format'
2021-10-22 18:51:57 +00:00
Geza Lore
70603bb752
Add static assertions for unnecessary VN_IS/VN_AS/VN_CAST
...
Fail at compile time if the result of these macros can be statically
determined (i.e.: they aways succeed or always fail). Remove unnecessary
casts discovered. No functional change.
2021-10-22 19:39:24 +01:00
Geza Lore
7cb6dc664e
Generate YYSTYPE members with astgen
...
In preparation for strengthening Ast type system. No functional change.
2021-10-22 19:27:32 +01:00
Geza Lore
dae9fa5053
Use VN_AS wherever possible and obvious. No functional change.
2021-10-22 14:06:00 +01:00
Wilson Snyder
aa1a0b0f13
Tests: Fix numactl on WSL2
2021-10-19 21:24:22 -04:00
Wilson Snyder
371bf01957
Tests: Fix numactl on WSL2
2021-10-19 21:21:52 -04:00
Wilson Snyder
ef7759a522
Commentary re: WSL2
2021-10-19 20:34:13 -04:00
Wilson Snyder
0ef9087f89
Commentary
2021-10-17 14:51:50 -04:00
Wilson Snyder
00059987a1
devel release
2021-10-17 14:47:19 -04:00
Wilson Snyder
8f090176a6
Version bump
2021-10-17 14:36:23 -04:00
Wilson Snyder
43e8263d1f
Commentary
2021-10-17 14:35:34 -04:00
Geza Lore
ac622f9db8
Introduce VN_AS for downcasting to known AstNode subtype.
...
VN_AS should be used over VN_CAST in code where the author knows up
front (i.e.: statically) what the true type of the node is. This has
multiple benefits over VN_CAST:
- In the debug build: Asserts node type is as expected
- In the optimized build: It is faster as no superfluous type test
- And (I would argue most importantly) it documents intent in the code
No current instances of VN_CAST changed in this patch
2021-10-16 23:52:31 +01:00
Wilson Snyder
749a66b7a2
Add assertion on mix of combo/posedge ( #3170 )
2021-10-16 18:14:32 -04:00
Geza Lore
fc80ace6e4
Reduce size of astgen generated implementation boilerplate.
...
Rely on C++ templates instead for simplicity. No functional change.
2021-10-16 20:15:51 +01:00
Wilson Snyder
b8f6b262e4
Fix false EOFNEWLINE warning when DOS carriage returns present ( #3171 ).
2021-10-13 21:21:51 -04:00
Wilson Snyder
b64e89f7ed
Fix calling new with arguments in same class ( #3166 ).
2021-10-12 21:22:59 -04:00
Wilson Snyder
c3bec344a4
Fix missing install of vl_file_copy/vl_hier_graph ( #3165 ).
2021-10-12 20:20:45 -04:00
Iru Cai
9731ec76e3
Fix $urandom_range when the range is 0 ... UINT_MAX ( #3161 )
2021-10-11 06:45:19 -06:00
Matthew Ballance
a9646cf45c
Fix constructor-parameter argument comma-separation in C++ ( #3162 )
2021-10-09 17:19:31 -06:00
Wilson Snyder
5f597dd9fc
Tests: Improve internal coverage holes
2021-10-05 22:02:37 -04:00
Wilson Snyder
7d57c3ca78
Internals: Remove dead code.
2021-10-05 22:02:23 -04:00
Wilson Snyder
4739956cfe
Internals: Add missing const. No functional change.
2021-10-05 21:20:22 -04:00
Wilson Snyder
e202a6324a
Tests: Improve internal coverage holes
2021-10-05 21:09:57 -04:00
Wilson Snyder
66d70c8b37
Internal coverage: Fix some test runs having conflicting sources.
2021-10-05 20:22:29 -04:00
Wilson Snyder
02aa639425
Internals: Add some const etc. No functional change.
2021-10-05 19:42:31 -04:00
Wilson Snyder
55da66164b
Fix verilator_gantt time on Arm.
2021-10-04 22:13:34 -04:00
Wilson Snyder
2560fc867f
verilator_gantt: Fix reading broken /cpu/procinfo reports
2021-10-02 11:10:43 -04:00
Wilson Snyder
f5c9deecb8
Tests: Add verilator_gantt no-proc test.
2021-10-02 10:05:59 -04:00
github action
20af8a36a7
Apply 'make format'
2021-09-28 11:29:21 +00:00
Zhanglei Wang
1c1c805b07
Fix internal error on bad widths ( #3140 ) ( #3145 )
2021-09-28 07:28:02 -04:00
Wilson Snyder
9029da5ab8
Add profile-guided optmization of mtasks ( #3150 ).
2021-09-26 22:51:11 -04:00
Wilson Snyder
def7c8fe4d
Commentary
2021-09-26 16:21:58 -04:00
Wilson Snyder
9184c4f501
Fix cygwin compile error due to missing -std=gnu++14 ( #3149 )
2021-09-26 16:19:46 -04:00
Wilson Snyder
44809f1843
Remove unused CFG_CXXFLAGS_STD_OLDEST
2021-09-26 16:01:25 -04:00
Wilson Snyder
87ced0cc3e
Fix crash on clang 12/13 ( #3148 ).
2021-09-25 17:10:57 -04:00
Wilson Snyder
741bb5328e
verilator_gantt: Fix argument report omitting last digits
2021-09-24 21:11:15 -04:00
Wilson Snyder
33650336f5
Commentary
2021-09-24 08:49:16 -04:00
Wilson Snyder
bbce1dc256
Commentary
2021-09-24 08:48:20 -04:00
Wilson Snyder
8ab51dbf22
Verilator_gantt: remove ASCII graphics
2021-09-24 08:48:20 -04:00
Wilson Snyder
fd4595d6b4
verilator_gantt: Add eval count to report
2021-09-24 08:48:20 -04:00
github action
204804ae52
Apply 'make format'
2021-09-24 03:00:42 +00:00
Wilson Snyder
c2819923c5
Verilator_gantt now shows the predicted mtask times, eval times, and additional statistics.
2021-09-23 22:59:36 -04:00
Wilson Snyder
68f1432a68
Gantt: Subtract common start in slowpath to reduce collection measurement error.
2021-09-23 19:43:20 -04:00
Keith Colbert
0defb61a18
Fix --waiver-output for multiline warnings ( #2429 ) ( #3141 )
2021-09-22 07:42:59 -04:00
Wilson Snyder
0fc805202c
Commentary ( #3139 )
2021-09-21 18:15:56 -04:00
Wilson Snyder
a7374e84a2
Tests: Some coverage improvements
2021-09-20 18:20:48 -04:00
Wilson Snyder
76681fd931
Commentary
2021-09-17 20:18:47 -04:00
Wilson Snyder
2418df7bb2
Commentary
2021-09-17 20:03:45 -04:00
Wilson Snyder
97d8d32049
Commentary
2021-09-17 18:52:12 -04:00
Wilson Snyder
08c8b0d7d6
Fix removing if statement with side effect in condition ( #3131 ).
2021-09-13 15:52:53 -04:00
Wilson Snyder
81fd3e4732
Commentary
2021-09-13 15:47:03 -04:00
Wilson Snyder
d384a69877
Fix display has no time units on class function ( #3116 ).
2021-09-08 19:31:46 -04:00
github action
a8b480559d
Apply 'make format'
2021-09-08 22:46:27 +00:00
Wilson Snyder
f1b8b1d99b
Format: perltidy spacing cleanup. No functional change.
2021-09-08 18:45:25 -04:00
Wilson Snyder
f67637144f
Internals: Some verilog.y format cleanups. No functional change.
2021-09-08 08:34:53 -04:00
Wilson Snyder
4b274a8d4d
Convert verilator_gantt to python
2021-09-08 08:16:31 -04:00
Wilson Snyder
c678e7ec3e
Format: perltidy spacing cleanup. No functional change.
2021-09-07 23:50:28 -04:00
Wilson Snyder
2a79e46c46
Tests: Fix t_dist_fixme to detect later files.
2021-09-07 19:27:46 -04:00
Wilson Snyder
d09b6a7d2c
Include processor information in verilator_gantt data file.
2021-09-05 11:56:28 -04:00
Wilson Snyder
35eac0c457
Commentary: Fix profcfunc naming.
2021-09-05 11:33:20 -04:00
Wilson Snyder
cac0b0f316
Tests: Fix t_gantt_io
2021-09-04 16:51:55 -04:00
Wilson Snyder
8519dc1383
Tests: Skip unstability
2021-09-04 13:48:16 -04:00
Wilson Snyder
72f198d79e
Tests: Add t_gantt_io test
2021-09-04 12:44:13 -04:00
Wilson Snyder
1cb8091125
verilator_profcfunc: Also allow eval_step.
2021-09-04 12:28:26 -04:00
Wilson Snyder
18c543f2f2
Convert verilator_difftree to Python
2021-09-04 09:31:22 -04:00
Wilson Snyder
496b9f9c63
Tests: Add difftree test.
2021-09-04 08:27:59 -04:00
Wilson Snyder
1ee46ac5e1
Convert verilator_profcfunc to python.
2021-09-04 08:21:09 -04:00
Wilson Snyder
f37c875be8
Internal: Remove fixme
2021-09-04 08:07:48 -04:00
Wilson Snyder
56dc66d842
Fix verilator_profcfunc profile accounting ( #3115 ).
2021-09-03 19:59:10 -04:00
Wilson Snyder
7ae54ef973
Commentary
2021-09-02 09:00:01 -04:00
Iru Cai
4ed00c563c
Support displaying x and z in $display task ( #3107 ) ( #3109 )
2021-09-02 08:10:52 -04:00
Daniel Bates
a49bfe871c
Docs: Fix typo in coverage instructions ( #3111 )
2021-09-02 07:41:10 -04:00
Wilson Snyder
6d97fea2f5
Internals: Cleanup some const, etc. No functional change.
2021-09-01 22:15:38 -04:00
Wilson Snyder
da833d55fe
devel release
2021-09-01 21:08:17 -04:00
Wilson Snyder
960813cb0f
Version bump
2021-09-01 20:58:03 -04:00
Wilson Snyder
cd56dfee1c
Update GTKwave from upstream.
2021-09-01 20:45:41 -04:00
Wilson Snyder
3e03cd5a4d
Commentary
2021-09-01 20:39:59 -04:00
Krzysztof Bieganski
cd9e9da4b5
Support assignment patterns as children of pins ( #3041 )
...
Signed-off-by: Krzysztof Bieganski <[email protected] >
2021-08-30 10:44:03 -04:00
Wilson Snyder
f64d9d87f6
Clang compile fix
2021-08-28 17:44:19 -04:00
Wilson Snyder
43aa3229fb
Support empty queue assignment to delete queue
2021-08-28 17:23:35 -04:00
Wilson Snyder
27d53691bd
Add header guards on Dpi.h generated files ( #2979 ).
2021-08-23 21:43:54 -04:00
Wilson Snyder
959793cde3
Internals: Cleanup VL_VALUE_STRING_MAX widths ( #3050 ).
2021-08-23 21:13:33 -04:00
Wilson Snyder
c3d64d9743
Fix internal error on wide -x-initial unique ( #3106 ).
2021-08-23 20:13:09 -04:00
Wilson Snyder
f9806595f2
Add error when constant function under a generate ( #3103 ).
2021-08-21 10:33:20 -04:00
Geza Lore
34a0bb448e
Improve V3MergeCond
...
- Merge AstNodeIf nodes as well (not just assignment from AstCond)
- Merge merged results recursively (optimizes nested conditionals/ifs)
- Only checking mergeability once per node.
- Don't add redundant masking
- Duplicate cheap statements in both branches, if doing so yields a
larger merge
- Include reduced nodes before the starting conditional in the merge
2021-08-19 18:55:39 +01:00
Geza Lore
8681861be9
Improve bitop tree optimization
...
- Remove redundant casting
- Cheaper final XOR parity flip (~/^1 instead of != 0)
- Support XOR reduction of ~XOR nodes
- Don't add redundant masking of terms
- Support unmasked terms
- Add cheaper implementation for single bit only terms
- Ensure result is clean under all circumstances (this fixes current bugs)
2021-08-18 22:00:13 +01:00
Geza Lore
fffc63970d
Use narrowest RedXor
2021-08-18 22:00:09 +01:00
Ivan Vnučec
8f527a0c6e
Commentary ( #3102 )
...
Actually you can see `https://github.com/verilator/verilator ` URL in your browser.
2021-08-18 15:19:02 -04:00
Geza Lore
c69ddc46f8
Fix bitop tree optimization dropping necessary cleaning AND ( #3097 )
...
Fixes #3096 .
2021-08-14 21:09:01 +01:00
Yutetsu TAKATSUKASA
4ec8bc3589
Fix op count and wrong optimization in bitop tree ( #3099 )
...
- Fix op calculation.
- Fix wrong optimization revealed by changing the op calculation:
Not(CCast(And(a, b))) must be frozen.
2021-08-14 12:28:47 +01:00
Geza Lore
536bdf506e
Fix re-evaluation of logic dependent on state set in DPI exports ( #3091 ).
...
Verilator should now correctly re-evaluate any logic that depends on
state set in a DPI exported function, including if the DPI export is
called outside eval, or if the DPI export is called from a DPI import.
Whenever the design contains a DPI exported function that sets a
non-local variable, we create a global __Vdpi_export_trigger flag, that
is set in the body of the DPI export, and make all variables set in any
DPI exported functions dependent on this flag (this ensures correct
ordering and change detection on state set in DPI exports when needed).
The DPI export trigger flag is cleared at the end of eval, which ensured
calls to DPI exports outside of eval are detected. Additionally the
ordering is modifies to assume that any call to a 'context' DPI import
might call DPI exports by adding an edge to the ordering graph from the
logic vertex containing the call to the DPI import to the DPI export
trigger variable vertex (note the standard does not allow calls to DPI
exports from DPI imports that were not imported with 'context', so we
do not enforce ordering on those).
2021-08-12 21:43:32 +01:00
Pieter Kapsenberg
d1836b7b6f
Traces show array instances using brackets instead of parens ( #3092 ) ( #3095 )
2021-08-12 20:40:44 +03:00
Geza Lore
00fe36f44c
Name temporary variables based on hash of related node.
...
This improves output stability by removing sequence numbers and hence
can improve ccache hit rate. No functional change intended.
2021-08-11 17:29:22 +01:00
Geza Lore
5adc856950
Tests: ignore all hashes in files_identical
...
Also add 'h' prefix to all printed hashes, to reduce ambiguity. No
functional change.
2021-08-11 16:55:11 +01:00
Geza Lore
bc3e24c8cd
Use c++XX instead of gnu++XX language standards.
...
The GNU extensions to C/C++ are not required to build Verilator. Note
this change does not affect __attribute__, __builtin_* and intrinsics,
which are still available when using GCC or Clang with the standard
language options.
2021-08-04 11:48:32 +01:00
Geza Lore
2c8456ea75
Internals: Cleanup V3SplitVar
...
- Use C++11 initialization syntax
- Use C++11 for loops
- Add const
- Factor out repeated _->fileline() sub-expressions
- Factor out issuing warning message
No functional change.
2021-08-02 15:48:26 +01:00
Geza Lore
519cc7d61c
Internals: Remove code duplication from V3Order
...
No functional change
2021-08-02 14:06:50 +01:00
Wilson Snyder
0f4daa12e4
Ignore sv-test's `pragma protect end
2021-07-29 09:00:10 -04:00
Wilson Snyder
6bad0e14ce
Support timeunit/timeprecision in $unit.
2021-07-29 08:40:41 -04:00
Geza Lore
3ec3c2c268
Internals: Cleanup V3Expand
...
- Use C++ initialization syntax
- Add const
- Make members static where appropriate
- Factor out repeated _->fileline() sub-expressions
No functional change.
2021-07-27 13:18:57 +01:00
Wilson Snyder
b8e804f05b
Internals: Some clang-tidy cleanups. No functional change intended.
2021-07-25 13:38:27 -04:00
Geza Lore
cdeb6e792f
Add --instr-count-dpi option, change default to 200
...
This replaces the former static AstNode::INSTR_COUNT_DPI, and makes it
user adjustable to fit the design.
Fixes #3068 .
2021-07-25 16:40:12 +01:00
Wilson Snyder
deebfa3239
Tests: Remove Ubuntu 16.04 as github removes in a month.
2021-07-25 11:22:25 -04:00
Wilson Snyder
f937e3282f
Tests: Ignore DepSet hash numbers. ( #3083 )
2021-07-25 11:20:19 -04:00
Geza Lore
b46664c70a
Internals: Use C++11 constexpr for instruction count costs
...
No functional change.
2021-07-25 13:32:40 +01:00
github action
33af14eba8
Apply 'make format'
2021-07-25 01:07:07 +00:00
Steven Hugg
18b0f6387d
Add XML ccall, constpool, initarray, and if/while begins ( #3080 )
...
* EmitXml: Added <ccall>, <constpool>, <initarray>/<inititem>, wrapped children of <if> and <while> with <begin> elements to prevent ambiguity
* EmitXml: added signed="true" to signed basicdtypes
2021-07-24 21:06:06 -04:00
Wilson Snyder
43ecaec9a0
Internal C++11 flex cleanups. No functional change intended.
2021-07-24 12:49:07 -04:00
Wilson Snyder
275885a797
Internals: Fix some long UNSUP lines. No functional change.
2021-07-24 12:21:04 -04:00
Wilson Snyder
68aa731ce9
Fix missing null on blackbox parse.
2021-07-24 12:13:19 -04:00
Wilson Snyder
b90fce55f4
Includes: Refactor verilated.h and deprecate verilated_heavy.h ( #2701 ).
2021-07-24 10:00:33 -04:00
Wilson Snyder
44173b40a1
Internals: Remove dead code. No functional change.
2021-07-24 09:18:49 -04:00
Wilson Snyder
ab13a2ebdc
Internals: Use C++11 const and initializers. No functional change intended.
2021-07-24 08:36:11 -04:00
Wilson Snyder
19875d2e85
Increase split count of ChangeDet ( #3072 ).
2021-07-23 19:24:25 -04:00
Geza Lore
1de33b9fb7
Support localparams in tasks/functions
2021-07-23 20:34:49 +01:00
Geza Lore
90c917ee83
Enable now supported tests for string array initializers
...
Fixes #2895 .
2021-07-23 17:21:15 +01:00
Geza Lore
4ab4c0c8ba
Emit parameter values as 'static constexpr' instead of enum
...
All parameters that are required in the output are now emitted as
'static constexpr, except for string or array of strings parameters,
which are still emitted as 'static const' (required as std::string is
not a literal type, so cannot be constexpr). This simplifies handling
of parameters and supports 'real' parameters.
2021-07-23 17:20:26 +01:00
Geza Lore
9907d211ff
Make VlWide and VlUnpacked C++20 compatible aggregates.
...
C++20 requires that aggregate types do not have a user declared
constructor, not even an explicitly defaulted one. We need these types
to be aggregates for static initialization.
Fixes #3076 .
2021-07-23 12:57:45 +01:00
Wilson Snyder
13933743ad
Suppress creating change_request if not needed.
2021-07-22 20:50:03 -04:00
Wilson Snyder
fc25721e55
Increase instruction count of ChangeDet ( #3072 )
2021-07-22 20:13:45 -04:00
Wilson Snyder
fa64f8fb32
Internals: C++11 cleanup. No functional change intended.
2021-07-22 20:05:54 -04:00
Geza Lore
ab4063f098
Emit implementations into separate files based on required headers.
...
This patch partitions AstCFuncs under an AstNodeModule based on which
header files they require for their implementation, and emits them
into separate files based on the distinct dependency sets. This helps
with incremental recompilation of the output C++.
2021-07-22 18:01:07 +01:00
Geza Lore
8bb77f86ec
Emit: Factor out parent module access via user4
...
No functional change.
2021-07-22 16:31:46 +01:00
Geza Lore
42d918c163
Internals: Omit selfPointer from ConstPool references
...
AstVarRefs to constant pool values are special and they have no use for
the selfPointer. Removing it simplifies future downstream code.
2021-07-22 13:35:22 +01:00
Geza Lore
e3dd70c373
Internals: Simplify V3CUse
...
No functional change intended.
2021-07-20 19:52:15 +01:00
Geza Lore
9273fafbbf
Internals: Split parts of V3CUse into V3Common
...
Apart from adding required AstCUse, V3CUse also used to create some
standard methods for classes. This is now done in a separate pass
V3Common. Note that this is not a performance issue, as V3Common just
iterates through each module, which are stored in a simple linked list
under the netlist, and does not need to traverse the whole netlist.
2021-07-20 17:18:52 +01:00
Geza Lore
d9c893af11
Internals: Add VString::startsWith predicate function
2021-07-20 14:29:43 +01:00
Geza Lore
a9c4a96c0f
Internals: const pointer argument
2021-07-20 14:29:36 +01:00
Geza Lore
32e99ba0d9
Emit: Attach VL_ATTR_COLD to definitions as well as declarations.
...
This is required by clang if the definition precedes the declaration
(which can happen when building via __ALL.cpp), otherwise we get a
warning.
2021-07-20 13:52:53 +01:00
Wilson Snyder
da8930a57a
Fix multitop to go to stderr ( #3070 )
2021-07-20 08:00:14 -04:00
Geza Lore
1166728a8d
Tests: make t_trace_*two* tests less sensitive to file names
...
No functional change intended
2021-07-19 17:48:41 +01:00
Geza Lore
30fa5e41be
Don't emit trace files with --lint-only
2021-07-19 17:48:38 +01:00
Geza Lore
cf39331d1f
Emit: Factor out visitor that can emit constant initializers
...
This is needed both by the V3EmitCConstPool emitter and the
V3EmitCHeaders emitter.
2021-07-14 13:56:04 +01:00
Geza Lore
bac84726e1
Emit: Clean up some code coverage holes
2021-07-14 12:27:33 +01:00
Geza Lore
ddef61d62e
Internals: Move AstNodeCCall::m_selfPointer to AstCCall
...
Other sub-classes of AstNodeCCall do not need the self pointer. Moving
it into the specific sub-class that needs it clarifies V3Descope and
Emit. No functional change intended.
2021-07-13 17:47:42 +01:00
Geza Lore
4081a1a539
Internals: Separate emitting of C++ headers and implementation
...
Internal AstNodeModule headers (.h) and implementation (.cpp) files are
now emitted separately in V3EmitC::emitcHeaders() and
V3EmitC::emitcImp() respectively. No functional change intended
2021-07-13 17:43:44 +01:00
Geza Lore
1691bbfe25
Remove unnecesasry and incorrect trace class CUse.
2021-07-13 14:20:57 +01:00
Geza Lore
17cc452f79
Add V3VariableOrder pass
...
A separate V3VariableOrder pass is now used to order module variables
before Emit. All variables are now ordered together, without
consideration for whether they are ports, signals form the design, or
additional internal variables added by Verilator (which used to be
ordered and emitted as separate groups in Emit). For single threaded
models, this is performance neutral. For multi-threaded models, the
MTask affinity based sorting was slightly modified, so variables with no
MTask affinity are emitted last, otherwise the MTask affinity sets are
sorted using the TSP sorter as before, but again, ports, signals, and
internal variables are not differentiated. This yields a 2%+ speedup for
the multithreaded model on OpenTitan.
2021-07-12 14:53:40 +01:00
Wilson Snyder
8ecdc85cf7
Internals: C++11 style cleanups. No functional change.
2021-07-11 18:42:01 -04:00
Geza Lore
5ad3c4e499
Internals: Speed up and improve V3Broken
...
This patch makes OpenTitan verilation with --debug-check 22% faster, and
the same with --debug --no-dump-tree 91% faster. Functionality is the
same (including when VL_LEAK_CHECKS is defined), except V3Broken can now
always find duplicate references via child/next pointers if the target
node is not `maybePointedTo()` (previously this only happened when
compiled with VL_LEAK_CHECKS). The main change relates to storing the
v3Broken traversal state in the AstNode by stealing a byte from what
used to be unused flags. We retain an unordered_set only for marking
pointers as valid to be referenced via a non-child/non-next member
pointer.
2021-07-11 21:03:17 +01:00
Geza Lore
8073e8bb46
Fix typo
2021-07-11 16:52:02 +01:00
Geza Lore
8a9d6d225b
Internals: Add source file/line info to BROKEN_RTN messages
2021-07-11 16:50:05 +01:00
Wilson Snyder
c7499133b2
Internals: C++11 for bool. No functional change.
2021-07-11 10:42:32 -04:00
Wilson Snyder
687dd440a9
Removed deprecated Verilator tarball generation makefile rules.
2021-07-11 10:25:24 -04:00
Wilson Snyder
f1bb0bb725
Tests: Whitespace check all git files
2021-07-11 10:25:13 -04:00
Wilson Snyder
a8168d5d62
Commentary
2021-07-11 09:46:00 -04:00
Geza Lore
896b18e024
Emit function locals in the place they appear in the tree
...
Do not sort and hoist function local variables to the top of the
function definition. The stack layout of automatic variables is not
defined by C so the compilers can lay these out optimally. Simplifies
internals for follow on work. Effect on model performance is neutral to
very slight improvement, so we do not seem to be loosing anything.
2021-07-10 15:20:19 +01:00
Geza Lore
766ad14ae0
Check function locals are referenced only when in scope
...
V3Broken now checks that AstVar nodes referenced in an AstCFunc are
either external, or appear in the tree before the reference, and are in
scope.
Fix V3Begin to move lifted AstVars to beginning of FTask, rather than
end, which trips the above check.
2021-07-10 15:20:19 +01:00
Geza Lore
add3811f46
Internals: Fix debug prints racing with option parsing.
...
debug() declared by VL_DEGUB_FUNC used to cache the result of the debug
level lookup (which depends on options) in a static. This meant that if
the debug() function was called before option parsing, the default debug
level of 0 would be used for the rest of the program, even if a --debug
option was given. Fixed by not caching the debug level until after
option parsing is complete.
2021-07-10 12:57:40 +01:00
Wilson Snyder
f55177a49f
Tests: Fix coverage holes. No functional change.
2021-07-10 07:11:50 -04:00
Wilson Snyder
bdceb08963
Internals: Fix off-by-one #line.
2021-07-10 07:11:34 -04:00
Geza Lore
825d6b87a8
Internals: Put AstNode flags in padding gap, initialize spare bits
...
The bool AstNode flags fit in a padding gap after m_type. This reduces
memory consumption by about 2% on OpenTitan. Initializing the unused
bits in the flags then avoids a read-modify-write in the constructor
(replacing it with a store constant). Overall verilation speed is about
1% faster.
2021-07-10 08:56:05 +01:00
Wilson Snyder
61e2e55ba5
Internals: Fix coverage holes. No functional change.
2021-07-09 18:11:59 -04:00
Wilson Snyder
e6b75f752b
Commentary
2021-07-09 17:46:11 -04:00
Geza Lore
a4f5d95648
Fix -G to treat simple integer literals as signed ( #3060 )
...
The -G option now correctly parses simple integer literals as signed
numbers, which is in line with the standard and is significant when
overriding parameters without a type specifier.
Fixes #3060
2021-07-08 13:42:25 +01:00
Geza Lore
686baaf2cf
Internals: Streamline trace function generation
...
Remove magic code fragments form EmitCTrace, so Emit need not be aware
that a function is tracing related or not (apart from the purpose of
file name generation). All necessary code is now generated via text
nodes in V3TraceDecl and V3Trace. No functional change intended.
2021-07-08 02:08:09 +01:00
Geza Lore
76b3776fa3
Change generated tracing routines to use snake_case
...
For consistency with the rest of the generated code, generated methods
related to tracing now use snake_case instead of camelCase. No
functional change intended.
2021-07-08 02:08:09 +01:00
Wilson Snyder
3ed2af638b
devel release
2021-07-07 20:50:11 -04:00
Wilson Snyder
8e2ba6a003
Version bump
2021-07-07 20:43:07 -04:00
Wilson Snyder
3aa6332f25
Fix Codacy warnings. No functional change.
2021-07-07 19:42:49 -04:00
Wilson Snyder
36599133bf
Add --prof-c to pass profiling to compiler ( #3059 ).
2021-07-07 19:12:52 -04:00
Wilson Snyder
941f96c913
Commentary
2021-07-07 17:59:22 -04:00
Wilson Snyder
93578d64d2
Internals: Remove old needHeavy code.
2021-07-07 17:56:34 -04:00
Dan Petrisko
8c705ee145
Support middle-of-design nested topmodules ( #3026 )
2021-07-07 15:00:29 -04:00
Dan Petrisko
c5c5f11e16
Tests: Adding failing test case for source synchronous signals ( #3038 )
2021-07-07 14:00:17 -04:00
Morten Borup Petersen
fd0446f481
Internals: Add .dot graph visualization of ThreadSchedule ( #3048 )
...
* Move MTaskState to ThreadSchedule
MTaskState does not concern itself with sandbagging, and thus solely contains information related to the finalized schedule, i.e., completion time, thread ID and next MTask on thread.
* Add .dot graph visualization of ThreadSchedule
Follow-up to #2779 .
This commit adds the creation of .dot files - used by GraphViz - to visualize how mtasks are statically scheduled across the set of specified threads.
We visualize each thread as a row, with nodes of a row being the mtasks scheduled for the given thread. The width of the mtask nodes are proportional to their cost. MTask dependencies are shown using an edge between the source and sink mtasks.
2021-07-06 07:06:00 -04:00
Geza Lore
2ebed755e6
V3Simulate: Avoid copying while managing free list.
...
V3Simulate reuses allocated AstConst nodes for efficiency, however this
used to be implemented in a way that required a deep copy of a
std::unorderd_map<_, std::deque<_>>, which was quite inefficient when it
grew large. The free list is now managed without any copying. This takes
the V3Table pass from taking 12s to 0.2s on SweRV EH1.
2021-07-05 17:07:33 +01:00
Geza Lore
2a7aa28b20
V3Simulate/V3Table: change deques to vectors for performance
...
We can get away with only push_back and back on sequence containers, in
which case std::vector is significantly faster than std::deque.
2021-07-05 15:53:56 +01:00
Geza Lore
fb56f4f880
Tests: make t_prot_lib*.pl name mangling deterministic
...
This is to facilitate diffing generated files in tests.
2021-07-02 00:21:24 +01:00
Geza Lore
d4e73e215e
Tests: fail test if vcddiff aborts, fix failing tests
...
Tests used to silently pass when vcddiff aborted. Now fixed. Updated
large array trace reference files for FST, added same reference files
for VCD.
Developers need to update their local vcddiff.
2021-07-01 23:22:25 +01:00
Geza Lore
d5c9369103
Internals: Fix suspicious dtype clone relinking. ( #3056 )
2021-07-01 14:33:44 -04:00
Geza Lore
af27702188
Fix type parameter resolution with hash collision.
...
We incorrectly treated two different struct types the same when passed
as an actual parameter to a `parameter type` parameter in an instance,
if the actual parameter expression both hash to the same value and the
structs have the same struct name. This is now corrected.
Fixes #3055 .
2021-07-01 16:52:29 +01:00
Morten Borup Petersen
2c813488f4
Tests: Add simulator benchmarking data option for regression tests ( #3054 )
...
This commit adds the '--simbenchmark' option to the regression test compile command.
The option is not intended as a fully-fledged benchmarking infrastructure, but rather a
utility for easily generating cycle- and execution time information when executing a verilated test.
As an example use case, the included test file shows how optimization level is varied across
three different builds+simulations, with the statistics for each run output to the same file in
the output directory.
Future work:
- 'sim_time' in the generated top-level main file should be a parameter.
- Given the above, the test execution script from verilog-sim-benchmark can be integrated
to generate better estimates of cycles/second through varying 'sim_time' over multiple executions.
2021-07-01 11:17:55 -04:00
Geza Lore
708abe0dd1
Introduce model interface class, make $root part or Syms ( #3036 )
...
This patch implements #3032 . Verilator creates a module representing the
SystemVerilog $root scope (V3LinkLevel::wrapTop). Until now, this was
called the "TOP" module, which also acted as the user instantiated model
class. Syms used to hold a pointer to this root module, but hold
instances of any submodule. This patch renames this root scope module
from "TOP" to "$root", and introduces a separate model class which is
now an interface class. As the root module is no longer the user
interface class, it can now be made an instance of Syms, just like any
other submodule. This allows absolute references into the root module to
avoid an additional pointer indirection resulting in a potential speedup
(about 1.5% on OpenTitan). The model class now also contains all non
design specific generated code (e.g.: eval loops, trace config, etc),
which additionally simplifies Verilator internals.
Please see the updated documentation for the model interface changes.
2021-06-30 16:35:40 +01:00
Yutetsu TAKATSUKASA
22e0f3edbe
Introduce small object optimization to V3Number ( #3034 )
2021-06-30 21:20:56 +09:00
Felix Yan
2cdf0aae72
Commentary: Correct a typo in configure.ac ( #3045 )
2021-06-28 23:18:14 -04:00
Wilson Snyder
ee4a601c9e
Internals: Use interface initialization for cleaner code. No functional change.
2021-06-28 22:40:39 -04:00
Morten Borup Petersen
e7b6a7ef6a
Fix shadowing of vlSymsp member with argument ( #3046 ).
...
This commit removes shadowing of the vlSymsp member of the emitted
modules, allowing models to compile when -Werror=shadow is set. This may
be useful when i.e., an external project which defines its own error
flags depends on the verilated model.
2021-06-28 20:37:09 +01:00
Geza Lore
2825940fad
Fix dtype when simplifying masked shift.
...
Fixes #3044
2021-06-25 18:06:43 +01:00
Geza Lore
c6f6dab413
Emit: Factor out parts needed for emitting an AstCFunc
...
Factored out bits from V3EmitC.cpp that is required to emit a whole
(non-trace) AstCFunc. This is mostly what used to be the EmitCStmts
class plus relevant bits from EmitCImp. These now live in EmitCFunc,
which is reusable by anything that needs to emit a regular AstCFunc
(differences in tracing to be addressed later). EmitCImp now extends
EmitCFunc instead of EmitCStmts. No functional change intended.
2021-06-24 19:39:47 +01:00
Geza Lore
bbbee8b89e
Make emitVarDecl and emitModCUse reusable via V3EmitCBase.
...
Moved these 2 function into V3EmitCBase so we can reuse them later.
emitVarDecl required minor alteration to move building of m_ctorVarsVec
back into V3EmitC (which is now done in V3EmitC::emitSortedVarList).
No functional change intended.
2021-06-24 18:15:47 +01:00
Geza Lore
5250408019
Add V3EmitCBase.cpp to hold implementations
...
No need to keep complex functions in the V3EmitCBase.h header (which is
included in a lot of compilation units). No functional change intended.
2021-06-24 18:04:54 +01:00
Geza Lore
a198a3c1e1
Add extern "C" to function declarations in VPI tests.
...
These are necessary to link the executables. So far we have been saved
by one of the generated headers forward declaring these functions with
extern "C", but changing that header would break these tests.
2021-06-24 16:48:58 +01:00
Wilson Snyder
f311a0a5a5
Internals: Add const. No functional change.
2021-06-22 08:43:54 -04:00
Geza Lore
ec1c112791
Remove deprecated --inhibit-sim ( #3035 )
2021-06-21 12:38:42 -04:00
Geza Lore
7ecc2d4df7
V3Hash: Add missing include.
...
Fixes #3029
2021-06-21 15:32:58 +01:00
Wilson Snyder
512fe0a2d1
Internals: Add const. No functional change.
2021-06-20 18:33:13 -04:00
Yutetsu TAKATSUKASA
ec4eb18846
Fiix incorrect result by bit tree opt ( #3023 ) ( #3030 )
...
* Add a test to reproduce #3023 . Also applied verilog-mode formatting.
* use unique_ptr. No functional change is intended.
* Introduce restorer that reverts changes during iterate() if failed.
2021-06-21 07:28:39 +09:00
Geza Lore
f064a94f1d
Configure time unit/time precision in the Sym constructor.
...
This used to be done in the constructor of the top module, but there is
no reason to do it there. Internals are cleaner with this in the Sym
constructor. No functional change intended.
2021-06-19 20:42:38 +01:00
Geza Lore
19398efc4c
Remove no-op VL_CELL. No functional change intended.
2021-06-19 20:42:38 +01:00
Geza Lore
fcb8bc22bd
Internals: Remove m_classPrefix from AstNodeVarRef/AstNodeCCall
...
This is now redundant and can be reconstituted in V3EmitC without being
explicitly stored.
2021-06-19 20:42:38 +01:00
Wilson Snyder
2ee52222e2
Tests: Add test ( #2912 ).
2021-06-19 14:39:34 -04:00
Wilson Snyder
c11cd18491
In XML, show pinIndex information ( #2877 ).
2021-06-19 13:41:41 -04:00
Geza Lore
eebda248c7
Internals: Use AstUserAllocator in V3Order
2021-06-19 15:23:02 +01:00
Wilson Snyder
8d737271ca
Allow configure override of AR program ( #2999 ).
2021-06-19 10:00:31 -04:00
Wilson Snyder
52cde49a6f
Internals: Add more const. No functional change.
2021-06-18 22:24:08 -04:00
Geza Lore
6c9c16c31d
Simplify redundant masking of AstShiftR/AstShiftL
...
AND(CONST,SHIFTR(_,C)) appears often after V3Expand, with C a large
enough dense mask (i.e.: of the form (1 << n) - 1) to make the masking
redundant. E.g.: 0xff & ((uint32_t)a >> 24). V3Const now replaces these
ANDs with the SHIFTR node.
Similarly, we also simplify the same with SHIFTL,
e.g.: 0xff000000 & ((uint32_t)a << 24)
2021-06-18 20:06:53 +01:00
Geza Lore
0c93c3844f
Simplify AND(CONST,OR(_,_)) with redundant terms
...
V3Expand generates a lot of OR nodes that are under a clearing mask, and
have redundant terms, e.g.: 0xff & (a << 8 | b >> 24). The 'a << 8' term
in there is redundant as it's bottom bits are all zero where the mask is
non-zero. V3Const now removes these redundant terms.
2021-06-18 19:07:00 +01:00
Geza Lore
e5e5bc0fa3
Localize variables used in multiple functions
...
Teach V3Localize how to localize variables that are used in multiple
functions, if in all functions where they are used, they are always
written in whole before being consumed. This allows a lot more variables
to be localized (+20k variables on OpenTitan - when building without
--trace), and can cause significant performance improvement (OpenTitan
simulates 8.5% - build single threaded and withuot --trace).
2021-06-18 16:22:51 +01:00
Geza Lore
d6237e55b2
Internals: Add AstUserNAllocator utility classes.
...
These utility classes can be used to hang advanced data structures off
AstNode user*u() pointers, and they take care of memory management for
the client. Use via the call operator().
2021-06-18 16:22:51 +01:00
Geza Lore
3ec1e9eb07
Localize variables from other modules when possible
...
V3Localize can now localize variable references that reference variables
located in scopes different from the referencing function. This also
means V3Descope has now moved after V3Localize.
2021-06-18 16:22:51 +01:00
Geza Lore
d5bdd07c01
Fix out of bounds index into VlWide under AstSel
...
When part selecting bits via an AstSel in a VlWide, V3Expand used to do
something akin to:
word_index = lsb / 32;
bit_index = lsb % 32;
result =
wide[word_index + 1] << (32 - bit_index) | wide[word_index] >> bit_index;
The unconditional "+ 1" can cause an out of bounds access into the
VlWide, when the whole of the select is into the most significant word
(i.e.: when word_index is already the most significant word). We now
emit roughly this instead:
lo_word_index = lsb / 32;
bit_index = lsb % 32;
hi_word_index = (lsb + width - 1) / 32;
result =
wide[hi_word_index] << (32 - bit_index) | wide[lo_word_index] >> bit_index;
i.e.: we explicitly calculate which word the MSB of the select falls
into, and address that word, rather than the unconditional + 1. The
shifts ensure we still yield the right result, even if lo_word_index and
hi_word_index are the same.
Note: The actual expression created by V3Expand can be a bit more
complicated as we might need to access 3 words when the result is a
QData, all 3 word indices are calculated explicitly.
2021-06-18 14:31:01 +01:00
Wilson Snyder
5fddf51e8c
Internals: Favor VlWide over WData arrays. No functional change intended.
2021-06-17 21:17:25 -04:00
Geza Lore
0a28fc8c63
Internals: minor cleanup to V3Descope
2021-06-17 14:30:15 +01:00
Geza Lore
9eafca5e28
Remove deprecated --no-relative-cfuncs ( #3024 )
2021-06-16 23:17:43 -04:00
Geza Lore
729bd268de
Internals: make AstCFunc::m_isStatic a bool.
...
All functions are now known to be static or not static when they are
created, so turn the isStatic flag into a bool (from VBoolOrUnknown).
2021-06-16 14:24:28 +01:00
Geza Lore
6c332a2f8e
Emit: Remove emitVarCmtChg
...
emitVarCmtChg used to emit MTask affinity of variables in comments in
the generated header. This causes unnecessary changes in the output when
scheduling changes slightly between compilation, hindering ccache reuse.
If needing this info for debugging Verilator, add a separate dump file
instead of emitting it in the generated code.
2021-06-16 14:24:25 +01:00
Geza Lore
a8f83d5758
Construct AstExecGraph implementation outside of V3EmitC. ( #3022 )
...
The goal of this patch is to move functionality related to constructing
the thread entry points and then invoking them out of V3EmitC (and into
V3Partition). The long term goal being enabling V3EmitC to emit
functions partitioned based on header dependencies. V3EmitC having to
deal with only AstCFunc instances and no other magic will facilitate
this.
In this patch:
- We construct AstCFuncs for each thread entry point in
V3Partition::finalize and move AstMTaskBody nodes under these functions.
- Add the invocation of the threads as text statements within the
AstExecGraph, so they are still invoked where the exec graph is located.
(the entry point functions are still referenced via AstCCall or
AstAddOrCFunc, so lazy declarations of referenced functions are created
automatically).
- Explicitly handle MTask state variables (VlMTaskVertex in
verilated_threads.h) within Verilator, so no need to text bash a lot of
these any more (some text refs still remain but they are all created
next to each other within V3Partition.cpp).
The effect of all this on the emitted code should be nothing but some
identifier/ordering changes. No functional change intended.
2021-06-16 12:18:56 +01:00
Geza Lore
65bfb4e5ff
Build Verilator without -Og in the coverage build
...
The coverage numbers decreased when adding -Og to the debug build. This
patch restores them by adding --enable-coverage to configure and
building without -Og if requested.
2021-06-14 19:55:03 +01:00
Geza Lore
c75a686081
Internals: Update to clang-format-11 ( #3021 )
2021-06-14 14:50:40 -04:00
Geza Lore
2705715bb1
CI: set CI_M32 to 0 in coverage workflow
2021-06-14 01:30:50 +01:00
Geza Lore
208f1504fb
CI: Add -m32 build
2021-06-14 00:37:59 +01:00
Geza Lore
24b5215cf9
Add --enable-m32 to configure
2021-06-14 00:37:59 +01:00
Geza Lore
6016e74b55
Drop ambiguous overloads in VlWide
...
The 32-bit build fails with the ambiguous overload present.
2021-06-14 00:37:33 +01:00
Geza Lore
0c4d88bacc
Fix V3Hash when building -m32
2021-06-13 23:19:25 +01:00
Geza Lore
01a54d6960
CI: Build opt and dbg together, archive whole source tree
...
Prep for adding more CI targets. Building dbg and opt in the same job
(as standard) simplifies caching, debugging and artifact handling. With
ccache it should not take much longer either. Also removes the need to
re-configure in the test job.
2021-06-13 22:45:57 +01:00
Geza Lore
23fc08bdf9
CI: swap order of platforms
...
GitHub Actions starts the jobs earlier in the list first. This change
has the effect of starting the few longer running jobs (those on ubuntu
20.04) first.
2021-06-13 22:45:57 +01:00
Wilson Snyder
13ddd0bc1c
Fix error on unsupported recursive functions ( #2957 ).
2021-06-13 12:38:31 -04:00
Wilson Snyder
31121141db
Convert pipe filter example to python
2021-06-13 12:03:53 -04:00
Wilson Snyder
9d3e800311
Commentary
2021-06-13 12:03:53 -04:00
Geza Lore
7280307a39
Implement DPI import/export as loose functions
2021-06-13 15:06:28 +01:00
Geza Lore
c207e98306
Implement a distinct constant pool ( #3013 )
...
What previously used to be per module static constants created in
V3Table and V3Prelim are now merged globally within the whole model and
emitted as part of a separate constant pool. Members of the constant
pool are global variables which are declared lazily when used (similar to
loose methods).
2021-06-13 15:05:55 +01:00
Geza Lore
60d5f0e86b
Emit model implementation as loose methods. ( #3006 )
...
This patch introduces the concept of 'loose' methods, which semantically
are methods, but are declared as global functions, and are passed an
explicit 'self' pointer. This enables these methods to be declared
outside the class, only when they are needed, therefore removing the
header dependency. The bulk of the emitted model implementation now uses
loose methods.
2021-06-13 14:33:11 +01:00
Geza Lore
18cabc369b
CI: fix error in coverage workflow file
2021-06-13 03:16:58 +01:00
Geza Lore
cd871ca79e
CI: Increase cache sizes slightly
2021-06-13 03:16:56 +01:00
Geza Lore
c67fe02f06
Do not generate debug info in tests
...
Pointless and takes up a lot of cache space in CI, so remove -ggdb and
associated debug options from tests.
2021-06-13 02:55:29 +01:00
Geza Lore
2d2bd5b95e
CI: Upload separate named artifacts, only fetch ones that are needed
2021-06-13 01:05:42 +01:00
Geza Lore
02835f199b
CI: Improve caching
...
GitHub Actions allow a total 5 GB of cache storage space per repository,
after which it will evict old caches. Tweaked cache sizes so master + a
few PRs can fit at the same time. Don't cache coverage builds as they
run weekly and with additional compiler options, so their caches would
likely be state anyway.
2021-06-13 00:19:40 +01:00
Geza Lore
e6e7bd8d83
Compile the debug build with -Og -ggdb -gz if supported.
...
Check the C++ compiler for -Og via configure and use it if available.
Per the GCC manual:
-Og should be the optimization level of choice for the standard
edit-compile-debug cycle, offering a reasonable level of optimization
while maintaining fast compilation and a good debugging experience. It
is a better choice than -O0 for producing debuggable code because some
compiler passes that collect debug information are disabled at -O0.
The debug exe is painfully slow on large designs, hopefully this is an
improvement.
Similarly, check for and use -gz to compress the debug info as it is
huge otherwise. This should help with distribution and caching on CI.
Also checks for -ggdb via configure for compatibility.
2021-06-12 23:25:58 +01:00
Geza Lore
b1c7de4ad5
Minor compiler compatibility fixes
...
- Initialize variable to avoid 'may be uninitialized' warning
- More reliable segfault (the previous version was compiled into an
undefined instruction by clang sometimes, thew new one is always a store
to zero).
2021-06-12 23:25:58 +01:00
Wilson Snyder
f0f68f42d1
devel release
2021-06-12 13:05:33 -04:00
Wilson Snyder
e3341e9a7c
Verison bump
2021-06-12 12:36:03 -04:00
Geza Lore
1abd339863
CI: fix caching in coverage build
2021-06-10 01:04:43 +01:00
Geza Lore
d22df4e907
CI: Add extra dist-vlt shard for better load balancing
2021-06-09 23:51:03 +01:00
Geza Lore
ac19d552b1
CI: Change name and commit message of formatting job
...
The format job actually runs more than just clang-format these days.
Change message to hint more directly towards what it does. Change job
name to 'format'.
2021-06-09 22:45:25 +01:00
Geza Lore
58b4ed0995
CI: Do not limit parallelism
...
Free accounts can run up to 20 jobs, pro ones 40. There does not seem to
be a reason to limit ourselves to 8.
2021-06-09 22:45:25 +01:00
Geza Lore
7ef9b32faa
CI: Use separate ccache instances for each job
2021-06-09 22:21:32 +01:00
Geza Lore
24b3816f5e
Improve distribution of V3Hash/V3Hasher
...
- Better combining, without multiplication, which means a 0 hash value
is now allowed.
- Do not OR in bottom bits (this was used to avoid a 0 hash but had the
side effect of hashing 0 and 1 to the same value, which are actually
common inputs.
- Hash whole content of V3Number. This does not seem to be noticeable in
runtime, but quite often the bottom word can be a special value like
zero while the rest of the content varies.
2021-06-09 21:17:02 +01:00
Geza Lore
5555f20bd2
Improve ccache-report
2021-06-09 19:14:11 +01:00
Geza Lore
809701d7c6
Add missing 'inline' to function in verilated.h
...
Otherwise we get a separate copy of this function in every
compilation unit including this header.
2021-06-08 23:46:07 +01:00
Wilson Snyder
6fd48da7cf
Untabify cmakefiles. No functional change.
2021-06-07 07:47:15 -04:00
Wilson Snyder
b976b8dac9
Fix slowdown in elaboration ( #2911 ).
2021-06-06 22:09:30 -04:00
github action
c238d3da76
Apply clang-format
2021-06-06 23:57:41 +00:00
Geza Lore
0edf1f0c94
Add ccache-report target to standard Makefile ( #3011 )
...
Using the standard model Makefile, when in addition to an explicit
target, the target 'ccache-report' is also given, a summary of ccache
hits/misses during this invocation of 'make' will be prited at the end
of the build.
2021-06-07 00:56:30 +01:00
Wilson Snyder
31bb73e3de
Fix MCD close also closing stdout ( #2931 ).
2021-06-06 19:32:48 -04:00
Wilson Snyder
8f2e4f6bb0
Fix clang warning.
2021-06-06 10:32:50 -04:00
Wilson Snyder
2158a4573e
Tests: Reenable 18.04 MT ( #2963 ).
2021-06-06 10:27:44 -04:00
Wilson Snyder
1e89392e76
Add --expand-limit argument ( #3005 ).
2021-06-06 10:27:01 -04:00
Martin Schmidt
b0c1ac7ea2
Add support of --trace-structs parameter for CMake ( #2986 )
2021-06-06 09:27:44 -04:00
Wilson Snyder
1f19e8e206
Tests: Add test case for #2895 .
2021-06-06 09:17:56 -04:00
Geza Lore
258d9adfea
Aid IDE code linking in V3AstNodes.h ( #3009 )
2021-06-05 17:40:56 +01:00
Miodrag Milanović
fa063574d0
Fix Makefiles to support Windows EXEEXT usage ( #3008 ).
2021-06-04 12:04:55 -04:00
Geza Lore
eea7e1bd2a
Do not emit leading spaces on blank lines ( #3007 )
2021-06-04 15:00:13 +01:00
Wilson Snyder
fb561d925a
Commentary ( #2996 )
2021-06-03 21:19:11 -04:00
Wilson Snyder
9f5eb8f66e
Commentary
2021-06-03 21:15:42 -04:00
Julien Margetts
1f331bd94f
Fix part select issues in LATCH warning. ( #2948 ) ( #2938 )
2021-06-01 09:01:18 -04:00
Wilson Snyder
2143bcfad5
Fix constant function calls with uninit value ( #2995 ).
2021-05-31 22:46:41 -04:00
Geza Lore
e1f9fffb42
Fix --protect-ids when using SV classes ( #2994 )
...
A few names were incorrectly mangled, which made --protect-ids produce
invalid output when certain SV class constructs were uses. Now fixed and
added a few extra tests to catch this.
2021-05-31 13:40:22 +01:00
Pieter Kapsenberg
e4dcbb22e3
Fix unused variable warnings ( #2991 )
2021-05-30 20:19:35 -04:00
Geza Lore
f4c1a7efeb
Emit: Fix indent tracking when // inside string literal ( #2990 )
...
// was so far unconditionally treated as comment.
c443e229ee introduced a string literal in
the output that contained a http:// url, which broke the indent
tracking. No functional change intended
2021-05-29 23:46:15 +01:00
Geza Lore
ef9f477df2
Make _ctror_var_reset and _configure_coverage static. ( #2977 )
...
Another step towards #2958/#2140. Make the mentioned generated functions
static for modules (but not for classes).
2021-05-22 18:50:55 +01:00
Geza Lore
2dd5ef5e8b
Internals: Move --coverage and --savable check out of V3EmitC ( #2976 )
2021-05-22 12:27:32 +01:00
github action
a43eba7011
Apply clang-format
2021-05-22 10:14:07 +00:00
Geza Lore
61c9866a1e
Internals: Generate ASTGEN_SUPER_* macros instead of expanding. ( #2975 )
...
astgen now generates ASTGEN_SUPER_* macros, instead of expanding the
ASTGEN_SUPER itself. This means that V3AstNodes.h itself can be included
in V3Ast.h, which helps IDEs (namely CLion) find definitions in
V3AstNodes.h a lot better. Albeit this is a little bit more boilerplate,
writing constructors of Ast nodes should be a lot rarer than trying to
find their definitions, so hopefully this is an improvement overall.
astgen will error if the developer calls the wrong superclass
constructor.
2021-05-22 11:13:02 +01:00
Wilson Snyder
63782556ae
Internals: Fix some pylint warnings
2021-05-21 20:47:53 -04:00
Geza Lore
8814111724
Rework Ast hashing to be stable ( #2974 )
...
Rework Ast hashing to be stable
Eliminated reliance on pointer values in AstNode hashes in order to make
them stable. This requires moving the sameHash functions into a visitor,
as nodes pointed to via members (and not child nodes) need to be hashed
themselves.
The hashes are now stable (as far as I could test them), and the impact
on verilation time is small enough not to be reliably measurable.
2021-05-21 14:34:27 +01:00
Geza Lore
fd35492226
Split V3Hashed to V3Hasher and V3DupFinder ( #2967 )
...
V3Hasher is responsible for computing AstNode hashes, while V3DupFinder
can be used to find duplicate trees based on hashes. Interface of
V3DupFinder simplified somewhat. No functional change intended at this
point, but hash computation might differ in minor details, this however
should have no perceivable effect on output/runtime.
Implements (#2964 )
2021-05-21 01:41:46 +01:00
Geza Lore
a44d2b2570
Move unreleased changes in right place in Changelog
2021-05-20 11:30:44 +01:00
Wilson Snyder
aba3883092
Commentary on MULTIDRIVEN ( #2972 ).
2021-05-19 08:14:14 -04:00
Geza Lore
9699192de8
Don't merge bit select assignments in C code ( #2971 )
2021-05-18 14:28:48 -04:00
Wilson Snyder
0f7ec6c9ba
Fix missing array include ( #2966 )
2021-05-17 18:24:18 -04:00
Geza Lore
471f14d26a
Clean up V3Combine ( #2965 )
...
- Remove dead code
- Simplify what is left
- Minor improvements using C++11
- Remove special case AstNode constructors used only in one place in
V3Combine (inlined instead).
2021-05-17 13:26:24 +01:00
Wilson Snyder
bdc162db87
Fix 16.04 gcc warning
2021-05-16 18:38:43 -04:00
Wilson Snyder
706842d093
CI: Disable Ubuntu-18.04 clang ( #2963 )
2021-05-16 15:11:39 -04:00
Yutetsu TAKATSUKASA and Wilson Snyder
31779b8b8b
Format time string using integer ( #2940 )
...
Co-authored-by: Wilson Snyder <[email protected] >
2021-05-16 19:01:03 +09:00
Geza Lore
80d62adec7
Make all AstNode* base class constructors protected. ( #2962 )
...
No functional changes intended. Boring patch in the hope of being
helpful to new contributors. Although AstNode* base classes needing to
be abstract is described in the internals manual, this might provide a
bit of extra safety.
2021-05-15 21:10:16 +01:00
Geza Lore
38cab569ed
Add --reloop-limit argument ( #2960 )
...
Add --reloop-limit argument
2021-05-15 18:04:40 +01:00
Geza Lore
828f78ece4
Don't emit empty files with low split limits ( #2961 )
...
Attempt to split output files when we know a function will actually be
emitted, otherwise we might end up with empty files.
2021-05-15 16:05:24 +01:00
Geza Lore
5e95cc9280
Internals: Make AstAlwaysPost an AstNodeProcedure. ( #2959 )
...
This seems to belong there, eliminates some code duplication in V3Clock,
and also enables splitting AstAlwaysPost statements into different
functions in V3Order, but should otherwise have little effect.
2021-05-15 10:56:28 -04:00
Wilson Snyder
88fed4bc2f
Commentary on traces ( #2925 )
2021-05-13 18:57:39 -04:00
Wilson Snyder
3718fe1ca1
Commentary (trigger rebuild)
2021-05-13 18:34:20 -04:00
Ameya Vikram Singh
a4ab3e12f6
Update latest C++ Standard Compilation flag ( #2951 )
...
For SystemC Project sets the CXX_STANDARD flag from SystemC CMake build config.
2021-05-13 14:26:53 -04:00
Yutetsu TAKATSUKASA
9c85426e77
Internals: Fix build failure on older gcc such as 4.8.5 on CentOS7. No functional change is intended. ( #2954 )
2021-05-13 06:45:56 +09:00
Yutetsu TAKATSUKASA
e3b20a3ea2
Internals: Mark VerilatedContextImp::timeFormatSuffix() const ( #2947 )
2021-05-11 11:45:43 -04:00
Yutetsu TAKATSUKASA
f7c23c4ade
Internals: Set missing timescale though it is not referred yet. ( #2946 )
2021-05-11 22:38:13 +09:00
Yutetsu TAKATSUKASA
00cedf3797
Tests: Add a test to check if there is overflow or rounding ( #2945 )
2021-05-11 22:27:31 +09:00
Geza Lore
1422c23434
Split procedures to better respect --output-split-cfuncs ( #2942 )
...
CFuncs only used to be split at procedure (always/initial/final block),
which on occasion can still yield huge output files if they have large
procedures. This patch make CFuncs split at statement boundaries within
procedures. This has the potential to help a lot, but still does not
help if there are huge statements within procedures.
2021-05-11 07:44:07 -04:00
Geza Lore
1a6378291a
Emit 'else if' without nesting. No functional change intended. ( #2944 )
...
Instead of:
if (a) {
x;
} else {
if (b) {
y;
} else {
if (c) {
z;
} else {
w;
}
}
}
Emit:
if (a) {
x;
} else if (b) {
y;
} else if (c) {
z;
} else {
w;
}
2021-05-10 22:15:12 +01:00
Geza Lore
267c6f6dce
Improve Reloop to accept constant index offsets. ( #2939 )
...
V3Reloop now can roll up indexed assignments between arrays if there is a
constant offset between indices on the left and right hand sides, e.g.:
a[0] = b[2];
a[1] = b[3];
...
a[x] = b[x + 2];
2021-05-10 18:01:11 +01:00
Yutetsu TAKATSUKASA
45fbd98ff1
Use V3OptionParser in verilator_coverage ( #2935 )
...
* Internals: Mark unused to avoid compilation failure. No functional change is intended.
* Use V3OptionParser in VlcMain.cpp
2021-05-09 07:04:22 +09:00
Geza Lore
f6c0108c86
Optimize large lookup tables to static data ( #2926 )
...
Implements #2925
2021-05-08 20:04:56 +01:00
Jonathan Drolet
37d68d39c8
Support --trace-fst for SystemC with CMake ( #2927 )
2021-05-08 08:42:00 -04:00
Yutetsu TAKATSUKASA
5e56f4d11b
Tests: Enable undefined behavior sanitizor when --sanitize is set. ( #2923 )
2021-05-08 08:20:26 -04:00
Jonathan Drolet
2bf248bf60
Add TRACE_THREADS to CMake ( #2934 )
2021-05-08 08:18:08 -04:00
Yutetsu TAKATSUKASA
39ce2f77f4
Internals: Remove VerilatedVcd::m_suffixesp. No functional change is intended. ( #2933 )
...
Reasons are:
- it's error prone to keep updating whennever m_suffixes is resized
- invalid pointer may be set when there is not signal to trace as in t_trace_dumporder_bad
2021-05-07 20:45:58 -04:00
Yutetsu TAKATSUKASA and Wilson Snyder
9797af0ad4
Introduce a macro VL_ATTR_NO_SANITIZE_ALIGN to suppress unaligned access check in ubsan ( #2929 )
...
* Add VL_ATTR_NO_SANITIZE_ALIGN macro to disable alignment check of ubsan
* Mark a function VL_ATTR_NO_SANITIZE_ALIGN because the function is intentionally using unaligned access for the sake of performance.
Co-authored-by: Wilson Snyder <[email protected] >
2021-05-08 07:16:40 +09:00
Yutetsu TAKATSUKASA
1e4839e5d1
Fix casting to integer not to cause integer overflow. ( #2930 )
2021-05-07 12:00:36 -04:00
Todd Strader
b2139f65d8
VPI memory access for packed arrays ( #2922 )
2021-05-07 07:17:54 -04:00
Philipp Wagner
44fd205e12
Fix make support for gmake 3.x ( #2920 ) ( #2921 )
...
The "file" make function is only available in gmake 4.x, which isn't
available on RHEL/CentOS 7. Use alternative syntax to support older
gmake versions.
Fixes #2920
2021-05-06 12:07:15 -04:00
Yutetsu TAKATSUKASA
8624ce6a84
Stop checking dtype for better optimization chance in BitOpTree ( #2909 )
...
* Tests: Add more case that does not match native C++ width (8, 16, 32 or 64).
* Use AstVarRef::same() instead of AstNode::sameGateTree() because the latter checks dtype in addition to scope.
AstVarRef may have different minWidth in some cases,
but the difference should be ignored in the context of bitOpTree optimization.
2021-05-04 10:40:16 +09:00
Wilson Snyder
e68788d914
Fix initialization of assoc in assoc array ( #2914 ).
2021-05-03 19:37:04 -04:00
Wilson Snyder
490f9f757d
devel release
2021-05-03 19:37:04 -04:00
Krzysztof Bieganski
5290062549
Fix bounds check in VL_SEL_IWII ( #2910 )
2021-05-03 17:59:41 -04:00
Yutetsu TAKATSUKASA
53d9c30277
Internals: Factor out V3OptionParser from V3Options.cpp. No functional change is intended. ( #2919 )
2021-05-04 06:30:18 +09:00
Geza Lore
76494891cf
Speed up V3Width by pulling skip condition before node iteration.
2021-05-02 16:58:30 +01:00
Geza Lore
008b8d5b56
Speed up sparse V3Number multiplication
2021-05-02 12:34:12 +01:00
Yutetsu TAKATSUKASA
d77c9da983
Tests: Add a case to cover the line using m_frozenNodes. ( #2915 )
2021-05-02 06:12:38 +09:00
Udi Finkelstein
422c076fec
Support ignoring "`pragma protect ..." ( #2886 )
...
This support code merely adds the capability to skip over the encrypted
parts. Many models have unencrypted module interfaces with ports, and
only encrypt the critical parts.
2021-04-26 18:16:24 -04:00
Todd Strader
12416bc0a3
Scope module fix ( #2893 )
2021-04-26 09:50:25 -04:00
Yutetsu TAKATSUKASA
4351abfe71
Fix assertion failure in bitOpTree opt ( #2899 )
...
* Tests: Add another testcase that triggers assertion failure in bitOpTree opt.
* Fix assertion failure in bitOpTree opt reported in #2891 . Consider the follwoing case.
CCast -> WordSel -> VarRef(leaf)
* Make sure that m_bitPolarity is expanded enough.
2021-04-25 11:46:05 +09:00
Wilson Snyder
2022ec43cf
Update gtkwave from upstream.
2021-04-24 11:00:35 -04:00
Wilson Snyder
15f7741eaf
Version bump
2021-04-24 10:34:05 -04:00
Wilson Snyder
aedd16225a
Tests: Don't expose version numbers
2021-04-24 10:33:49 -04:00
Wilson Snyder
8749f545b6
Partial fix to avoid init error on lint-only ( #2895 )
2021-04-24 09:49:23 -04:00
Wilson Snyder
82b878ce42
Internal coverage: locally download codecov script for security ( #2904 )
2021-04-24 09:39:54 -04:00
Wilson Snyder
15802dadf1
Commentary
2021-04-24 09:23:53 -04:00
Todd Strader
f446295274
Public interface params ( #2901 )
2021-04-21 13:46:13 -04:00
Todd Strader
f450d51de1
expose packed vectors via the VPI ( #2900 )
2021-04-21 12:35:18 -04:00
Wilson Snyder
dd0c2cac9b
Fix V3Premit infinite loop on always read-and-write ( #2898 ).
2021-04-21 09:21:06 -04:00
Todd Strader
a1cd55225c
more vpi_get_str() ( #2894 )
2021-04-21 08:09:19 -04:00
github action
47e7e21706
Apply clang-format
2021-04-20 13:09:24 +00:00
Graham Rushton
6660627558
Fix concat of long hashed names in traces etc ( #2854 )
2021-04-20 09:08:29 -04:00
Wilson Snyder
c443e229ee
Fix URL references.
2021-04-18 11:52:29 -04:00
Wilson Snyder
2e9e4ae110
Add an URL on warnings to point to the manual's description.
2021-04-18 10:17:05 -04:00
Yutetsu TAKATSUKASA
56dd58d259
Fix assertion failure in bitOpTree ( #2892 )
...
* Tests: Add a test to reproduce #2891
* Fix assertion failure in binary op tree opt.
2021-04-17 05:50:30 +09:00
Todd Strader
53a6830f71
Fix cast from packed, typedef'ed interface signal ( #2884 )
2021-04-16 15:25:47 -04:00
David Metz
f5ad5cf034
Fix dumping waveforms to multiple FST files ( #2889 )
2021-04-14 16:52:14 -04:00
Wilson Snyder
f579e55706
Commentary
2021-04-13 20:19:08 -04:00
Wilson Snyder
cf7f49e139
Docs: Fix cross-references
2021-04-13 09:25:11 -04:00
Wilson Snyder
39d9ecfe51
Fix cmake version number ( #2881 )
2021-04-13 09:10:29 -04:00
Wilson Snyder
4c2a9aac4c
Docs: Fix make html rule
2021-04-13 09:01:22 -04:00
Todd Strader
70c1eda174
Fix package reported as vpiModule ( #2885 )
2021-04-12 15:00:36 -04:00
Wilson Snyder
ac26d5889f
Fix whitespace
2021-04-11 22:22:43 -04:00
Wilson Snyder
8fcf9da1ad
Docs: Move html generation to single directory
2021-04-11 21:49:48 -04:00
Wilson Snyder
136468ca78
Docs: fix unicode arrows
2021-04-11 21:49:27 -04:00
Wilson Snyder
62b528c2e3
Fix duplicate figures in sphinx docs
2021-04-11 21:14:25 -04:00
Wilson Snyder
ee875d0166
Fix edit-on-git in sphinx docs
2021-04-11 20:52:40 -04:00
github action
04ebba8667
Apply clang-format
2021-04-12 00:39:38 +00:00
Wilson Snyder
a9bd112e0c
Fix version number in doc guide
2021-04-11 20:38:37 -04:00
Wilson Snyder
adce7ecf4b
Documentation has been rewritten into a book format.
2021-04-11 18:55:06 -04:00
HyungKi Jeong
0d6099b2b7
Fix MinGW not supportting 'localtime_r'. ( #2882 )
2021-04-09 10:40:41 -04:00
Udi Finkelstein
23c243bb82
Add support for null ports ( #2875 )
2021-04-09 10:39:46 -04:00
Wilson Snyder
e2c11cceb8
Fix select of with index variable ( #2880 ).
2021-04-08 19:35:03 -04:00
github action
52fc134272
Apply clang-format
2021-04-07 13:56:12 +00:00
Àlex Torregrosa
2b2680770b
Improve scope types in FST and VCD traces ( #2805 ).
2021-04-07 09:55:11 -04:00
Yutetsu TAKATSUKASA
6a31b19224
Tests: Add a test to improve code coverage of V3Const.cpp ( #2878 )
2021-04-07 22:37:31 +09:00
Yutetsu TAKATSUKASA
8d0f7cdac8
Tests: Add a test to check if shortcut operators are properly handled. ( #2869 )
2021-04-07 22:26:40 +09:00
Wilson Snyder
7242ceb998
Remove old TODO
2021-04-06 18:07:28 -04:00
Wilson Snyder
cb95a7294f
Fix backtrace on bisonpre error
2021-04-06 18:07:28 -04:00
Wilson Snyder
efc116323b
Commentary
2021-04-06 18:07:28 -04:00
Àlex Torregrosa
a29ac44af9
Add FST SystemC tracing ( #2806 )
2021-04-06 16:18:58 -04:00
Wilson Snyder
961a2fef61
Some minor preliminary docs reorg
2021-04-04 22:05:44 -04:00
Wilson Snyder
5658d7238d
Commentary
2021-04-03 13:11:26 -04:00
Geza Lore
4f36e3e6c9
Fix incorrect condition in varNotReferenced ( #2873 )
...
The intention was to not merge impure assignments, but the actual
predicate failed if the assignment was indeed pure.
This fix gains 1.5% speed on SweRV EH1.
2021-04-03 12:57:06 -04:00
Wilson Snyder
273fcce095
Fix test error in last commit
2021-04-01 19:51:22 -04:00
Udi Finkelstein
0ea5af40c5
Add PINNOTFOUND warning in place of "Pin not found" error ( #2868 )
2021-04-01 18:17:42 -04:00
Wilson Snyder
a9f4129b6b
Tests: Add test for ( #1613 )
2021-04-01 09:03:38 -04:00
Wilson Snyder
c8d8e95d52
Tests: Honor make_top_shell=>0 ( #2847 ).
2021-04-01 08:52:48 -04:00
Wilson Snyder
e9c7f40bb4
Internals: Prefer using over typedef. No functional change.
2021-03-29 21:28:08 -04:00
Wilson Snyder
8c12dcf751
Commentary
2021-03-29 19:37:47 -04:00
Wilson Snyder
c62546c761
Add --coverage-max-width ( #2853 ).
2021-03-29 18:54:51 -04:00
Wilson Snyder
6d3ec160e1
Internal coverage improvements
2021-03-28 20:30:22 -04:00
Wilson Snyder
f26a7c2a5d
Fix --comp-limit-parens with real data types
2021-03-28 20:18:18 -04:00
Wilson Snyder
2ca21c01d2
Internal coverage improvements
2021-03-28 20:03:08 -04:00
Rupert Swarbrick
d6c2e2faf6
Allow overlaps in priority case statements ( #2864 )
...
This will still warn if a case item is completely covered by previous
items, but will no longer complain about overlaps like this:
priority casez (foo_i)
2'b ?1: bar_o = 3'd0;
2'b 1?: bar_o = 3'd1;
Before, there was a warning for the second statement because the first
two patterns match 2'b11.
2021-03-28 19:57:36 -04:00
Wilson Snyder
014bffdf5e
CI: Run coverage with SystemC
2021-03-28 12:47:35 -04:00
Wilson Snyder
8992e2ec02
Commentary
2021-03-28 11:50:05 -04:00
Wilson Snyder
f39318bde5
CI: Run coverage with SystemC
2021-03-28 11:47:45 -04:00
Wilson Snyder
e9b5721fb0
Internals: Remove VL_FUNC as __func__ part of C++11
2021-03-28 11:14:51 -04:00
Wilson Snyder
0b17d4f059
CI: Run coverage with SystemC
2021-03-28 11:14:44 -04:00
Wilson Snyder
64802f6f3d
CI: Run coverage with SystemC
2021-03-28 09:55:56 -04:00
Wilson Snyder
9a39c69cb9
CI: Run coverage with SystemC
2021-03-28 09:54:50 -04:00
Wilson Snyder
05db4e41cd
Add better suggestions on some bad options.
2021-03-27 13:14:43 -04:00
Wilson Snyder
d4d87ef300
Examples: Clearer to define sc_time_stamp
2021-03-27 08:55:38 -04:00
Wilson Snyder
5b4448de23
Internals: Add some std::'s. No functional change intended.
2021-03-26 23:22:52 -04:00
Wilson Snyder
e0808bcd15
Commentary
2021-03-26 23:05:04 -04:00
Wilson Snyder
4155de721b
Fix Cygwin example compile issues ( #2856 ).
2021-03-26 23:01:58 -04:00
Wilson Snyder
02d82978e5
Avoid quoting + to appease cygwin bash/gcc --gdbbt ( #2856 )
2021-03-26 22:13:55 -04:00
Wilson Snyder
ca01d6f18d
Internals: Add some std::'s. No functional change intended.
2021-03-26 21:23:18 -04:00
Todd Strader
ee25114a00
interface localparam access ( #2859 )
2021-03-26 18:27:38 -04:00
Todd Strader
87728a9ee3
Fix --public-flat-rw / DPI issue ( #2858 )
2021-03-26 18:24:31 -04:00
4e41c13501
Structurize option parser ( #2809 )
...
Add V3OptionsParser that can suggest correct option.
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: github action <[email protected] >
2021-03-26 22:48:24 +09:00
Wilson Snyder
7ea014dab5
Fix false WIDTHCONCAT on casted constant ( #2849 ).
2021-03-23 19:49:57 -04:00
Wilson Snyder
2e158d88c1
Commentary. Remove dox comments from private members,
2021-03-20 21:11:53 -04:00
Wilson Snyder
a1ab295b74
Commentary: Cleanup all include/* header comments.
2021-03-20 17:46:00 -04:00
Wilson Snyder
93eabb83b2
Cleanup some python warnings. No functional change.
2021-03-20 17:37:24 -04:00
Wilson Snyder
b6c393e9f0
Add VerilatedCovContext::forcePerInstance ( #2793 ).
2021-03-19 22:24:00 -04:00
Wilson Snyder
3fd3526d76
Ignore _build directories.
2021-03-19 21:53:08 -04:00
Wilson Snyder
82710a55a4
Quieter archive (broke few commits ago)
2021-03-19 20:58:42 -04:00
Wilson Snyder
29505ef013
Support arrayed parameter functions partial ( #2846 )
2021-03-19 18:44:26 -04:00
Wilson Snyder
a159c41219
Fix USERINFO etc to show message with no arguments
2021-03-18 18:46:07 -04:00
Wilson Snyder
07de647cd7
Tests: On first file_identical miscompare look for others
2021-03-18 18:45:34 -04:00
Wilson Snyder
334e42b38e
Cleanup REDEFMACRO to not show two separate warnings
2021-03-17 20:33:31 -04:00
Wilson Snyder
96f9f8558b
Mark --no-relative-cfuncs as scheduled for deprecation.
2021-03-17 18:59:45 -04:00
Wilson Snyder
5da9368032
Update contributors.
2021-03-17 18:39:32 -04:00
Wilson Snyder
c20bced485
Fix --output-split with class extends ( #2839 ).
2021-03-17 18:25:54 -04:00
Wilson Snyder
dfab80fab1
Fix false TIMESCALEMOD on generate-ignored instances ( #2838 ).
2021-03-16 22:52:29 -04:00
Wilson Snyder
38f6a467e9
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:44:13 -04:00
Wilson Snyder
26c0fa0a6a
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:42:28 -04:00
Wilson Snyder
12eb4e85ac
Changed TIMESCALEMOD from error into a warning. ( #2838 )
2021-03-16 21:58:15 -04:00
Wilson Snyder
f79e59b226
Commentary
2021-03-16 21:17:55 -04:00
Wilson Snyder
daf5174134
Commentary
2021-03-14 21:26:56 -04:00
Wilson Snyder
8350c381c2
Add EOFNEWLINE warning when missing a newline at EOF.
2021-03-14 21:23:48 -04:00
Wilson Snyder
ba1f53a070
Improve DEFPARAM warning text.
2021-03-14 20:37:50 -04:00
Wilson Snyder
50866e470a
Commentary: Convert Changes to RST format
2021-03-14 14:12:58 -04:00
Wilson Snyder
e6b19d557e
Fix false $dumpfile warning on model save ( #2834 ).
2021-03-14 09:08:17 -04:00
Wilson Snyder
4261f72bd2
Fix exceeding command-line ar limit ( #2834 ).
2021-03-13 15:10:56 -05:00
Wilson Snyder
6a189a1f81
Fix exceeding command-line ar limit ( #2834 ).
2021-03-13 15:09:10 -05:00
Wilson Snyder
9dcda6947d
Fix unpacked-in-class pattern assignment
2021-03-13 13:39:29 -05:00
Wilson Snyder
e3788e871e
Fix unpacked-in-class array reference assignments
2021-03-13 13:04:13 -05:00
Wilson Snyder
ce79c4ebf9
Fix class unpacked-array compile error ( #2774 ).
2021-03-13 12:47:19 -05:00
Wilson Snyder
1b4a82acde
Verilated signals now use VlUnpacked in place of C arrays. ( #2774 ) partial.
2021-03-13 12:37:19 -05:00
Wilson Snyder
67853e2f29
Tests: Add t_prof test.
2021-03-13 12:29:14 -05:00
Wilson Snyder
b201b6257b
Tests: Improve coverage when not expanding
2021-03-13 10:22:32 -05:00
Wilson Snyder
d1becbb793
Tests: Fix gmon file not always flushing
2021-03-12 23:05:56 -05:00
Wilson Snyder
abcb9cc91b
Add VlWide to WDataInP. Part of coming commit.
2021-03-12 21:16:07 -05:00
Wilson Snyder
689d5b5090
Internals: Add std:: to make_pair. No functional change.
2021-03-12 18:17:49 -05:00
Wilson Snyder
3a55600913
Internals: Restyle with C++11 using replacing typedef
2021-03-12 18:10:45 -05:00
Wilson Snyder
404b323f8c
Internals: Remove some unnecessary typedefs. No functional change.
2021-03-12 17:26:53 -05:00
Wilson Snyder
21e9794fd7
Tests: Mark some tests lint only
2021-03-12 16:06:47 -05:00
Wilson Snyder
1b985da2a1
devel release
2021-03-12 15:52:35 -05:00
Wilson Snyder
1b18a85e76
Version bump
2021-03-12 15:48:31 -05:00
Wilson Snyder
5022e81af7
Commentary
2021-03-12 14:14:21 -05:00
Wilson Snyder
c99f01b7fe
Converted Asciidoc documentation into reStructuredText (RST) format.
2021-03-12 13:52:47 -05:00
Wilson Snyder
b52b063c16
Tests: Use common TEST_ error reporting.
2021-03-12 12:43:28 -05:00
Wilson Snyder
2feb46fc5d
Tests: Refactor t_vpi_time_cb to avoid shared object
2021-03-12 12:08:11 -05:00
Wilson Snyder
44478a53c2
comps
2021-03-12 09:44:21 -05:00
Wilson Snyder
2cde7b0128
Commentary
2021-03-12 08:50:24 -05:00
Wilson Snyder
29ed866061
Fix range inheritance on port without data type ( #2753 ).
2021-03-11 19:22:19 -05:00
Wilson Snyder
e88dff6929
Tests: Improve t_mod_interface_array4
2021-03-11 13:32:38 -05:00
Drew Taussig
3651321679
Fix for MSVC++ compile error ( #2831 ) ( #2833 )
2021-03-11 13:30:23 -05:00
Wilson Snyder
7469166c38
Fix or-reduction on different scopes broken in 4.110 ( #2828 ).
2021-03-10 18:08:11 -05:00
Wilson Snyder
5a4e4b2dcd
Add -Oo to disable const bit tree ( #2830 ).
2021-03-10 17:47:31 -05:00
Wilson Snyder
9483ebefae
Internal code coverage cleanups.
2021-03-07 21:05:15 -05:00
Wilson Snyder
1533693654
Internal coverage: Backout -fkeep-inline-functions.
2021-03-07 21:05:00 -05:00
Wilson Snyder
ac171f16fd
Github: Use 10+10 runners for coverage.
2021-03-07 16:41:46 -05:00
Wilson Snyder
c61d3ee557
Internal coverage: cover inline/static
2021-03-07 15:12:25 -05:00
Wilson Snyder
4592724c1f
Remove sonarCloud
2021-03-07 15:11:57 -05:00
Wilson Snyder
31598e6cb6
Add sonarcloud
2021-03-07 15:05:08 -05:00
Wilson Snyder
041d04b052
Add sonarcloud
2021-03-07 14:59:30 -05:00
Wilson Snyder
878a75c0f3
Add sonarcloud
2021-03-07 14:57:12 -05:00
Wilson Snyder
6ff1911110
Tests: Cover some internal code coverage issues
2021-03-07 13:52:37 -05:00
Wilson Snyder
a9d61a8bff
Increase devel version as next release will be 4.200
2021-03-07 11:40:10 -05:00
Wilson Snyder
8df06a9f08
Commentary
2021-03-07 11:33:55 -05:00
Wilson Snyder
2cad22a22a
Add simulation context (VerilatedContext) ( #2660 ). ( #2813 )
...
** Add simulation context (VerilatedContext) to allow multiple fully independent
models to be in the same process. Please see the updated examples.
** Add context->time() and context->timeInc() API calls, to set simulation time.
These now are recommended in place of the legacy sc_time_stamp().
2021-03-07 11:01:54 -05:00
Wilson Snyder
caa9c99837
Commentary
2021-03-07 08:28:13 -05:00
Wilson Snyder
8c3ad591ae
Internals: Add additional mutex exclusion checks. No functional change.
2021-03-06 18:29:11 -05:00
Wilson Snyder
47dcbd4b8a
Internal: Remove deprecated/insecure functions. No functional change intended.
2021-03-06 10:34:03 -05:00
Yutetsu TAKATSUKASA
cf9ac8270b
Internals: Remove duplicated entry of -quiet-exit. No functional change is intended. ( #2821 )
2021-03-05 23:11:54 -05:00
Wilson Snyder
de774ac4d8
Cleanup python code style issues. No functional change intended.
2021-03-05 22:52:39 -05:00
Wilson Snyder
81ef8fb201
Cleanup python code style issues. No functional change intended.
2021-03-05 21:59:00 -05:00
Wilson Snyder
018d994781
Convert VPI to singleton, part of ( #2660 ).
2021-03-04 19:23:40 -05:00
Yutetsu TAKATSUKASA
97b869e5d8
Internals: Mark some functions of VSpellCheck 'const'. No functional change is intended. ( #2817 )
2021-03-04 22:08:44 +09:00
Wilson Snyder
ed2f8dc097
Internals: Rename some internal functions etc to avoid _V
2021-03-03 22:53:50 -05:00
Wilson Snyder
be31fdcfe4
Use Google-style-guide header guard naming, to avoid __ prefix.
2021-03-03 21:57:07 -05:00
Wilson Snyder
90773f4980
Internals: Avoid coverage base class. No functional change.
2021-03-03 18:58:54 -05:00
Wilson Snyder
92f02c9db7
Tests: Adjust eta
2021-03-03 18:58:17 -05:00
Wilson Snyder
4fa41c5dd8
Tests: Add default filename check to context tests
2021-03-02 20:31:49 -05:00
Wilson Snyder
7cc7afca04
Commentary
2021-03-02 17:39:16 -05:00
David Turner
e81abdb616
Fix slice-assign overflow bug ( #2803 ) ( #2811 )
2021-03-01 18:20:56 -05:00
Wilson Snyder
81417a2889
Tests: Misc test updates for context prep.
2021-02-28 10:48:27 -05:00
Wilson Snyder
fec5e69ec5
--inhibit-sim is planned for deprecation, file a bug if this is still being used.
2021-02-28 09:26:06 -05:00
Wilson Snyder
05e5fb04ed
Fix formatting vars in protect-lib wrapper
2021-02-27 20:06:48 -05:00
Wilson Snyder
5489bbcc41
Fix deadlock when error in flush routines
2021-02-27 14:43:52 -05:00
Wilson Snyder
dfd54a6abf
devel release
2021-02-25 21:52:04 -05:00
Wilson Snyder
17b75c6428
Version bump
2021-02-25 21:43:33 -05:00
Wilson Snyder
ce78d6e438
Fix flexfix to directly run with python.
2021-02-25 21:19:37 -05:00
Wilson Snyder
dad86b9a84
Tests: Fix leak found by previous commit
2021-02-25 20:38:38 -05:00
Wilson Snyder
e1a48dcb07
Fix spacing
2021-02-25 20:13:13 -05:00
Wilson Snyder
0b501df959
Tests: Rename
2021-02-25 20:05:54 -05:00
Wilson Snyder
57d1404f40
Tests: Cleanup to return instead of exit
2021-02-25 19:26:36 -05:00
Wilson Snyder
2f8fa75691
Tests: On format make tests executable
2021-02-25 19:24:41 -05:00
Wilson Snyder
00c3bafe7d
Tests: With --gdbsim build with ggdb
2021-02-25 19:20:11 -05:00
Wilson Snyder
206bd416aa
Internals: Cleanup some RANDOM functions.
2021-02-24 22:13:24 -05:00
Wilson Snyder
30c34e4975
Internals: Avoid extra typedef. No functional change.
2021-02-24 21:13:00 -05:00
Wilson Snyder
1a5f599626
Commentary
2021-02-24 18:32:21 -05:00
Wilson Snyder
c95e606c0a
Fix range inheritance on port without data type ( #2753 ).
2021-02-24 18:21:13 -05:00
Wilson Snyder
a886f28c85
Internals: Use static_assert
2021-02-23 19:02:04 -05:00
Wilson Snyder
8c2ee6c5ab
With -DVL_NO_LEGACY hide all outdated API routines
2021-02-22 22:59:23 -05:00
Wilson Snyder
6ada513fa5
Internal: Don't serialize debug, turn on each run.
2021-02-22 22:39:57 -05:00
Wilson Snyder
9f381f7617
Remove old SP_AUTO_COVER3 define
2021-02-22 22:27:33 -05:00
Wilson Snyder
48986ccdeb
Remove VL_TIME_I, rarely/never used and too little precision.
2021-02-21 21:56:43 -05:00
Wilson Snyder
0f8e494c76
Tests: Add t_verilated_legacy
2021-02-21 21:49:55 -05:00
Wilson Snyder
9650aefa42
Internals: Cleanup unneeded {}. No functional change
2021-02-21 21:25:21 -05:00
Wilson Snyder
3ae75926e4
Inline old VL_CTOR macros.
2021-02-21 12:12:11 -05:00
Wilson Snyder
18f3df438e
For generated --main, use unique_ptr. No functional change intended.
2021-02-21 11:02:02 -05:00
Andreas Kuster
99c02419c0
Commentary - contributors. ( #2801 )
2021-02-21 08:22:52 -05:00
bb5384bc50
Optimize bit op tree #2186 , #2632 , and #2633 ( #2751 )
...
* Tests:Add some more signals to t_const_opt_red.v
* Optimize bit op trees such as ~a[2] & a[1] & ~a[0] to 3'b010 == (3'111 & a)
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Apply clang-format
* Don't edit and-or tree.
* Call matchBitOpTree() after V3Expand does its job.
* Internals: Rename newNodep -> newp. No functional change is intended.
* Internals: Remove m_sels. No functional change is intended.
* Internals: Remove stringstream. No functional change is intended.
* Internals: Use V3Number::bitIs1(). No functional change is intended.
* Internals: Use V3Number instead of std::map. Resolved laek. Result should be same.
* Internals: Resolve overload of setPolarity. No functional change is intended.
* Internals: Pass failure reason. No functional change is intended.
* Internals: Add VNUser::toPtr(). No functional change is intended.
* Internals: Use user4 instead of std::map. No functional change is intended.
* Catch up with the AST style aftre V3Expand
* Internals: Rename Context to VarInfo. No functional change is intended.
* Add some more test case
* tests:Add stats to tests
Update stats in t_merge_cond.pl as matchBitopTree does some of them.
* insert CCast if necessary
* small optimization to remove redundant bit mask
* No quick exit even when unoptimizable node is found.
* Simplify removing redundant And
* simplify
* Revert "Internals: Add VNUser::toPtr(). No functional change is intended."
This reverts commit f98dce10db .
* Consider AstWordSel and cleanup
* Update test
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <[email protected] >
* Apply clang-format
* Internals: rename variables. No functional change is intended.
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: github action <[email protected] >
2021-02-21 18:11:33 +09:00
Wilson Snyder
fd6edd90bc
Fix little endian interface pin swizzling ( #2475 ).
2021-02-20 22:11:20 -05:00
Wilson Snyder
191f76dd90
Increase LINE_TOKEN_MAX ( #2752 ).
2021-02-20 20:55:38 -05:00
Wilson Snyder
975c1b39a9
Fix little endian packed array pattern assignment ( #2795 ).
2021-02-20 20:29:28 -05:00
Yutetsu TAKATSUKASA
62e877ebf0
Add transformation of '^(const ^ a)' -> '(^const) ^ (^a)' ( #2800 )
...
* Add transformation of '^(const ^ a)' -> '(^const) ^ (^a)'
* Use TREEOP instead of TREEOPC
2021-02-20 23:16:55 +09:00
Wilson Snyder
aa99833580
Tests: Show (non-)per-instance coverage
2021-02-18 19:20:53 -05:00
Yutetsu TAKATSUKASA
120322df3e
Remove redundant AND with 1 ( #2791 )
2021-02-18 19:28:49 +09:00
Yutetsu TAKATSUKASA
c1b6faff6d
Add more patterns to t_const_opt_red.v ( #2792 )
2021-02-18 19:28:30 +09:00
Wilson Snyder
22e299e78e
Support concat selection ( #2721 ).
2021-02-17 23:03:47 -05:00
Wilson Snyder
d559190e9e
Tests for future concat select ( #2721 )
2021-02-17 22:57:52 -05:00
Wilson Snyder
c5e5be8e99
Commentary
2021-02-16 22:40:21 -05:00
Wilson Snyder
2b2fe13e79
Tests: Add unsupported test for interface typedef ( #2783 )
2021-02-16 22:31:30 -05:00
Wilson Snyder
64887bd92d
Commentary
2021-02-16 20:40:16 -05:00
Wilson Snyder
95b0e9eef2
Tests: Add missing sc_time_stamp calls.
2021-02-16 20:34:44 -05:00
Wilson Snyder
e44563fddc
Tests: Use vl_time_stamp64 where reasonable
2021-02-16 20:14:30 -05:00
Yutetsu TAKATSUKASA
f2a7f30b09
Commentary: In docs remove +I ( #2789 )
2021-02-15 08:40:49 -05:00
Wilson Snyder
43cf5693d1
Fix shifts by > 32 bit values ( #2785 ).
2021-02-14 11:15:12 -05:00
Wilson Snyder
20b3f0efa0
Fix class extends with VM_PARALLEL_BUILDS ( #2775 ).
2021-02-13 17:29:34 -05:00
Wilson Snyder
2b72218dd8
Fix examples not flushing vcd ( #2787 ).
2021-02-13 17:06:53 -05:00
Wilson Snyder
36eb952b60
Tests: Fix mising init
2021-02-03 19:43:29 -05:00
Wilson Snyder
99afffa949
Tests: Add some verbose statements.
2021-02-03 19:38:44 -05:00
Wilson Snyder
ae311200bf
Tests: Pass tool to allow ifdefs in VPI C code.
2021-02-03 19:29:24 -05:00
Wilson Snyder
828fa80afa
Tests: Add common use_libvpi for multiple simulators
2021-02-03 18:59:27 -05:00
Wilson Snyder
fe0a42eaa8
Tests: Cleanup some unused functions.
2021-02-03 18:50:23 -05:00
Wilson Snyder
153335ff35
Tests: Cleanup some DPI warnings.
2021-02-03 18:30:39 -05:00
github action
7bce15b065
Apply clang-format
2021-02-03 22:39:03 +00:00
Wilson Snyder
2225acd3ec
Tests: Avoid C++11 requirement in TestVpi.h
2021-02-03 17:37:31 -05:00
github action
af5fc4f1ad
Apply clang-format
2021-02-03 19:41:25 +00:00
Àlex Torregrosa
e77e4e1fe6
Improve struct scopes when dumping structs to VCD ( #2776 )
2021-02-03 14:40:21 -05:00
Morten Borup Petersen
843ae2955e
Commentary on incorrectly specified debug level ( #2777 )
...
As seen at https://github.com/verilator/verilator/blob/master/src/V3Options.cpp#L1202
setting --debug enables a debug level of 3.
2021-02-03 14:38:34 -05:00
Samuel Riedel
483516ce4e
Fix build to execute vlcovgen with python3. ( #2773 )
2021-01-28 15:01:33 -05:00
Wilson Snyder
05bb24df6c
Fix $fread extra semicolon inside statements.
2021-01-26 22:20:16 -05:00
Wilson Snyder
31223d4058
Fix $ in filenames ( #2768 ).
2021-01-26 20:10:38 -05:00
Paul Wright
d891e5ac3a
Fix to exclude strings from toggle coverage ( #2766 ) ( #2767 )
2021-01-25 07:33:38 -05:00
Wilson Snyder
3c79e00d24
Commentary ( #2764 )
2021-01-24 20:24:23 -05:00
github action
555269f791
Apply clang-format
2021-01-23 15:32:52 +00:00
Wilson Snyder
64941538b7
Fix TIMESCALE warnings on primitives ( #2763 ).
2021-01-23 10:31:41 -05:00
James Hanlon
fadc6776ec
For --flatten, override inlining of public and no_inline modules ( #2761 )
2021-01-18 08:03:18 -05:00
Yutetsu TAKATSUKASA
878a252437
Internals: Add TREEOPC() that executes only when m_doCpp==true ( #2759 )
2021-01-17 13:53:49 +09:00
Wilson Snyder
5cadabeb2d
Fix argparse difference on ubuntu 18.04
2021-01-16 14:14:39 -05:00
Wilson Snyder
2517bfd0af
Fix argparse difference on ubuntu 18.04
2021-01-16 13:57:56 -05:00
Wilson Snyder
1f105edf69
Internals: Convert astgen to python.
2021-01-16 13:24:14 -05:00
Yutetsu TAKATSUKASA
b82085fbc6
Internals: Use size_t to compare with vector::capacity(). No functional change intended. ( #2758 )
2021-01-16 09:47:27 -05:00
Yutetsu TAKATSUKASA
cea8b65f8c
Internals: Make some accessors in V3Number public ( #2756 ). No functional change.
2021-01-16 09:47:04 -05:00
Wilson Snyder
22260c6b85
Internals: Rename V3Const TREEOPC to TREEOPA.
2021-01-15 22:13:06 -05:00
Pierre-Henri Horrein
3c849d7ce0
Generate SELRANGE instead of errors for potentially unreachable code ( #2625 ) ( #2754 )
...
When using a "if" statement inside an always block, part of the code may
be unreachable. This can be used to avoid errors, but it generated an
error, this commit demotes this to a warning. Partly fixes #2625 .
2021-01-15 07:31:48 -05:00
Wilson Snyder
fb2c243fc7
Build cmake examples with -j
2021-01-13 20:02:21 -05:00
Wilson Snyder
3bb8fbe73b
Internal coverage improvements
2021-01-13 20:01:10 -05:00
Wilson Snyder
ab5d4bd51d
Tests: Abstract out common test comparison
2021-01-12 18:31:23 -05:00
Wilson Snyder
bcf9abf490
Internals: Var rename. No functional change.
2021-01-11 22:42:14 -05:00
Philipp Wagner
b7c26dbea9
Fix to include limits header for std::numeric_limits ( #2747 )
...
Code using `std::numeric_limits` wasn't including the limits header,
leading to a compilation error in Fedora Rawhide (GCC 11.0).
2021-01-11 11:23:54 -05:00
github action
4f1867a4f8
Apply clang-format
2021-01-11 03:55:27 +00:00
Wilson Snyder
bd551a7444
Internals: Convert bisonpre to python3
2021-01-10 22:53:59 -05:00
Wilson Snyder
d4d9e12b66
CI: Fix coverage action (install systemc)
2021-01-10 19:45:43 -05:00
Wilson Snyder
6060acc73d
CI: Fix coverage action
2021-01-10 19:15:39 -05:00
Wilson Snyder
e972668169
CI: Fix coverage action
2021-01-10 18:55:56 -05:00
Wilson Snyder
945496d6d9
devel release
2021-01-10 13:36:46 -05:00
Wilson Snyder
484b76e5b3
Version bump
2021-01-10 13:34:59 -05:00
Wilson Snyder
801d850724
Commentary
2021-01-10 13:14:25 -05:00
Paul Wright
769c0fa318
Fix to ignore coverage on real ports ( #2741 ) ( #2745 )
2021-01-10 12:40:03 -05:00
Julien Margetts
a11700271f
Add LATCH and NOLATCH warnings ( #1609 ) ( #2740 ).
2021-01-05 14:26:01 -05:00
Wilson Snyder
6d80e8f856
Test update
2021-01-05 09:04:31 -05:00
Wilson Snyder
f57c72e5db
clang-format
2021-01-03 12:01:14 -05:00
Wilson Snyder
7eeb930c72
examples: Use unique_ptr
2021-01-03 11:54:43 -05:00
Yutetsu TAKATSUKASA
5b280c1911
Fix hierarchical verilation with explicit setting of default parameter value ( #2738 )
...
* Test hierarchical block that is explicitly set its default parameter value.
* Fix hierarchical verilation when a hierarchical block is instantiated with explicit setting of the default value.
Parameterized hierarchical block must have mangled name even when all parameters have default value,
otherwise the parameterized module will be hidden by protect-lib wrapper.
* rename variable names. No functional change is intended.
2021-01-03 12:19:37 +09:00
Wilson Snyder
1a073fbf5e
Fix vpiLeftRange on little-endian memories ( #2696 ).
2021-01-02 22:00:13 -05:00
Wilson Snyder
83d978c2cd
Fix generate for unrolling to be signed ( #2730 ).
2021-01-02 21:43:13 -05:00
Wilson Snyder
a17e2375b3
CI: Need flexlexer for internal coverage testrun
2021-01-02 21:42:41 -05:00
Yutetsu TAKATSUKASA
c0a6858c42
Refactor V3Param ( #2736 )
...
* Use unique_ptr to manage lifetime. Slightly changed variable name. No functional change is intended.
* Let ParameterizedHierBlocks::areSame() public. No functional change is intended.
2021-01-03 07:21:45 +09:00
Yutetsu TAKATSUKASA and Wilson Snyder
7a18adc716
Emit timescale in hierarchical block only when timescale is specified ( #2735 )
...
* Add a test for hierarchical verilation without timescale
* Emit timeunit in hierarchical wrapper only when it is specified in the input design or command line option.
* Update src/V3AstNodes.h
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
2021-01-02 08:31:27 +09:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
72b2df30f8
Fix tracing empty sc module ( #2729 ).
2020-12-28 11:13:58 -05:00
Wilson Snyder
d6c5d31dcd
docker: Use sed to avoid perl
2020-12-23 19:23:23 -05:00
Wilson Snyder
84c323188e
Internals: yapf reformat vlcovgen. No functional change.
2020-12-23 19:17:46 -05:00
Wilson Snyder
cbd1bd5dad
Tests: Fix some VPI coverage holes
2020-12-23 19:15:00 -05:00
Wilson Snyder
97255dc835
Tests: Test future if condition optimization ( #2726 )
2020-12-23 18:23:47 -05:00
Wilson Snyder
9f8b17230a
Cleanup extra space on 'VlWide<...>>'
2020-12-23 18:09:12 -05:00
Wilson Snyder
93476a7372
Internals: Convert vlcovgen to python3. No functional change.
2020-12-23 16:54:05 -05:00
Wilson Snyder
b8b9170f9d
Remove Unix::Processors dependency
2020-12-23 16:07:14 -05:00
Wilson Snyder
575539996b
Fix manifest for src/config_rev in last commit
2020-12-23 16:07:04 -05:00
Wilson Snyder
922eab5f93
Internals: Convert config_rev, cppcheck_filtered, flexfix to python3
2020-12-23 15:41:14 -05:00
Wilson Snyder
b7a533109d
Fix cppcheck warnings. No functional change intended.
2020-12-23 15:22:02 -05:00
Wilson Snyder
941e5c659a
Fix cppcheck parse error
2020-12-23 15:22:02 -05:00
Unai Martinez-Corral
e37a93bffb
CI: (fix) check that CCACHE_DIR is set, before execing mkdir
2020-12-23 19:52:37 +01:00
Unai Martinez-Corral and Wilson Snyder
6e3de7bfd1
CI: exploit concurrency ( #2687 )
...
Co-authored-by: Wilson Snyder <[email protected] >
2020-12-23 18:53:05 +01:00
Nandu Raj
1124829500
Fix $urandom_range maximum value ( #2723 )
2020-12-22 07:52:38 -05:00
Yutetsu TAKATSUKASA
4096dee598
Use files from gtkwave3-gtk3, not from gtkwave3 ( #2718 )
2020-12-21 07:06:03 +09:00
HyungKi Jeong
36f41e08a5
Fix to allow inheriting 'VerilatedVcdFile' class. ( #2720 )
2020-12-20 12:18:09 -05:00
Wilson Snyder
28ff71b1bf
Internals: Misc refactoring from dcache branch. No functional change.
2020-12-19 20:46:10 -05:00
Wilson Snyder
db276946b4
Internals: Convert internal code_coverage to python3.
2020-12-19 20:29:09 -05:00
Wilson Snyder
beb03be731
Internals: convert install_test and dot_importer to python3.
2020-12-19 12:48:22 -05:00
Wilson Snyder
b93e409f0e
Optimize additional display statements ( #2702 ).
2020-12-19 11:12:47 -05:00
Yutetsu TAKATSUKASA
788de3ad24
CI: Enable address sanitizer for vlt tests. ( #2715 )
2020-12-19 11:12:15 -05:00
Yutetsu TAKATSUKASA
cb4ddd3213
Update files from GTKWave f119b35816e605e753fc1a24ae121a3787615b26 ( #2716 )
2020-12-19 09:13:18 -05:00
Wilson Snyder
7e94b3a4fa
Examples: Explicitly refer to PYTHON3 not PYTHON
2020-12-18 23:07:21 -05:00
Wilson Snyder
ca9bdc6e70
Tests: Ignore github action commits
2020-12-18 23:06:42 -05:00
github action
37ebc6e634
Apply clang-format
2020-12-19 03:55:46 +00:00
Wilson Snyder
457e926168
Use yapf3 and add to CI
2020-12-18 22:54:06 -05:00
Wilson Snyder
ec4e408b2b
Add yapf and reformat python code
2020-12-18 22:34:14 -05:00
Wilson Snyder
a16ebaf79c
Remove some stale and unsupported maintainer utilities
2020-12-18 21:57:48 -05:00
Wilson Snyder
1e34ae31d2
Fix vpi_release_handle to be called implicitly per IEEE ( #2706 ).
2020-12-18 21:16:57 -05:00
Wilson Snyder
43811821d6
Backout GTKwave update 7deac509c6
2020-12-18 21:03:02 -05:00
Wilson Snyder
3797b5bca1
Check for vpi_release_handle even when no VL_DEBUG
2020-12-18 20:46:43 -05:00
Wilson Snyder
7deac509c6
GTKwave updates from upstream.
2020-12-18 19:33:57 -05:00
Wilson Snyder
c39a8b439a
Internals: Use emplace instead of insert(make_pair(...)). No functional change intended.
2020-12-18 18:24:47 -05:00
Wilson Snyder
d0c4aee7b5
Tests: clang-format
2020-12-17 22:44:50 -05:00
Todd Strader
a88965a124
Fix scope map for multiple construction ( #2710 )
2020-12-17 12:21:40 -05:00
James Hanlon and James Hanlon
c18cbca813
Add support for package imports preceeding parameters in interfaces ( #2714 )
...
Co-authored-by: James Hanlon <[email protected] >
2020-12-17 11:26:53 -05:00
Yutetsu TAKATSUKASA
e4eab56495
Add a workflow that calls clang-format and commit. ( #2713 )
...
* Add a workflow that calls clang-format and commit.
2020-12-17 23:41:10 +09:00
Wilson Snyder
deb5531e54
Tests: Make explicit some IEEE-mandated freeing of VPI handles
2020-12-16 20:57:02 -05:00
Wilson Snyder
9bb353c577
Tests: Make explicit some IEEE-mandated freeing of VPI handles
2020-12-16 20:36:04 -05:00
Wilson Snyder
a816c2b75e
Tests: Fix hardcoded path in last test
2020-12-16 19:38:35 -05:00
Wilson Snyder
ff702174d8
Report double calls to vpi_release_handle when using VL_DEBUG
2020-12-16 19:10:17 -05:00
Wilson Snyder
d5d6598d75
Internals: spacing
2020-12-16 19:08:10 -05:00
Wilson Snyder
0abf18f618
Fix supporting begin_keywords 1364-2001-noconfig
2020-12-16 18:40:45 -05:00
Wilson Snyder
6adda241c9
Fix $urandom_range with no second argument
2020-12-16 18:34:49 -05:00
Yutetsu TAKATSUKASA
ce9293fcb3
Fix memory leaks found in trace related tests ( #2708 )
...
* Fix memory leak of t_trace_cat and t_trace_cat_renew
* Fix memory leak of t_trace_c_api
* Fix memory leak in t_trace_public_func and t_trace_public_func_vlt
* Fix memory leaks in t_flat_build (and probably more).
* Use unique_ptr in testcases
2020-12-17 08:31:47 +09:00
Wilson Snyder
d6168f654e
Update contributor URL ( #2711 )
2020-12-16 18:02:54 -05:00
Yutetsu TAKATSUKASA
738ee3d4eb
Fix memory leaks when using shared protect-lib ( #2707 )
...
* Guarantee mechanism to initialize just once is now in VerilatedInitializer. No functional change is intended.
* Make sure to initialize Verilated::NonInitialized just once. Fixes
memory leak in t_prot_lib_shared and t_hier_block_prot_lib_shared.
* Call setup() and teardown() of Verilated::NonSerialized.
2020-12-16 12:30:58 -05:00
Todd Strader
b75901b3eb
Fix VPI module tree ( #2704 )
2020-12-16 11:46:57 -05:00
Yutetsu TAKATSUKASA
f98782c061
Tests: Fix use-after-free in fst testcases ( #2709 )
2020-12-16 10:00:13 -05:00
Wilson Snyder
3039735648
Tests: Fix various test leaks ( #2703 ).
2020-12-15 23:12:13 -05:00
Wilson Snyder
c00c26c705
Remove some comments emitted in output.
...
* Comments were disabling some optimizations.
* Suspect rarely referred to.
* Sometimes incorrectly placed due to other optimizations.
2020-12-15 22:55:17 -05:00
Wilson Snyder
084ba6711b
Tests: Fix various test leaks ( #2703 ).
2020-12-15 22:09:40 -05:00
Wilson Snyder
c54360485e
Fix over-iterating dpi dimensions ( #2703 ).
2020-12-15 22:09:24 -05:00
Yutetsu TAKATSUKASA
d9ef4ac435
Rename --asan to --sanitize ( #2705 )
2020-12-15 21:07:27 -05:00
Yutetsu TAKATSUKASA and Wilson Snyder
176cc5a196
Add --asan option that enables address sanitizer to the test driver ( #2700 )
...
* Experimentally add --vltasan which enables address sanitizer
Co-authored-by: Wilson Snyder <[email protected] >
2020-12-16 07:33:26 +09:00
Yutetsu TAKATSUKASA
7821da6ad5
Fix DPI-C and protect-lib if port is implicit logic ( #2699 )
2020-12-15 09:51:14 -05:00
Wilson Snyder
5ee30e271e
When combine functions, favor keeping non-slow name.
2020-12-13 21:53:55 -05:00
Wilson Snyder
4ce48788c5
Always use verilated_heavy ( #2701 ).
...
On test suite adds ~7% runtime but will simplify logic and enable some
future changes.
Most large designs I saw were already using verilated_heavy as were using
strings, queues, associative arrays, classes, $readmem, $writemem, or
$valueplusargs.
2020-12-13 19:40:05 -05:00
Wilson Snyder
3590f7e206
Remove unused VL_DISABLE_INTRINSICS, use VL_PORTABLE_ONLY instead
2020-12-13 19:14:09 -05:00
Wilson Snyder
882b310897
Fix little endian packed array counting ( #2499 ).
2020-12-13 16:23:59 -05:00
Wilson Snyder
82fc142c1c
Add error on real to non-real output pins ( #2690 ).
2020-12-13 13:33:48 -05:00
Wilson Snyder
5898c22b3b
Internals: Cleanup variables for pin interconnection
2020-12-13 13:22:42 -05:00
Yutetsu TAKATSUKASA
13e88106da
Internals:Cleanup dpiTypesToStringConverter. No functional change is intended. ( #2698 )
2020-12-13 16:05:06 +09:00
Marlon James
457d1a66f2
Fix VPI memory word indexing ( #2695 )
...
* Test that indexing into memory word fails
* VPI: don't index into memory word
Memory and memory words share a VerilatedVar, so check for memory word before attempting to index.
2020-12-12 22:47:47 -05:00
Wilson Snyder
b04a1caeac
In warnings, rename cells to instances to match IEEE
2020-12-12 22:43:55 -05:00
Wilson Snyder
53c4c7d540
Fix error format ( #2095 ).
2020-12-12 22:26:50 -05:00
Wilson Snyder
fb689bbb19
Fix clang warning, recent change
2020-12-12 22:16:10 -05:00
Wilson Snyder
e2e3cc8463
Better error on inside on unpacked, queues, etc ( #2566 )
2020-12-12 21:20:42 -05:00
Wilson Snyder
6061744c4d
Tests: Add t_dynarray_unpacked ( #2314 )
2020-12-12 20:56:35 -05:00
Wilson Snyder
8e25d2c61d
Commentary ( #2095 ).
2020-12-12 20:26:50 -05:00
Wilson Snyder
18f8c8a14f
Fix error when dotted refers to missing module ( #2095 ).
2020-12-12 20:25:00 -05:00
Wilson Snyder
44765e03a3
Internals: clang-format
2020-12-12 20:22:28 -05:00
Wilson Snyder
3f119f5647
Fix --no-decoration to turn off DPI import/export locations
2020-12-12 19:33:18 -05:00
Wilson Snyder
517fdb7587
Support queue of arrays
2020-12-12 19:19:32 -05:00
Wilson Snyder
0ca72f8098
For debug build, mv to prevent text busy error durring regression
2020-12-12 19:19:32 -05:00
Yutetsu TAKATSUKASA
28d139149a
Test: Add unpacked array of 1 bit wire to DPI tests ( #2694 )
2020-12-13 07:28:37 +09:00
Wilson Snyder
81ce2cbc05
Internals: Params cleanups in prep for dedot.
2020-12-12 15:48:10 -05:00
Wilson Snyder
d7af6436a2
Fix genblk naming to match IEEE ( #2686 ).
2020-12-12 12:57:11 -05:00
Yutetsu TAKATSUKASA
c80ca8d03e
Test: Use non-blocking assignment as DRIVE macro does in t_prot_lib ( #2693 )
2020-12-12 23:07:12 +09:00
Wilson Snyder
93304f3b82
Internals: Reorder library code. No functional change.
2020-12-12 08:58:03 -05:00
Marlon James
30546afdab
Fix VPI range iterator null return ( #2691 )
...
* Test that range iterator exhausts after 1 dimension
* Separate range iterator from range object
Range iterators should return NULL after all ranges have been returned
2020-12-12 08:11:08 -05:00
Wilson Snyder
82d8fe0c27
Internal coverage fixes
2020-12-10 22:01:56 -05:00
Wilson Snyder
4db673b2ff
ci: Fix Ubuntu-18.04/16.04 runs
2020-12-10 20:22:00 -05:00
Wilson Snyder
a5fa468343
Fix cast from packed structs, broke with $cast ( #2684 )
2020-12-10 18:36:06 -05:00
Wilson Snyder
2df1b72ce2
CI: Add separate contributors action ( #2689 )
2020-12-10 18:12:26 -05:00
Unai Martinez-Corral
2998890647
CI: remove unused 'ci-ccache-size.bash' ( #2688 )
2020-12-10 15:59:31 -05:00
Unai Martinez-Corral
8e178ca4a9
CI: Misc style cleanups ( #2683 )
2020-12-10 12:33:26 -05:00
Unai Martinez-Corral
d94a8a28fa
Fix Windows msys2, define WEXITSTATUS ( #2685 )
2020-12-10 12:20:54 -05:00
Unai Martinez-Corral
9a32158b5e
CI: Cleanup ci/coverage to use a matrix to define coverage jobs ( #2682 )
...
* contributors: add Unai Martinez-Corral
* ci/coverage: use a matrix to define coverage jobs
2020-12-10 11:15:30 -05:00
Wilson Snyder
b15dd3f898
Commentary
2020-12-10 09:06:01 -05:00
Wilson Snyder
af0e535015
Internals: Remove Xnor node type.
...
Convert to Not(Xor(x)) up front, to help code coverage and optimize out extra nots sooner.
2020-12-10 00:04:10 -05:00
Wilson Snyder
5b2844e1be
Fix instability in last commit from dangling deletes.
2020-12-09 23:57:40 -05:00
Wilson Snyder
53ce708294
Fix showing reference locations for BLKANDNBLK ( #2170 ).
2020-12-09 23:07:11 -05:00
Wilson Snyder
a1322635fd
Internal coverage improvements
2020-12-09 22:32:09 -05:00
Wilson Snyder
ab4ad9965c
Fix DPI open array handling issues, and do internal coverage ( #2350 ).
2020-12-09 22:15:34 -05:00
Wilson Snyder
2273fa62d9
CI: coverage action parallelism
2020-12-09 22:12:04 -05:00
Wilson Snyder
cca874dc83
CI: coverage action parallelism
2020-12-09 21:35:48 -05:00
Wilson Snyder
274475aefd
CI: coverage action parallelism
2020-12-09 21:33:22 -05:00
Wilson Snyder
a91cf18d09
CI: coverage action parallelism
2020-12-09 21:30:31 -05:00
Wilson Snyder
a7723ee9a5
CI: coverage action parallelism
2020-12-09 21:13:09 -05:00
Wilson Snyder
28ee80c310
CI: coverage action parallelism
2020-12-09 21:10:34 -05:00
Wilson Snyder
26da90ffce
CI: coverage action parallelism
2020-12-09 20:57:17 -05:00
Wilson Snyder
9eb211a8d4
CI: coverage action parallelism
2020-12-09 20:55:01 -05:00
Wilson Snyder
75c2884fea
CI: coverage action parallelism
2020-12-09 20:54:06 -05:00
Wilson Snyder
f49f86c7ce
CI: coverage action parallelism
2020-12-09 20:47:02 -05:00
Wilson Snyder
a1989161d8
CI: coverage action parallelism
2020-12-09 20:38:41 -05:00
Wilson Snyder
f11fa61ecf
CI: coverage action parallelism
2020-12-09 20:37:11 -05:00
Wilson Snyder
9a904b97b2
CI: coverage action parallelism
2020-12-09 20:30:18 -05:00
Wilson Snyder
7d05be802d
Misc internal coverage hole and related bug fixes
2020-12-09 19:18:12 -05:00
Krzysztof Bieganski
5e7b0d526d
Support 'randc' as alias to 'rand' ( #2680 )
...
* Add alias 'randc' to 'rand'
* Make the 'RANDC' warning; add tests
2020-12-09 19:17:30 -05:00
Yutetsu TAKATSUKASA
ff3d35ca61
Support unpacked array port in protect-lib and hierarchical verilation ( #2672 )
...
* Add a test to use unpacked array port in hierarchical verilation and protect-lib.
* V3EmitV supports unpacked array variables
* Can Emit local unpacked array properly
* Update golden of t_debug_emitv
* Support unpacked array port in protect-lib
* Remove t_prot_lib_unpacked_bad test as unpacked array is supported now.
2020-12-09 08:29:45 +09:00
Wilson Snyder
c23de458ed
Misc internal coverage cleanups
2020-12-08 08:40:22 -05:00
Wilson Snyder
90e0c9bdcd
CI: internal coverage updates
2020-12-08 08:00:24 -05:00
Wilson Snyder
7892c5af13
Tests: Fix fstrobe instability
2020-12-08 07:49:48 -05:00
Wilson Snyder
0a0e4dce09
Internal coverage: default VERILATOR_ROOT setting.
2020-12-08 07:12:57 -05:00
Wilson Snyder
8e06b1e925
Misc internal coverage cleanups
2020-12-07 23:15:29 -05:00
Wilson Snyder
a15540dfdd
Tests: Add coverage github action
2020-12-07 21:57:10 -05:00
Wilson Snyder
3c680ddf22
Tests: Test some warnings without tests.
2020-12-07 20:30:16 -05:00
Wilson Snyder
47eeef485d
Report UNUSED on parameters, localparam and genvars ( #2627 ).
2020-12-07 19:49:50 -05:00
Wilson Snyder
251812638d
Internals: Rename accessor. No functional change.
2020-12-07 18:50:31 -05:00
Krzysztof Bieganski
cf7ea06b5d
Support randomize() class method and rand
2020-12-07 17:55:22 -05:00
Wilson Snyder
cd248f6bd7
Internals: Make consistent left/right/lo/hi accessors to ranges.
...
Change order of Range to store always left:right.
XML output changes to now show left:right (previously info was lost), no other change intended.
2020-12-06 21:13:56 -05:00
Wilson Snyder
b32d530000
Error message cleanup
2020-12-06 20:33:08 -05:00
Wilson Snyder
570631380b
Internal: Misc cleanups. No functional change intended.
2020-12-06 13:49:44 -05:00
Wilson Snyder
d5f88cbf78
Tests: Rename some tests.
2020-12-06 11:37:56 -05:00
Wilson Snyder
74ef35d3b3
Support $cast and new CASTCONST warning.
2020-12-05 22:58:36 -05:00
Wilson Snyder
8b8ebb0e43
Internals: Use restorer. No functional change.
2020-12-05 22:21:30 -05:00
Yutetsu TAKATSUKASA
301b4ff1ad
Internals: Introduce TaskDpiUtils in V3Task ( #2670 )
...
* Internals:Simplify V3Task.cpp. no functional change intended
* Internals:Introduce TaskDpiUtils in V3Task.cpp. No functional change intended
2020-12-06 12:09:48 +09:00
Yutetsu TAKATSUKASA
5476ff93e2
Ignore some files generated by modelsim ( #2669 )
2020-12-05 21:55:56 -05:00
Yutetsu TAKATSUKASA
375ea169b9
Internals: Apply verilog-mode. No functional change is intended. ( #2671 )
2020-12-05 21:55:06 -05:00
Wilson Snyder
9c2785b49b
Internals: Swap lhs/rhs $cast args.
2020-12-05 17:11:00 -05:00
Wilson Snyder
8582aed66a
Add --top option as alias of --top-module.
2020-12-05 16:58:17 -05:00
Wilson Snyder
9bd5cd4ef3
Internals: Track null separately from '0
2020-12-05 16:49:10 -05:00
Wilson Snyder
f858dd44ac
Fix :: references to forward classes
2020-12-05 16:23:20 -05:00
Wilson Snyder
e69736124f
Debug: Less verbose link.
2020-12-05 16:16:37 -05:00
Wilson Snyder
f0e691a1b8
Handle unsupported parameters through link phase
2020-12-05 11:30:14 -05:00
Wilson Snyder
5fb834e41e
Fix passing parameter type instantiations by position number.
2020-12-05 11:00:30 -05:00
Yutetsu TAKATSUKASA
7f6d4ac359
Use both gcc and clang in CI ( #2667 )
...
* Remove remaining TRAVIS_ variable
* Use both gcc and clang.
2020-12-05 12:36:04 +09:00
Wilson Snyder
666d0ab552
Standard YAML spacing is 2 spaces.
2020-12-04 17:39:53 -05:00
Wilson Snyder
b9f2400d17
Rename workflow to appease badges
2020-12-04 17:11:00 -05:00
Wilson Snyder
85b2c6b6c7
Github actions badge fix
2020-12-04 17:06:18 -05:00
Yutetsu TAKATSUKASA and Wilson Snyder
73a7595335
Add the initial version of CI using GitHub Actions ( #2665 )
...
* Add the initial version of CI using GitHub Actions
* Update .github/workflows/check_pr.yml
Co-authored-by: Wilson Snyder <[email protected] >
* remove setting for travis
* rename travis-*.bash to ci-*.bash
* Rename TRAVIS_ variables to CI_
* install ccache and libsystemc(-dev) in ci-install.bash
* Use CI_ variables and Ubuntu-20.04 that provides SystemC
* call ccache maintenance
Co-authored-by: Wilson Snyder <[email protected] >
2020-12-05 00:30:46 +09:00
Wilson Snyder
38c6085f54
devel release
2020-12-02 20:19:04 -05:00
Wilson Snyder
b350b6a0ff
Version bump
2020-12-02 20:09:23 -05:00
Wilson Snyder
80564a8f89
Remove vgen test to avoid Bit::Vector for testing.
2020-12-02 20:06:07 -05:00
Yuri Victorovich
016611021d
Fix the default GNU Make executable name on FreeBSD ( #2553 )
2020-12-02 19:27:53 -05:00
Wilson Snyder
fa20614277
Fix Ubuntu 16.04 LTS warning
2020-12-02 19:20:03 -05:00
Wilson Snyder
1e69167191
Internals: Move function in V3Width. No functional change.
2020-12-02 18:51:29 -05:00
Wilson Snyder
faa5edc068
Add TspStateBase destructor ( #2620 ).
2020-12-02 07:37:34 -05:00
Wilson Snyder
e3c32adad4
Rename static/thread misnamed variables. No functional change.
2020-12-01 19:32:01 -05:00
Wilson Snyder
b054d937cb
Rename static/thread misnamed variables. No functional change.
2020-12-01 19:01:20 -05:00
Wilson Snyder
212e8fb14b
Internals: Cleanup some inlines, use constexpr. No functional change intended.
2020-12-01 18:49:03 -05:00
Wilson Snyder
014e43f0ef
Reset index counts on clearing verilated_cov (static removal)
2020-12-01 18:30:25 -05:00
Wilson Snyder
d21b4e3fc7
Internal cast preparatory cleanups.
2020-11-29 18:26:06 -05:00
Wilson Snyder
0818d88113
Tests: Cast enum test
2020-11-29 16:59:08 -05:00
Wilson Snyder
77ec2dc875
Internals: Rename some CI comments
2020-11-29 15:06:29 -05:00
Wilson Snyder
665e8edaff
Support $monitor and $strobe.
2020-11-29 11:31:38 -05:00
Wilson Snyder
67103d346b
Fix $fwriteh/$fwriteo
2020-11-29 10:53:44 -05:00
Wilson Snyder
aebb54444e
Internals: Favor NodeProcedure. No functional change intended.
2020-11-29 09:50:30 -05:00
Wilson Snyder
a54ac52a35
Internals: Use 'Bit' where mean 2-state type. No functional change.
2020-11-29 08:23:36 -05:00
Wilson Snyder
aa360052a8
Internals: Code movement, no functional change.
2020-11-28 22:01:11 -05:00
Wilson Snyder
e09f039a36
Internals: Remove dead code. No functional change.
2020-11-28 21:43:37 -05:00
Wilson Snyder
ff262fc4fb
Support type(t) static casting
2020-11-28 17:29:21 -05:00
Wilson Snyder
9a9931fb9d
Support complex function arguments.
2020-11-28 13:46:14 -05:00
Wilson Snyder
30686d8550
Support passing of objects to functions
2020-11-28 12:43:24 -05:00
Wilson Snyder
05f3fd7c6e
Fix class new with math.
2020-11-28 12:26:44 -05:00
Wilson Snyder
e14319b401
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-28 12:04:29 -05:00
Wilson Snyder
1299b70945
Internals: Pass class parameters through link.
2020-11-27 22:48:42 -05:00
Wilson Snyder
cf2810db8b
Change -sv option to select 1800-2017 instead of 1800-2005.
2020-11-27 21:49:47 -05:00
Wilson Snyder
d77beecc6e
Fix $countbits(..., 'z)
2020-11-27 21:34:40 -05:00
Wilson Snyder
0c6bd42da3
Fix $countbits(..., 'x)
2020-11-27 20:51:32 -05:00
Wilson Snyder
5091298fae
Internals: Cleanup V3Unknown. No functional change intended.
2020-11-27 20:25:02 -05:00
Wilson Snyder
cef7610b14
Fix crash on virtual interfaces.
2020-11-27 20:02:17 -05:00
Wilson Snyder
ed268805ce
Lint check for pure virtual in non-virtual class.
2020-11-27 19:53:04 -05:00
Wilson Snyder
123d1af29d
Fix crash on non-class static function
2020-11-27 14:58:50 -05:00
Wilson Snyder
cc307626c0
Tests: Add class name test.
2020-11-27 10:34:31 -05:00
Wilson Snyder
963fd0664d
Fix class-in-module issues
2020-11-27 09:42:51 -05:00
Wilson Snyder
4643d6e883
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:17:44 -05:00
Wilson Snyder
d89fc05da1
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:04:56 -05:00
Wilson Snyder
84d7380588
Internals: Param immediate delete, in prep for next commit. No functional change intended.
2020-11-27 08:50:29 -05:00
Wilson Snyder
04febb1944
Internals: Move V3Param code. No functional change.
2020-11-26 15:03:55 -05:00
Wilson Snyder
d56b923eaa
Fix 'randomize() with {}' crash
2020-11-26 11:50:50 -05:00
Wilson Snyder
a37866ee92
Support 'super'.
2020-11-26 11:06:59 -05:00
Wilson Snyder
1a92a44c7d
Internals: Assert on misexpected 'new'.
2020-11-26 09:38:47 -05:00
Wilson Snyder
60a1d25a96
Fix extern function member references.
2020-11-26 08:55:32 -05:00
Wilson Snyder
ad21f2e850
Fix 'this' in extern functions.
2020-11-26 08:28:53 -05:00
Wilson Snyder
ffbae97a3d
Tests: Make t_lint_syncasyncnet_bad etc tolerate -Oi.
2020-11-25 21:54:50 -05:00
Wilson Snyder
380137a402
Fix internal pointer shown on CLKDATA warnings
2020-11-25 21:34:56 -05:00
Wilson Snyder
ac2058c7ec
Tests: Fix t_unopt_combo_waive with -Oi
2020-11-25 21:18:13 -05:00
Wilson Snyder
de931d6a97
Fix LHS is not a lvalue when using tristate with -Oi.
2020-11-25 21:09:25 -05:00
Wilson Snyder
f2d8e45d72
For performance, use unordered_set/map where possible. No functional change intended.
2020-11-25 20:57:30 -05:00
Wilson Snyder
085ef5fc05
Fix extern function var refs getting errors.
2020-11-25 20:05:44 -05:00
Wilson Snyder
6095efd84e
Check for proper 'local' and 'protected' ( #2228 ).
2020-11-25 07:03:01 -05:00
Wilson Snyder
114ab1378f
Internals: Track class package on membersels
2020-11-24 23:36:09 -05:00
Wilson Snyder
8622c754b7
Fix unstable statistic
2020-11-24 23:35:44 -05:00
Wilson Snyder
bf24fa9478
Fix access to non-overridden base class variable ( #2654 ).
2020-11-24 22:46:02 -05:00
Wilson Snyder
e1c45440fc
Internals: Rename packagep(). No functional change.
2020-11-24 21:56:03 -05:00
Wilson Snyder
b0cb43b2f2
Fix not iterating some extended classes depending on declaration order.
2020-11-24 21:41:32 -05:00
Wilson Snyder
dc1f44840d
Internals: Fix not clearing packagep on some assignments. Should affect assertions only.
2020-11-24 21:34:11 -05:00
Wilson Snyder
fd21a41acd
Internals: Minor cleanups before class fix ( #2654 ). No functional change intended.
2020-11-24 21:28:26 -05:00
Wilson Snyder
cf09a9b6d2
Commentary
2020-11-24 18:45:36 -05:00
Wilson Snyder
dc306cf371
Internal debug: avoid segflt with gdb "pnt"
2020-11-24 18:35:12 -05:00
Wilson Snyder
35374f09b4
Add error on class extending itself
2020-11-24 18:15:49 -05:00
Wilson Snyder
e85a2e860e
Support 'with item.index'.
2020-11-23 23:18:58 -05:00
Wilson Snyder
103ba1fb6d
Commentary
2020-11-20 21:48:11 -05:00
Wilson Snyder
b684995292
Support $random and $urandom seeds.
2020-11-19 21:32:33 -05:00
Wilson Snyder
c371a63d41
Internals: Fix missing final. No functional change.
2020-11-19 08:23:15 -05:00
Yutetsu TAKATSUKASA
0102efd4ea
Support unpacked array in DPI-C ( #2648 )
...
* Add tests for unpacked array in DPI-C
* Add more generic parameter generator to AstNodes
* Supports multi dimensional array in DPI ( DPI argmuments <=> Verilator internal type conversion)
consider typedef in V3Task
fix export test
fix inout for scalar
support export func of time
* V3Premit does not show an error for wide words nor ArraySel
* Unnecessary pack func for unapcked array does not appear anymore
* Support unpacked array in runtime header
- Add an overload for lvalue VL_CVT_PACK_STR_NN
- Allow conversion from void *
* touch up tests for codacy advices
* resolve free functions. no functional change intended.
2020-11-19 22:02:58 +09:00
Wilson Snyder
abfee1270f
Improve internal code coverage
2020-11-18 22:21:48 -05:00
Wilson Snyder
5992d678be
Fix clang error, broke last commit.
2020-11-18 22:18:29 -05:00
Wilson Snyder
b6ded59c2b
Internals: Use and enforce class final for ~5% performance boost.
2020-11-18 21:32:16 -05:00
Wilson Snyder
c0888c1b0f
Internals: Use newline instead of endl to avoid unneeded flush.
2020-11-18 21:03:23 -05:00
Wilson Snyder
fa77141519
Fix unpacked array parameters near functions ( #2639 ).
2020-11-18 20:12:14 -05:00
Wilson Snyder
b3760911e7
Internals: Param minor cleanups. No functional change intended.
2020-11-18 19:50:47 -05:00
Yutetsu TAKATSUKASA
b500e57991
Add an overload of VL_CVT_PACK_STR_NN for lvalue ( #2651 )
2020-11-19 06:52:03 +09:00
Yutetsu TAKATSUKASA
19e4013ab5
Allow conversion from const void * to QData ( #2650 )
2020-11-18 23:44:45 +09:00
Wilson Snyder
82b2af3b83
Commentary
2020-11-17 22:48:37 -05:00
Wilson Snyder
e6f7510895
Add check for rand_mode/constraint_mode.
2020-11-17 22:14:18 -05:00
Wilson Snyder
2f718b9ea0
Show IEEE reference in array port message, plus internal cleanups.
2020-11-17 21:10:50 -05:00
Marlon James
899e7bacb2
Fix VPI callback list iteration ( #2644 )
...
The end iterator always points to an element past the end of the list.
When new elements are added to the back of the list, they are inserted
before the end iterator.
Instead, track the last element in the list at the start of processing
and stop after it's been processed.
2020-11-17 17:19:51 -05:00
Tomasz Gorochowik
5b3717b369
Tests: Memory clean up in tests ( #2645 )
...
This patch normalizes what the tests do before exiting. After this
change each test should call final on the top module and explicitly
free the top module object before exiting.
2020-11-17 06:37:55 -05:00
Wilson Snyder
1e7c61b23e
Internals: Refactor huge func in V3Param. No functional change intended.
2020-11-16 22:35:51 -05:00
Marlon James
0e1e380a55
Fix test for callCbs() so it can fail ( #2613 )
2020-11-16 21:00:09 -05:00
Wilson Snyder
1b0a48ea02
Internals: Use C++11 = default where obvious. No functional change intended.
2020-11-16 19:56:16 -05:00
Wilson Snyder
70b3a599ce
Fix trace signal names getting hashed ( #2643 ).
2020-11-16 18:11:27 -05:00
Wilson Snyder
26c0e6ba00
Fix missing array include.
2020-11-16 07:31:12 -05:00
Wilson Snyder
efc6fb7fc3
Internals: Better pack AstNode. No functional change.
2020-11-15 22:03:06 -05:00
Wilson Snyder
b68038a73f
clang-tidy fix. No functional change.
2020-11-15 17:23:02 -05:00
Wilson Snyder
f4ef4ad9f3
Internals: Favor std::array where easy. No functional change intended.
2020-11-15 16:21:26 -05:00
Wilson Snyder
f6f7684ccd
Internal member initialization. No functional change intended.
2020-11-15 15:40:35 -05:00
Wilson Snyder
e74cc32f2d
Add internal assertion that VarScopes properly formed.
2020-11-14 16:13:06 -05:00
Wilson Snyder
c64cc989f0
verilator_gantt: Show CPU physical info.
2020-11-14 12:22:15 -05:00
Wilson Snyder
f94fcaa8e4
Move YYDEBUG into header. No functional change intended.
2020-11-14 10:20:27 -05:00
Wilson Snyder
297b297bc7
devel release
2020-11-14 10:00:01 -05:00
Wilson Snyder
02cb3d17a2
Version bump
2020-11-14 09:50:30 -05:00
Wilson Snyder
c3cfaf55ed
Commentary
2020-11-14 09:26:38 -05:00
Wilson Snyder
3e7013af31
Internal scope cleanup. No functional change.
2020-11-13 21:12:18 -05:00
Wilson Snyder
f7a5883205
Internals: assert not double adding. No functional change intended.
2020-11-13 21:12:03 -05:00
Wilson Snyder
5d3482734a
Fix precision in verilator_gantt.
2020-11-13 18:51:45 -05:00
Yutetsu TAKATSUKASA
e8c03650ae
Fix internal error if always block without begin-end has concat ( #2640 ) ( #2641 )
2020-11-13 09:50:09 -05:00
Wilson Snyder
7eac788306
Add error on using :: with module
2020-11-12 19:45:26 -05:00
Wilson Snyder
6a58e67699
Commentary
2020-11-12 19:31:53 -05:00
Wilson Snyder
b49be06a5a
Tests: Standard wording.
2020-11-12 18:50:05 -05:00
Wilson Snyder
87b2adb6a1
With --debug, turn off address space layout randomization.
2020-11-12 18:49:49 -05:00
Wilson Snyder
5634a18f78
Tests: Smaller t_vpi_var test
2020-11-11 20:57:24 -05:00
Wilson Snyder
b84c9bb4c0
Internals: Show scope debug information.
2020-11-11 19:00:10 -05:00
Wilson Snyder
6dfce882a1
Support $exit as alias of $finish
2020-11-10 22:49:48 -05:00
Wilson Snyder
79d33bf1ee
Use C++11 for loops, from clang-migrate. No functional change intended
2020-11-10 22:10:38 -05:00
Wilson Snyder
44eb362a18
clang-tidy cleanups. No functional change intended.
2020-11-10 21:40:14 -05:00
Wilson Snyder
8664aac225
Fix missing newlines in emit.
2020-11-09 18:29:09 -05:00
Wilson Snyder
6965e138aa
Add clearer unsupported message for inside on array ( #2566 )
2020-11-08 23:26:58 -05:00
Wilson Snyder
fc52fb9093
Fix arrays of modport interfaces ( #2614 ).
2020-11-08 22:43:32 -05:00
Wilson Snyder
cef7708f38
Internals: Fix missed access change. No functional change intended.
2020-11-08 22:02:35 -05:00
Dan Petrisko
438fb01665
Fix exited typo ( #2634 )
2020-11-08 21:55:33 -05:00
Wilson Snyder
67d5b1a11a
Internals: Preserve arrays of modports. Part of #2614 .
2020-11-08 19:15:53 -05:00
Wilson Snyder
d78941885b
Fix cast width propagation ( #2597 ).
2020-11-08 19:07:33 -05:00
Wilson Snyder
6e7b07c794
Internals: Prep for #2597 . No functional change intended
2020-11-08 18:58:31 -05:00
Wilson Snyder
9655e287ab
Tests: Travis regression fix
2020-11-08 17:06:03 -05:00
Wilson Snyder
917ca2bad7
Tests: Add t_const_opt_red ( #2632 ) ( #2633 )
2020-11-08 16:39:28 -05:00
Wilson Snyder
c3f5dd7414
Tests: Try to stabilize cron test.
2020-11-08 11:17:42 -05:00
Wilson Snyder
04c7fd1696
Tests: Add wire-or mux test for future optimization.
2020-11-07 21:57:31 -05:00
Wilson Snyder
152689776d
Report error on typedef referencing self ( #2539 ).
2020-11-07 15:41:37 -05:00
Wilson Snyder
778f133118
Fix dynamic new with init argument ( #2325 ).
2020-11-07 14:28:05 -05:00
Wilson Snyder
ff5465308b
Internals: Tree dump DEFAULT pattern. No functional change.
2020-11-07 11:56:24 -05:00
Wilson Snyder
602750b1ee
Commentary
2020-11-07 10:49:54 -05:00
Wilson Snyder
2a24bb4759
Fix queue poping wrong value when otherwise unused ( #2512 ).
2020-11-07 10:37:55 -05:00
Krzysztof Bieganski
7c4259bc0a
Support static methods and typedefs in classes ( #2615 )
2020-11-06 19:51:21 -05:00
Kaleb Barrett
1c2384cb3d
Fix iteration over mutating list bug in VPI impl ( #2588 )
...
Previously, in any given VPI callback, if the callback body registered
the same callback, that registering would be processed in the currently
executing call to the call*Cbs function. In the worse case, this could
lead to an infinite loop.
2020-11-06 17:56:15 -05:00
Yutetsu TAKATSUKASA and Wilson Snyder
75881754a9
Fix dangling reference (Issue #2622 ) ( #2623 )
...
* collect multiple string literals of "__Vcvt". No functional change is intended.
* temporary variable for DPI-C should be static if its type is string
* Update src/V3EmitC.cpp
Co-authored-by: Wilson Snyder <[email protected] >
Co-authored-by: Wilson Snyder <[email protected] >
2020-11-04 06:08:03 +09:00
Wilson Snyder
0505816d31
Fix C++14 deprecated random_shuffle.
2020-11-03 08:52:47 -05:00
Wilson Snyder
48bcf66ac7
Fix C++14 deprecated random_shuffle.
2020-11-02 20:07:58 -05:00
Wilson Snyder
0145d9d514
Fix C++14 deprecated random_shuffle.
2020-11-02 19:55:01 -05:00
Wilson Snyder
2ce86eddfa
Internal debug. No functional change.
2020-11-01 22:27:27 -05:00
Wilson Snyder
b663d1a230
Rename internal interface references, part of #2614 .
2020-11-01 20:52:21 -05:00
Wilson Snyder
5821048df7
Fix clang warning.
2020-11-01 17:18:06 -05:00
Wilson Snyder
80284c437e
Internals: Refactor some VAssign printing. No functional change.
2020-11-01 16:59:23 -05:00
Wilson Snyder
2aedc91151
Support queue and associative array 'with' statements. ( #2616 )
2020-11-01 10:56:07 -05:00
Wilson Snyder
c1e8337fc1
Support pattern assignment to dynamic arrays.
2020-11-01 10:18:32 -05:00
Wilson Snyder
1858cc8ff1
Fix test stability due to #2618 .
2020-11-01 09:26:55 -05:00
Wilson Snyder
5e6aca59ab
Fix test stability due to #2618 .
2020-11-01 09:14:45 -05:00
Wilson Snyder
726e78fdda
Add 'with' syntax checks.
2020-10-31 10:33:36 -04:00
Wilson Snyder
085e8454b8
Support 'with' into elaboration (only).
2020-10-31 10:00:55 -04:00
Wilson Snyder
85b05366bc
Internals: Misc prep work for 'with' support.
2020-10-31 09:24:16 -04:00
Wilson Snyder
e6b0479b80
Internals: CFunc VL_RESTORER. No functional change intended.
2020-10-31 09:14:47 -04:00
Wilson Snyder
3a53b32a32
Move queue code before assoc, as assoc will eventually use queues. No functional change.
2020-10-30 22:49:55 -04:00
Wilson Snyder
cf7b5c091a
Internals: Track some VAccess that can be ReadOnly. No functional change.
2020-10-30 22:28:51 -04:00
Wilson Snyder
51b0963e61
Internals: Favor const for map keys. No functional change intended.
2020-10-30 18:00:40 -04:00
Wilson Snyder
0c949ceba2
Internals: classOrPackage is a module, from #2615 .
2020-10-30 08:43:20 -04:00
Wilson Snyder
5c070558ae
Internals: Misc cleanups in prep for interface bugfix. No functional change intended.
2020-10-29 21:27:19 -04:00
Wilson Snyder
0c328b6eaf
clang-format of test_regress. No functional change.
2020-10-28 18:42:36 -04:00
Wilson Snyder
f670eccf8c
Tests: $countbits
2020-10-28 07:39:13 -04:00
Wilson Snyder
23140aeff0
Internals: V3Begin code cleanup. No functional change.
2020-10-27 22:39:45 -04:00
Wilson Snyder
d44426b3f3
clang-format. No functional change.
2020-10-27 20:33:45 -04:00
Yutetsu TAKATSUKASA
05ff96bea3
Fix SEGV when $fgets, $sscanf, or $fscanf is used with string ( #2604 )
...
* Add a test to use string for $fgets
* Use dedicated function for $fgets to std::string
* share the implementation of $fgets
* Pass -1 for bitwidth of std::string to distinguish from POD
* add checks for scanf with string
* apply clang-format
2020-10-28 08:37:12 +09:00
Jean Berniolles
77ac9bfcc6
Fix WIFEXITED missing from MinGW/MSYS2 ( #2609 )
...
* WIFEXITED missing from MinGW/MSYS2, added defines
* Found source of the WIFEXITED macro in the binutils-gdb repo. Now with less pointer manipulation.
2020-10-27 13:33:25 -04:00
Marlon James
34b8ed4cf0
Return bool from callValueCbs() ( #2589 ) ( #2605 )
...
* Return bool from callValueCbs()
Returns true if any registered callback was called, else false.
* Add test for callCbs() and callValueCbs()
2020-10-26 21:55:27 -04:00
Wilson Snyder
95d1272269
Support associative array pattern assignments and defaults.
2020-10-25 21:05:22 -04:00
Wilson Snyder
046c0a7aa1
Fix queue assignment with different limits, negative indicies
2020-10-24 22:08:11 -04:00
Wilson Snyder
835905bdae
Convert cast tasks to assertions
2020-10-24 20:30:52 -04:00
Wilson Snyder
51d1235cda
Shorter stringify of empty queues, and better queue tests
2020-10-24 18:00:40 -04:00
Wilson Snyder
2f21b3385a
Tests: Casting.
2020-10-24 17:46:09 -04:00
Wilson Snyder
9d0a7d5e70
Commentary ( #2606 ).
2020-10-23 18:30:10 -04:00
Wilson Snyder
4cec3ff2a0
Fix WIDTH warnings on comparisons with nullptr ( #2602 ).
2020-10-22 17:27:23 -04:00
Wilson Snyder
25593c0ee2
Fix capitalization
2020-10-22 17:13:42 -04:00
Wilson Snyder
5d3dd52f13
Support queue slicing ( #2326 ).
2020-10-18 13:23:39 -04:00
Wilson Snyder
ec36d0d772
Internals: When resolving assignments pass dtype to children.
2020-10-18 12:30:33 -04:00
Wilson Snyder
3d2503f9aa
Tests: Run execute on non-Verilator when unsupported test.
2020-10-17 21:31:58 -04:00
Wilson Snyder
4576644591
Prep for future queue slicing.
2020-10-17 21:09:10 -04:00
Wilson Snyder
d8df216a8d
Fix emit indent of VL_TO_STRING
2020-10-17 20:05:21 -04:00
Wilson Snyder
964dcd5b7c
Tests: Add additional array method tests and error
2020-10-17 19:23:27 -04:00
Wilson Snyder
f62c070d06
Internals: Concat strings only when final; prep for queues.
2020-10-17 18:56:38 -04:00
Wilson Snyder
a56e0a6e89
Internals: Prep for type method. No functional change intended.
2020-10-17 16:48:11 -04:00
Wilson Snyder
451e961e03
Internals: Prep for type method. No functional change intended.
2020-10-17 16:04:29 -04:00
Wilson Snyder
cb550e5357
Remove old MSVC 6 workarounds
2020-10-17 14:21:27 -04:00
Wilson Snyder
829db3eefa
Fix tick style on %p formats.
2020-10-16 19:26:04 -04:00
Wilson Snyder
44f938e507
Use static const for emitted parameter declarations.
2020-10-16 19:05:28 -04:00
Wilson Snyder
4849c0530b
Fix class extends with typedef.
2020-10-16 18:25:32 -04:00
Wilson Snyder
f4ed367850
Internals: Remove verilator_difftree old cleanups.
2020-10-15 21:36:35 -04:00
Wilson Snyder
d4df94d866
Internals: Move static resolution to LinkParse.
2020-10-15 21:08:24 -04:00
Wilson Snyder
5d8019f941
Internals: Only need to applyFTask once. No functional change intended.
2020-10-15 21:02:24 -04:00
Wilson Snyder
48597bebaf
Tests: Better static tests
2020-10-15 20:44:51 -04:00
Wilson Snyder
470859f929
devel release
2020-10-15 08:26:36 -04:00
Wilson Snyder
77553d23fc
Version bump
2020-10-15 08:21:57 -04:00
Wilson Snyder
3b9c8b64f7
Tests: Add unsupported queue method/slice testing.
2020-10-14 21:57:53 -04:00
Wilson Snyder
7e5f562500
Tests: Use internal sed as external croaks on binary.
2020-10-14 09:30:15 -04:00
Wilson Snyder
d4d3ae4dfc
Fix compile error.
2020-10-14 07:31:22 -04:00
Wilson Snyder
79b1b07fcd
Commentary
2020-10-14 07:30:15 -04:00
Wilson Snyder
e3cf5c07e4
Internal coverage improvements. No functional change.
2020-10-13 21:13:52 -04:00
Wilson Snyder
8750352495
Internal coverage: Cleanup some savable errors and coverage.
2020-10-13 19:26:16 -04:00
Wilson Snyder
3d8dc2774b
Fix clang 11 warning. No functional change intended.
2020-10-13 19:22:49 -04:00
Markus Krause
0a9ae154be
introduce define for FST tracing ( #2592 )
...
This is to allow C++ verilator toplevel to support
multiple modes of waveform tracing
VM_TRACE_FST can be used inside a #if VM_TRACE
section to switch between classic .vcd tracing and the
more compact .fst format supported by GTKWAVE
2020-10-10 21:17:39 -04:00
Wilson Snyder
e25a6334cf
Support repeated forward typedefs.
2020-10-10 11:29:10 -04:00
Wilson Snyder
070bead9f9
Internals: Refector typedef call. No functional change intended.
2020-10-10 11:25:44 -04:00
Wilson Snyder
549921be2e
Disable Free BSD under travis. ( #2591 )
2020-10-10 09:49:50 -04:00
Wilson Snyder
7c05033b79
Add verilator_gantt warning when too few cpus ( #2590 )
2020-10-09 21:28:00 -04:00
Wilson Snyder
215d3614c0
Fix preprocessor stringify of undefined macro.
2020-10-09 18:53:09 -04:00
Wilson Snyder
1ebf937a6c
Internals: Favor std method. No functional change intended.
2020-10-09 17:55:58 -04:00
Rafal Kapuscik
7be343fd7c
Support 'this' ( #2585 ).
2020-10-08 07:54:01 -04:00
Wilson Snyder
fb2d78520f
Internals: Remove redundant initial clears. No functional change intended.
2020-10-07 19:43:08 -04:00
Yutetsu TAKATSUKASA
c5da072ff6
Fix performance degradation when --threads is used with --hierarchical (Issue #2562 ) #2581
2020-10-05 08:20:49 +09:00
Wilson Snyder
efbcb094ca
Fix flushCall for backward compatibility ( #2580 ).
2020-10-04 07:47:25 -04:00
Wilson Snyder
5033c906fd
Commentary ( #2577 )
2020-09-30 16:55:26 -04:00
Wilson Snyder
f8ab30d127
Commentary ( #2575 )
2020-09-28 08:45:50 -04:00
Victor Besyakov
222ca4b009
Tests: Add t_stream_integer_type ( #2547 ) ( #2548 ) ( #2573 )
2020-09-27 19:25:53 -04:00
James Pallister
e3a1954e20
Fix hierarchical references used inside a function ( #2267 ) ( #2572 )
2020-09-27 10:10:44 -04:00
Wilson Snyder
4ba2637360
Fix class wide member display ( #2567 ).
2020-09-25 07:37:38 -04:00
Wilson Snyder
6430743b6f
Fix method calls to package class functions ( #2565 ). [Peter Monsson]
2020-09-22 09:09:10 -04:00
Wilson Snyder
0c49cca527
Fix $urandom_range passed variable ( #2563 ).
2020-09-22 08:44:51 -04:00
Wilson Snyder
7a9e79ea79
Fix -G dropping public indication ( #2561 ).
2020-09-21 08:29:57 -04:00
Yutetsu TAKATSUKASA
157948c552
Fix cmake build with --hierarchical option ( #2560 )
...
* hier_block with cmake test doesn't assume prefix now.
* Add space between files
* don't set -Mdir on cmake build as it will be set by DIRECTORY option
* Use top target name instead of prefix
2020-09-20 07:48:05 +09:00
Wilson Snyder
1a127a479c
Internal coverage improvements
2020-09-19 10:30:31 -04:00
Wilson Snyder
87e4a86fbb
Internal coverage improvements
2020-09-18 21:27:36 -04:00
Yutetsu TAKATSUKASA
1c1b95161b
Load source file of the hier_block explicitly ( #2559 )
...
* Add a test to make sure that lib modules (loaded via -y option) can be a hier_block.
* Add HDL file of the hier_block to the source list if the module is loaded via -y option.
(Each hier_block is treated as a top module when processing the hier_block.)
* Use "\n" for delimiter as the other files
2020-09-19 08:13:49 +09:00
Wilson Snyder
66d1754d19
Fix constant x propagation of xor.
2020-09-18 17:47:22 -04:00
Piotr Binkowski
57a53c014d
Internals: Add proper delegation to dump methods ( #2555 )
2020-09-16 21:52:24 -04:00
Yutetsu TAKATSUKASA
e48a859b86
Add timescale directive for hier_block if the original design has it ( #2554 )
...
* add timescale directive to a test to reproduce #2544
* add timescale directive to hierarchy blocks
2020-09-17 06:09:29 +09:00
Wilson Snyder
430238a6b4
Support # as a comment in -f files ( #2497 ).
2020-09-15 20:12:08 -04:00
Wilson Snyder
9a4c5509fc
Internals: Allow make clang-format in src
2020-09-15 07:39:50 -04:00
Wilson Snyder
0765443353
Internals: Remove unneeded constructor.
2020-09-15 07:35:53 -04:00
Yuri Victorovich
d07a6f81e4
Fix cmake-based verilated rebuilds ( #2543 )
2020-09-11 13:07:00 -04:00
Wilson Snyder
fac04521db
Internals: Fix VL_LEAK_CHECK ( #2542 ).
2020-09-11 11:52:30 -04:00
Peter Monsson
d0819f156f
Add support for |=> inside properties ( #1292 ).
2020-09-10 06:49:04 -04:00
Wilson Snyder
b77eab3f83
Fix crash when mismatching queue types.
2020-09-07 21:13:38 -04:00
Wilson Snyder
30f3774134
Support const object new() assignments.
2020-09-07 17:26:53 -04:00
Wilson Snyder
1899a875a4
Internals: Create VAccess class. No functional change intended.
2020-09-07 17:09:25 -04:00
Wilson Snyder
cc134b38ee
Internal coverage: Misc cleanups
2020-09-07 13:11:44 -04:00
Wilson Snyder
993115d30a
Cleanup and test EmitV for internal coverage
2020-09-07 12:58:30 -04:00
Wilson Snyder
c1d35c8622
devel release
2020-09-07 09:42:13 -04:00
Wilson Snyder
16fba59480
Version bump
2020-09-07 09:26:03 -04:00
Wilson Snyder
4266c789ce
Commentary
2020-09-07 09:20:17 -04:00
Peter Monsson
627d83e807
Add support for assume property ( #2531 )
2020-09-03 12:38:48 -04:00
Peter Monsson
80f5738544
Tests: Move t_rose t_fell and t_stable to a single test ( #2530 )
2020-09-03 08:09:47 -04:00
Wilson Snyder
600641b4a1
Tests: Add process test #2527
2020-08-31 19:02:58 -04:00
Yutetsu TAKATSUKASA
70eb99b050
Fix double-free on shared protect-lib ( #2526 )
...
* Add a test to use shared object of protect-lib
* Add a guard to call ctor/dtor just once even when a protec-lib is shared object.
* Pass .a to linker in leaf-last order for older ld.
* Add -flat_namespace for mac
2020-08-31 08:22:31 -04:00
Wilson Snyder
dc1ad16b03
Travis: Try install twice
2020-08-30 17:34:25 -04:00
Wilson Snyder
ba5779c69e
Fix queues as class members ( #2525 ).
2020-08-29 12:56:43 -04:00
Wilson Snyder
069eb97eca
SystemC 2.3.0 or newer (SYSTEMC_VERSION >= 20111121) is now required.
2020-08-29 10:45:47 -04:00
Wilson Snyder
96a959154a
Commentary #2518 .
2020-08-29 10:22:50 -04:00
Yutetsu TAKATSUKASA
4f88ec3518
Fix hier test failure on mac ( #2524 )
...
* No need to link the intermediate .so in hierarchical verilation
* apply clang-format
* run all tests in ci instead of cron. DONT_MERGE
* Add -undefined dynamic_lookup for mac environment when linking a shared protect-lib.
* Let's just check on mac for now. DONT_MERGE
* Revert "Let's just check on mac for now. DONT_MERGE"
This reverts commit 533fac6f9f .
* Revert "run all tests in ci instead of cron. DONT_MERGE"
This reverts commit fb4ac1fb42 .
2020-08-29 07:56:06 -04:00
Patrick Stewart
ef4f91ae5a
CMake: Unconditionally require C++11 or greater ( #2522 )
2020-08-28 00:01:47 -04:00
Wilson Snyder
45eccaecaf
Fix Travis/GCC warnings.
2020-08-27 18:48:26 -04:00
Wilson Snyder
0397e19726
Tests: CMAKE flags fix, #2514 .
2020-08-27 18:48:10 -04:00
Wilson Snyder
687edba969
Make: less verbose archive
2020-08-27 18:47:12 -04:00
Wilson Snyder
02e83da2fa
Fix Travis/GCC warnings.
2020-08-27 08:47:34 -04:00
Yutetsu TAKATSUKASA
ef04ada12b
Fix test failure on FreeBSD ( #2521 )
...
* Don't use thin-archive to merge multiple archives because it is gnu-ar specific.
* remove -time option that may caues -Wunused-command-line-argument warning
2020-08-27 07:52:48 +09:00
Wilson Snyder
bed3101dfc
Internals: Use VL_RESTORER class to save/restore vars. No functional change intended.
2020-08-24 21:13:28 -04:00
Wilson Snyder
4265f9499d
Support dotted references in foreach in early parsing (for UVM)
2020-08-24 19:33:26 -04:00
Yutetsu TAKATSUKASA
6acd5847e7
Fix range check in V3SplitVar to be consistent with #2507 ( #2511 )
...
* test:Add more tests for checking split_var for unpacked array.
* Fix range calculation of SliceSel and change to UASSERT_OBJ because the range check is done in V3Width beforehand.
2020-08-24 19:11:20 -04:00
Wilson Snyder
16547077a1
Remove temporary file.
2020-08-24 18:56:52 -04:00
Wilson Snyder
3ad3944f2c
Fix Travis/GCC warnings. For VPI/DPI still avoid C++11.
2020-08-24 18:49:36 -04:00
Wilson Snyder
be8f1a25c6
Commentary ( #2510 )
2020-08-24 08:58:33 -04:00
Wilson Snyder
f7f3d3fd43
Fix splitting eval functions with --output-split-cfuncs ( #2368 ).
2020-08-23 22:21:40 -04:00
Wilson Snyder
4003e01283
Commentary
2020-08-23 20:58:23 -04:00
Wilson Snyder
917d3b0fb3
Support virtual class
2020-08-23 20:27:25 -04:00
Wilson Snyder
3d073c9534
Fix class extends to use virtual destruction
2020-08-23 20:00:39 -04:00
Wilson Snyder
20206b1e2e
Support simple class extends.
2020-08-23 19:37:56 -04:00
Wilson Snyder
fefe731105
Tests: Better virtual test
2020-08-23 11:50:42 -04:00
Wilson Snyder
1dce6b2500
Support $stable
2020-08-23 11:34:19 -04:00
Wilson Snyder
d2fac4aa2f
Internals: Add --debug-exit-uvm
2020-08-23 09:05:18 -04:00
Wilson Snyder
132cc1d068
Parser: Move timing control unsupported message
2020-08-23 08:56:35 -04:00
Wilson Snyder
f4a72946eb
Support $urandom, $urandom_range without stability.
2020-08-23 08:42:50 -04:00
Wilson Snyder
e10156548d
Fix GCC warnings
2020-08-23 07:19:20 -04:00
Wilson Snyder
4e6d2cfe38
Fix class constructor error on assignments to const.
2020-08-22 22:44:00 -04:00
Wilson Snyder
7f3a73e314
Fix naming of "id : begin" blocks.
2020-08-22 22:21:37 -04:00
Wilson Snyder
143050e034
Fix fwrite GCC warning
2020-08-22 21:34:41 -04:00
Wilson Snyder
8455ee7091
Optimize one-statement fork/join into begin
2020-08-22 20:04:02 -04:00
Wilson Snyder
9702d11657
Support class extern.
2020-08-22 19:46:21 -04:00
Wilson Snyder
decbf79f39
Convert unnamed error to new PKGNODECL error.
2020-08-22 19:42:21 -04:00
Wilson Snyder
2d7d2c5992
Fix false DECLFILENAME on black-boxed modules ( #2430 ).
2020-08-22 16:56:21 -04:00
Wilson Snyder
2abbd5c145
Convert unnamed error to new PKGNODECL error.
2020-08-22 16:37:49 -04:00
Wilson Snyder
583605b218
Parser: Move extern decl unsupported message
2020-08-22 16:24:29 -04:00
Wilson Snyder
67fab0b4fc
Internals: Add missing package null test. No functional change intended.
2020-08-22 10:22:56 -04:00
Wilson Snyder
43213fcdc2
Fix GCC warnings
2020-08-22 07:44:22 -04:00
Yutetsu TAKATSUKASA
f632ea500c
Fix slice of unpacked array calculation (Issue #2506 ) ( #2507 )
...
Fixes Issue #2506 by shifting index as ArraySel does
2020-08-22 15:23:26 +09:00
Wilson Snyder
dbb69412e5
Travis: Use make -k
2020-08-21 08:31:27 -04:00
Wilson Snyder
d7bc0ff5e5
Fix GCC warnings
2020-08-21 08:30:12 -04:00
Wilson Snyder
14604a24d6
Fix GCC warnings
2020-08-20 08:12:06 -04:00
Wilson Snyder
816c5e0dc9
Fix GCC warnings
2020-08-19 08:20:06 -04:00
Rupert Swarbrick
aa39d020d8
Fix build with Bison 3.7 and newer ( #2505 )
2020-08-18 12:12:52 -04:00
Wilson Snyder
b67f1f0e94
Fix GCC warnings
2020-08-18 08:10:44 -04:00
Wilson Snyder
f5546febe8
Fix OSX GCC register warning.
2020-08-18 08:02:50 -04:00
Wilson Snyder
27181d534e
Commentary
2020-08-17 07:57:38 -04:00
Wilson Snyder
698e0fbbd1
configure: Try compiler flags to get to C++11 ( #2502 )
2020-08-17 07:40:07 -04:00
Wilson Snyder
ea9b65fe6d
Hardcode VM_C11 as always need C++11 now
2020-08-16 15:10:43 -04:00
Wilson Snyder
3c1ed075e5
tests: Disable wide line test as breaks user commits.
2020-08-16 14:57:16 -04:00
Wilson Snyder
6013b54f7b
clang-tidy cleanups. No functional change intended.
2020-08-16 14:55:46 -04:00
Wilson Snyder
d75a8624c1
C++11: constexpr replacing defines. No functional change intended.
2020-08-16 14:19:12 -04:00
Wilson Snyder
ac04e85a1c
C++11: More range for. No functional change intended.
2020-08-16 12:54:32 -04:00
Wilson Snyder
78aee6f4e7
C++11: Use sized enums (+4% performance).
2020-08-16 12:05:35 -04:00
Wilson Snyder
ee9d6dd63f
C++11: Favor auto, range for. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
034737d2a8
C++11: Use member declaration initalizations (in nodes). No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
033e7ac020
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
042d3eed23
C++11: Use override where possible. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
ea4031cbd3
C++11: Use delegating constructors. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
7c54a451a9
C++11: Remove pre-c11 VL_OVERRIDE etc. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
2118038cb9
Commentary
2020-08-15 14:22:50 -04:00
Wilson Snyder
9927e8b3ee
clang-format uses C++11 style. No functional change.
2020-08-15 09:48:08 -04:00
Yutetsu TAKATSUKASA
953a442827
Support hierarchical verilation using protect lib ( #2206 )
2020-08-15 09:43:53 -04:00
Wilson Snyder
f3b28c5c74
Remove configure --enable-prec11-final
2020-08-15 09:39:59 -04:00
Wilson Snyder
7a33fe2bf2
devel release
2020-08-15 09:20:50 -04:00
Wilson Snyder
bdecf6c4e1
Version bump
2020-08-15 09:14:36 -04:00
Wilson Snyder
6fcf05e2b6
Commentary
2020-08-15 09:12:36 -04:00
Peter Monsson
4a5e4b04f3
Support $rose and $fell. ( #2148 ) ( #2501 )
2020-08-14 07:37:10 -04:00
Edgar E. Iglesias
5d98035170
Fix sc names ( #2500 )
...
cint.mainInt(nodep) walks the tree and populates m_ctorVarsVec.
Reuse EmitCImp cint for the slow mainImp() emition steps to make sure
we emit constructor calls to setup SystemC sc_module names.
2020-08-13 08:23:02 -04:00
Wilson Snyder
20c906261b
Fix casting non-self-determined subexpressions ( #2493 ).
2020-08-09 20:59:06 -04:00
Wilson Snyder
74754d94c3
Codacy fix
2020-08-06 22:03:00 -04:00
Wilson Snyder
98cd925fda
Fix non-32 bit conversion to float ( #2495 ).
2020-08-06 21:56:43 -04:00
Wilson Snyder
e029ba845e
Travis: Trusty must use default CPAN
2020-08-06 17:50:49 -04:00
Julien Margetts
e53a522662
Fix protect lib VCS warning ( #2479 )
2020-08-04 17:07:40 -04:00
Wilson Snyder
2bc813da4a
Refactor and test VL_MULS_MAX_WORDS
2020-08-03 22:12:24 -04:00
James Hanlon and James Hanlon
555408b5d3
Fix V3Unknown from running with flat XML output ( #2494 )
...
* Prevent V3Unknown pass from being run
Co-authored-by: James Hanlon <[email protected] >
2020-08-03 11:44:47 -04:00
Wilson Snyder
a07f2b3611
Travis: Force CPAN mirror to avoid false failures.
2020-08-02 08:47:27 -04:00
Yutetsu TAKATSUKASA
c85589371a
Fix protect-lib without sequential logic ( #2492 )
...
* add a test for protect-lib without sequential logic that cause the follwoing error.
%Error: obj_vlt/t_prot_lib_comb/secret/secret.sv:78:14: syntax error, unexpected ')'
78 | always @() begin
| ^
* protect-lib wrapper must contain sequential signal related statements
only if the protected design is a sequential logic.
Diff looks big, but actually just add "if (m_hasClk)" condition.
Signed-off-by: Yutetsu TAKATSUKASA <[email protected] >
2020-08-01 07:16:15 -04:00
Peter Monsson
1280070abb
Support $stable ( #2488 )
2020-07-28 18:26:24 -04:00
Wilson Snyder
a52f975bd7
Fix combining different-width parameters ( #2484 ).
2020-07-26 17:54:23 -04:00
Wilson Snyder
0c70f0c786
clang-format
2020-07-26 17:50:31 -04:00
Wilson Snyder
edf6a40f19
Fix VL_CONSTHI truncation ( #2473 )
2020-07-18 17:35:20 -04:00
Piotr Binkowski
58739a0a99
Internals: add isProgram to AstModule ( #2470 )
...
This allows to check which AstModules were created from `program` keyword
2020-07-16 07:31:16 -04:00
Wilson Snyder
1488f9130d
Enable simple function localparams ( #2461 )
2020-07-15 19:31:19 -04:00
Josh Redford
a18d8cbe86
Test for arrayed interfaces ( #2469 ).
2020-07-15 17:58:59 -04:00
Wilson Snyder
bfea4b7f99
Fix arrayed interfaces, broke in 4.038 ( #2468 ).
2020-07-15 17:58:26 -04:00
Wilson Snyder
84b8307938
Ignore .nfs files
2020-07-15 07:50:32 -04:00
Wilson Snyder
ce340658d6
Internals: revert ( #2467 )
2020-07-15 07:50:17 -04:00
Piotr Binkowski
a02c420064
Internals: separate AST class for program ( #2467 )
2020-07-15 07:39:58 -04:00
Marshal Qiao
d55c233427
Fix bad delete in verilated_save.h ( #2462 )
2020-07-14 06:39:00 -04:00
Marshal Qiao
25bbbbd37b
Update Contributors ( #2465 )
2020-07-14 06:36:01 -04:00
Wilson Snyder
fdb4d3a145
Fix coredump with UVM parse, caused by recent commit.
2020-07-11 20:32:27 -04:00
Wilson Snyder
ced1af8cb8
Parser: Move extends param class unsupported message
2020-07-11 19:53:41 -04:00
Wilson Snyder
f0a6e4c2b2
Parser: Move scoped id unsupported messages down out of parser
2020-07-11 19:11:58 -04:00
Wilson Snyder
9e5cd463e5
Parser: Move class parameter unsupported messages down out of parser
2020-07-11 18:39:01 -04:00
Wilson Snyder
bb8899f307
Internals: Rename AstPackageRef as may point to class.
2020-07-11 10:29:15 -04:00
Wilson Snyder
1194dbf19c
devel release
2020-07-11 09:18:40 -04:00
Wilson Snyder
0cd4a57ad9
Version bump
2020-07-11 09:05:24 -04:00
Wilson Snyder
1bd1e21a69
Change --enable-prec11 to --enable-prec11-final and give stronger warning
2020-07-11 08:56:40 -04:00
Wilson Snyder
7e7447812c
Fix modulus exception ( #2460 )
2020-07-11 08:17:16 -04:00
Wilson Snyder
af3ab13012
Tests: Fix 64-bit code coverage, part of last commit
2020-07-10 22:38:08 -04:00
Wilson Snyder
b35b5aacfa
Fix division exception ( #2460 )
2020-07-10 22:28:02 -04:00
Wilson Snyder
9c01665078
Tests: Fix bison stability.
2020-07-10 22:05:51 -04:00
Wilson Snyder
a500140f1d
Fix Bison 3.6 error messages
2020-07-10 21:54:58 -04:00
Wilson Snyder
dced49a804
Internals: Cleanup branch coverage. No functional change.
2020-07-10 19:17:21 -04:00
Wilson Snyder
f8a67b2fe8
Configure: Show bison/flex version.
2020-07-10 18:37:31 -04:00
Wilson Snyder
8cdecd5668
Commentary: Changes update
2020-07-10 18:18:02 -04:00
Wilson Snyder
75d255a3bf
Internals: clang-format
2020-07-10 18:08:04 -04:00
Wilson Snyder
0674267333
Parser: Test and handle semaphore, mailbox and process.
2020-07-09 20:04:22 -04:00
Geza Lore
1632160fb1
Internals: Remove redunand SenItem nodes ( #2457 )
2020-07-05 13:13:03 -04:00
Geza Lore
e609328ebb
Ensure VarRef inherits dtype when varp is set.
...
Inlining used to set some VarRefs to point to new Var nodes, without
updating the dtype of the VarRef to the dtype of the new Var.
AstNode::sameTree does identity comparison on the dtype, so some trees
that were semantically the same did not compare as such with sameTree
because of the dtype. This in turn results in some missed opportunities
for combining equivalent SenTree sensitivities when the clock came from
outside.
2020-07-05 16:09:22 +01:00
Yutetsu TAKATSUKASA
8291ef6537
Internals: Pass FileLine to findDotted() for error location ( #2455 )
...
* Pass FileLine so that findDotted() will be able to tell the error location though it is not used yet.
* reorder the parameter order. No functional change is intended.
2020-07-04 09:35:04 -04:00
Yutetsu TAKATSUKASA
30600bf1a3
Internals: Add const
2020-07-03 14:16:43 -04:00
Wilson Snyder
b968f57711
Suppress unsupported constraint, as implied by unsupported randomize.
2020-07-02 21:10:05 -04:00
Wilson Snyder
ee7b399bf5
Parser: Move 'static' unsupported messages down out of parser.
2020-07-02 21:02:49 -04:00
Wilson Snyder
50c28fa9d3
Parser: Move 'pure virtual' and 'extern' unsupported messages down out of parser.
2020-07-02 08:24:50 -04:00
Geza Lore
a17f51eac0
Improve V3MergeCond
...
- Do try to merge after assignment to condition when possible.
- Do not try to merge reduced form if not the expected statement.
This used to cause a crash.
2020-07-02 13:13:51 +01:00
Yutetsu TAKATSUKASA
cc50126ad3
Internals: Generalize V3Config to be able to set any module pragma. No functional change intended. ( #2451 )
2020-07-02 07:54:37 -04:00
Wilson Snyder
9d1a39a5e4
Parser: Move 'with' block unsupported messages down out of parser
2020-07-02 07:36:15 -04:00
Yutetsu TAKATSUKASA
82cc1a319f
Internals: Simplify condition in V3Dead.cpp. No functional change intended. ( #2454 )
2020-07-02 07:35:55 -04:00
Yutetsu TAKATSUKASA
2fd23458ce
Internals: Factor out making a make cmd string in Verilator.cpp. No functional change intended. ( #2453 )
2020-07-02 07:30:40 -04:00
Yutetsu TAKATSUKASA
271fa5fe3c
Internals: move parseParamLiteral() to AstConst . No functional change intended. ( #2452 )
2020-07-02 07:29:52 -04:00
Fan Shupei
04c96694e6
Add $writememb support ( #2450 )
2020-07-01 17:32:15 -04:00
Wilson Snyder
e7bd44561c
Parse dotted new
2020-07-01 07:39:37 -04:00
Wilson Snyder
4d5e448664
Parser: Move member qualifier unsupporteds out of parser.
2020-07-01 07:31:53 -04:00
Wilson Snyder
236c2141e3
Parser: Move 'with' block unsupported messages down out of parser
2020-06-30 21:37:11 -04:00
Wilson Snyder
788fe3dc27
Tests: Ignore gtkwave spaces.
2020-06-30 21:36:39 -04:00
Wilson Snyder
a2abd361db
gtkwave: Update to match spacing of upstream. No functional change.
2020-06-30 19:16:10 -04:00
Geza Lore
09806d7576
Update fstapi.c to latest (fix undefined thread behaviour)
2020-06-30 19:50:41 +01:00
Geza Lore
a2aa678278
Travis: only use SystemC when not M32
2020-06-30 19:16:28 +01:00
Wilson Snyder
0b09636c58
Support for-loop increments with commas.
2020-06-29 21:18:41 -04:00
Wilson Snyder
af197f2ceb
Parser: Move 'virtual class' block unsupported messages down out of parser
2020-06-29 21:03:14 -04:00
Wilson Snyder
748c818ccb
Parser: Move 'wait' block unsupported messages down out of parser
2020-06-29 20:39:39 -04:00
Wilson Snyder
ad55564905
Parser: Move disable fork and wait fork down into elaborate stage
2020-06-29 20:22:39 -04:00
Wilson Snyder
ad2cb45a14
Parser: Move unsupported error detection of 'this'/'super' down into link stage
2020-06-29 20:02:15 -04:00
Wilson Snyder
277fd9197f
Tests: Add number case for #2432 .
2020-06-29 18:03:16 -04:00
Wilson Snyder
61ff7039b4
Commentary ( #2439 )
2020-06-28 18:37:42 -04:00
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Harald Heckmann
958654909f
Added perl-doc to optional apt packages ( #2445 )
2020-06-28 11:00:57 -04:00
Geza Lore
d9be86d69a
Remove Travis FreeBSD debug acces workaround (ENV_HACK)
2020-06-28 15:37:24 +01:00
Geza Lore
378d947702
Travis: Add FreeBSD build + portability fixes
2020-06-28 15:37:24 +01:00
Stephen Henry
98b5417e04
Disable argument template type deduction. ( #2426 )
...
Fixes #2421 , #2435 relating to 32-bit build failures.
2020-06-28 10:54:15 +01:00
Wilson Snyder
0af971292e
Commentary ( #2437 )
2020-06-27 22:35:31 -04:00
Wilson Snyder
43a2fa080a
For maintainers, set fill-column.
2020-06-27 21:44:32 -04:00
Geza Lore
0cdc2e038c
Workaround for Travis OS X dbg exe corruption
2020-06-25 14:12:24 +01:00
Geza Lore
d4a411db6c
Don't use configure default compiler flags
2020-06-24 11:44:25 +01:00
Geza Lore
8d367dc8a3
Fix github links in documentation ( #2443 )
2020-06-24 11:09:49 +01:00
Geza Lore
5a4cc333fb
Travis: Add OS X build ( #2440 )
2020-06-22 10:13:54 +01:00
Ludwig Rogiers
f13fd4478c
Init params in constructor to support pre-c++11 compilers
2020-06-22 09:01:39 +01:00
Geza Lore
23e4a0f784
Improve documentation
2020-06-20 05:17:46 +01:00
Geza Lore
aa595d40de
Do not fold IF with 'bx condition before V3Unknown ( #2438 )
...
Fixes #2425
2020-06-20 04:16:07 +01:00
Wilson Snyder
fa828ac9ba
Commentary ( #2419 )
2020-06-14 10:47:17 -04:00
Wilson Snyder
b1495f0742
Commentary ( #2423 )
2020-06-14 10:44:57 -04:00
Stefan Wallentowitz
8006b5479c
Missing entry in Changes for VPI parameters ( #2417 )
2020-06-13 05:22:12 -04:00
Yutetsu TAKATSUKASA
19c2906a64
Improve code coverage of V3SplitVar.cpp ( #2418 )
2020-06-13 04:45:47 -04:00
Ludwig Rogiers
c367b671b6
Support VPI parameter and localparam ( #2370 )
2020-06-12 18:38:01 -04:00
Wilson Snyder
35226d5e1a
Commentary
2020-06-12 08:12:54 -04:00
Geza Lore
fac89c5d62
Close trace on vl_fatal/vl_finish ( #2414 )
...
This is required to get the last bit of FST trace and close the FST file
properly on $stop or assertion failure.
2020-06-12 07:15:42 +01:00
Conor McCullough
f40f0464e2
Fix replaceMulShift optimization ( #2413 )
2020-06-11 07:42:25 -04:00
Wilson Snyder
262ed9c03a
Tests: Avoid using std. No functional change.
2020-06-10 08:04:34 -04:00
Yutetsu TAKATSUKASA
a7edf13d62
Fix V3SplitVar test stability ( #2408 )
2020-06-09 22:39:10 -04:00
Wilson Snyder
6e57076726
Support --bbox-unsup parsing of nested foreach.
2020-06-09 22:05:06 -04:00
Wilson Snyder
cef56c6fca
Support --bbox-unsup parsing of class extend typedefs
2020-06-09 20:59:45 -04:00
Wilson Snyder
91f30af01f
Fix --bbox-unsup crash from earlier commit.
2020-06-09 19:49:11 -04:00
Wilson Snyder
3c8953fec2
Fix $sformat with non-constant string first argument
2020-06-09 19:40:49 -04:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Wilson Snyder
d42f9c095b
Delay parsing of associative arrays until dtypes known.
2020-06-09 07:13:40 -04:00
Wilson Snyder
46e10173f8
Support --bbox-unsup parsing of class extern function/task.
2020-06-08 22:33:57 -04:00
Wilson Snyder
d84c7df38f
Internals: Reformat V3Options. No functional change.
2020-06-08 22:17:30 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
e2b40195b4
Tests: Reference issue #2410 .
2020-06-08 20:58:04 -04:00
Wilson Snyder
541f983dba
Merge tests from issue-2409-timing (but disabled mostly)
2020-06-08 20:36:22 -04:00
Wilson Snyder
5658cd3394
Commentary
2020-06-08 20:11:29 -04:00
Wilson Snyder
3963a50aef
Internals: Refactor param array handling to use subroutine. No functional change intended.
2020-06-08 07:43:07 -04:00
Wilson Snyder
47f040a5fd
Internals: Do data type elaboration always as child node, before movement to symbol table.
2020-06-08 06:47:18 -04:00
Wilson Snyder
7b7a2e99e3
Internals: Misc parser cleanups.
2020-06-07 22:15:19 -04:00
Wilson Snyder
25397e7612
Author site: Don't rebuild revision if VERILATOR_NO_OPT_BUILD
2020-06-07 20:08:19 -04:00
Wilson Snyder
4984d19ae9
Support --bbox-unsup parsing :: referencing typedef in class
2020-06-07 19:59:03 -04:00
Wilson Snyder
305448ea86
Cleanup parser errors to identify packages by :: instead of symbol table
2020-06-07 16:54:25 -04:00
Wilson Snyder
4a1d18f0e9
Internals: Refactor parser pipeline to use deque. No functional change intended.
2020-06-07 15:35:36 -04:00
Wilson Snyder
30482f3eea
Internals: Add parser debug printer.
2020-06-07 14:07:15 -04:00
Wilson Snyder
b469feb44b
Fix some syntax error context by splitting internal parse and lex filelines
2020-06-07 13:45:50 -04:00
Wilson Snyder
466fd56d18
Move XML verilator tag handling into parser.
2020-06-07 13:09:18 -04:00
Wilson Snyder
1aaf3f3424
Internals: Rename parser functions called by lexer. No functional change intended.
2020-06-07 12:18:23 -04:00
Wilson Snyder
b5e4917405
Internals: Pass unconnected drive in parser token stream.
2020-06-07 12:08:12 -04:00
Wilson Snyder
140671300c
Internals: Pass parser celldefine state through FileLine. No functional change intended.
2020-06-07 11:58:53 -04:00
Wilson Snyder
820a4dbbdd
Internals: Pass fileline directly. No functional change intended.
2020-06-07 10:53:21 -04:00
Wilson Snyder
53d8ccd149
Internals: Move yyerror to parser. No functional change intended.
2020-06-07 10:31:42 -04:00
Wilson Snyder
418b36ea71
Internals: Pass fileline directly and avoid yyerror
2020-06-07 10:17:50 -04:00
Wilson Snyder
05e51d0d18
Tests: Excempt some wide files
2020-06-07 09:59:09 -04:00
Wilson Snyder
575c565e77
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:23:01 -04:00
Wilson Snyder
01255082a6
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:21:22 -04:00
Wilson Snyder
0098e67e59
Tests: Use lint in many negative tests to avoid running under both vlt and vltmt
2020-06-07 07:15:07 -04:00
Wilson Snyder
3798a472b5
Commentary: Indicate mid-rule parser actions.
2020-06-06 17:42:10 -04:00
Wilson Snyder
0e322e2e85
Fix segfault after pin unsupported error.
2020-06-06 16:17:41 -04:00
Wilson Snyder
5cd5c05c05
Support --bbox-unsup parsing of event control expressions
2020-06-06 15:54:44 -04:00
Wilson Snyder
933e796cc2
Support $swrite with arbitrary arguments
2020-06-06 14:47:54 -04:00
Wilson Snyder
ae701e014d
Support --bbox-unsup parsing of for with multiple increments
2020-06-06 13:55:15 -04:00
Wilson Snyder
3a0b8c8870
Fix parsing parameter type with assignment and no type keyword.
2020-06-06 13:44:45 -04:00
Geza Lore
dea0e6793f
Simplify V3SenTree.h. No functional change intended.
...
- Remove unused headers
- Simplify container functors
- SenTreeFinder need not be a Visitor
- Update comments
Line coverage should now be 100%
2020-06-06 17:30:32 +01:00
Wilson Snyder
4862916f39
Support --bbox-unsup parsing of 'constraint', 'dist', 'solve'
2020-06-06 12:08:36 -04:00
Wilson Snyder
870ec27b73
Support --bbox-unsup parsing of 'randomize'
2020-06-06 11:22:48 -04:00
Wilson Snyder
a21947d887
Support --bbox-unsup parsing of 'with'
2020-06-06 11:11:23 -04:00
Wilson Snyder
893dee3434
Support --bbox-unsup parsing of forward defed class calls
2020-06-06 10:21:16 -04:00
Wilson Snyder
f083805ab5
Support --bbox-unsup parsing of parameterized classes
2020-06-06 10:06:32 -04:00
Wilson Snyder
7067afde5d
Support --bbox-unsup parsing of foreach(this.foo)
2020-06-06 09:43:13 -04:00
Wilson Snyder
1eaec2aa8a
Support --bbox-unsup of $cast
2020-06-06 09:30:11 -04:00
Wilson Snyder
da01810d98
Internals: Add UNSUP tokens from VParseBison and sort lists. No functional change.
2020-06-06 09:09:26 -04:00
Wilson Snyder
4c7d5a1dc0
Fix --bbox-unsup to bypass more parser unsupported errors.
2020-06-06 08:50:47 -04:00
Wilson Snyder
d15e3d93c4
Internals: Reindent and move parser code. No functional change.
2020-06-06 08:44:44 -04:00
Wilson Snyder
aae2bf872c
devel release
2020-06-06 07:51:54 -04:00
Wilson Snyder
04c0fc8aa7
Version bump
2020-06-06 07:48:47 -04:00
Wilson Snyder
1d8955fea5
Internal: Update fastcov.py from upstream.
2020-06-06 05:48:36 -04:00
Wilson Snyder
48740a0dba
Tests: Add t_param_type
2020-06-05 22:22:44 -04:00
Geza Lore
4a404bd92e
Always mask LSB in V3Merge Cond when mergin AstAnd
2020-06-06 00:17:59 +01:00
Wilson Snyder
ff41701ddc
Fix crash on undeclared packages.
2020-06-05 18:50:06 -04:00
Wilson Snyder
2590c9c4a6
Internal: Update fastcov.py from upstream.
2020-06-05 18:05:49 -04:00
Wilson Snyder
c5d61da5d2
Internal coverage: Fix coverage of tests that abort. No functional change intended.
2020-06-05 08:00:22 -04:00
Wilson Snyder
5a622fd9db
Tests: Temporary fix for ( #2407 )
2020-06-05 07:28:51 -04:00
Wilson Snyder
c83b1478e1
Internals: Ifdef out V3Combine incomplete dead code.
2020-06-04 21:55:00 -04:00
Wilson Snyder
3243651c63
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 21:40:40 -04:00
Wilson Snyder
8d61cd9029
New fastcov internal coverage scheme
2020-06-04 20:59:52 -04:00
Wilson Snyder
7fe49de420
Tests: Tests to fix misc internal coverage holes.
2020-06-04 20:23:55 -04:00
Wilson Snyder
a433096d5a
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 19:49:39 -04:00
Geza Lore
b88e1e6970
Travis: Fix cron (always build focal)
2020-06-04 17:36:53 +01:00
Wilson Snyder
79f228b04f
Remove dead code (bisonreader)
2020-06-03 20:11:09 -04:00
Wilson Snyder
d7cc1e6844
Tests: Use lint in many negative tests to avoid running under both vlt and vltmt
2020-06-03 20:05:13 -04:00
Wilson Snyder
42312101b5
Tests: Add array OOB tests as unsupported ( #792 )
2020-06-03 19:36:50 -04:00
Wilson Snyder
329f5b712a
Tests: Add alias tests as unsupported ( #697 )
2020-06-03 19:27:22 -04:00
Geza Lore
6ddd92c0a1
Travis: Use workspaces and per job persistent ccache ( #2399 )
...
Change the Travis builds to use workspaces and persistent ccache
We proceed in 2 stages (as before, but using workspaces for
persistence):
1. In the 'build' stage, we clone the repo, build it and
save the whole checkout ($TRAVIS_BUILD_DIR) as a workspace
2. In the 'test' stage, rather than cloning the repo, multiple jobs
pull down the same workspace we built to run the tests from
This enables:
- Reuse of the build in multiple test jobs (this is what we used the Travis
cache for before)
- Each job having a separate persistent Travis cache, which now only
contains the ccache. This means all jobs, including 'build' and 'test'
jobs can make maximum use of ccache across runs. This drastically cuts
down build times when the ccache hits, which is very often the case for
'test' jobs. Also, the separate caches only store the objects build by
the particular job that owns the cache, so we can keep the per job
ccache small.
If the commit message contains '[travis ccache clear]', the ccache will
be cleared at the beginning of the build. This can be used to test build
complete within the 50 minute timeout imposed by Travis, even without a
persistent ccache.
2020-06-03 21:10:13 +01:00
Tomasz Gorochowik
277dee109c
Fix Ariane issues with PostAdd nodes ( #2400 )
2020-06-03 12:50:24 -04:00
Wilson Snyder
ef71576825
Fix coredump from increment patch ( #2391 )
2020-06-03 08:30:49 -04:00
Wilson Snyder
c3271aa891
Fix duplicate VLCOVGEN short code
2020-06-02 21:42:24 -04:00
Geza Lore
1cf17b5e78
Fix unused variable.
2020-06-02 22:45:55 +01:00
Ludwig Rogiers
2b6353b36e
Support vpi_handle type vpiLeftRange and vpiRightRange for vpiRange objects ( #2395 )
...
* Implement vpi_handle type vpiLeftRange and vpiRightRange for vpiRange objects
* Change VerilatedVpioConst type to vpiConstant
2020-06-02 08:04:22 -04:00
Wilson Snyder
8b647f0977
Fix error on UNPACKED in parser. ( #1541 )
2020-06-02 08:00:37 -04:00
Wilson Snyder
4c31c5fab5
Fix unused variable.
2020-06-02 07:52:27 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Geza Lore
a67ba04c37
Remove dead code and some unused parameters
...
Found with CLion inspections
2020-06-01 17:49:42 +01:00
Wilson Snyder
ae448e5ef9
Fix older GCC compiler error.
2020-06-01 09:08:50 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Geza Lore
656c460605
Add --dump-tree-addrids developer option
2020-05-31 20:21:55 +01:00
Geza Lore
95534fa5c5
Remove unused headers ( #2389 )
2020-05-31 20:21:07 +01:00
Wilson Snyder
611e8b10c6
Fix Verilog coverage to pass real column information
2020-05-31 09:05:10 -04:00
Michael Killough
047852eb08
Fix OpenBSD make in tests. ( #2388 )
2020-05-31 09:03:51 -04:00
Geza Lore
6318a08056
Fix --dump-tree with sparse dumps.
...
"No changes since last dump!" is now only printed if the "last" dump was
actually performed and not skipped due to V3Option::dumpTreeLevel
settings.
2020-05-31 13:48:30 +01:00
Wilson Snyder
b60a92eed3
Fix pre-C11 compiler warning.
2020-05-30 21:11:37 -04:00
Geza Lore
fe306a36b8
Add MergeCond pass to combine assignments with ?: on rhs ( #2376 )
...
This provides minor simulation performance benefit, but can provide
large C++ compilation time improvement, notably with Clang (4x).
This patch implements #2366 .
2020-05-30 21:09:05 +01:00
Geza Lore
18870f8b62
Remove remnants of long removed --trace-dups option
...
See #2385
2020-05-30 20:16:40 +01:00
Geza Lore
9712ceedd7
Internals: Remove empty statements. No functional change intended.
...
Remove stray semicolons, mostly by capturing them in macros accurately.
This removes a ton on lint warnings from CLion.
2020-05-30 19:13:18 +01:00
Wilson Snyder
2e32387e5c
Fix GCC false warning on array bounds. ( #2386 )
2020-05-30 13:47:53 -04:00
Wilson Snyder
b66877c9df
Internals: Refactor V3Expand newWordSel. No functional change intended.
2020-05-30 13:47:53 -04:00
Geza Lore
74a6f94e2b
Internals: Remove dead code
2020-05-30 17:20:23 +01:00
Wilson Snyder
35fc8b7259
Debug: Show column numbers in .tree files
2020-05-30 10:08:30 -04:00
Wilson Snyder
e591afd101
Disable over-sensitive debug dump.
2020-05-30 09:35:48 -04:00
Wilson Snyder
a41cdf4cfb
Tests: Add driver_verilator_flags (for verilator_ext_tests)
2020-05-30 08:19:44 -04:00
Wilson Snyder
ef72c42aa7
Commentary
2020-05-29 19:58:59 -04:00
Wilson Snyder
fbc814b54a
Internal code coverage fixes
2020-05-29 19:35:54 -04:00
Wilson Snyder
4cfa3f879a
Internals: Allow VL_DANGLING on pointer const.
2020-05-29 18:31:53 -04:00
Wilson Snyder
4a8c7e869f
Fix coverage issue
2020-05-29 17:59:35 -04:00
Tomasz Gorochowik
a4a1c7a384
Fix swerv issues with Increment nodes ( #2380 )
2020-05-29 13:03:04 -04:00
Ludwig Rogiers
460315128b
Fix vpi_get_value() error message when passing unsupported vpiHandle. ( #2378 )
2020-05-29 08:10:22 -04:00
Wilson Snyder
8ddafb4d9f
Update contributors (from email)
2020-05-28 21:35:38 -04:00
Wilson Snyder
ebda8f866c
Cleanup codacity and missing consts.
2020-05-28 21:04:36 -04:00
Wilson Snyder
5ee4595aa8
Remove dead code (git_untabify), instead use make clang-format
2020-05-28 21:04:17 -04:00
Wilson Snyder
5089ac6119
Remove VL_ULL as ULL now in MSVC & C++11
2020-05-28 20:32:07 -04:00
Wilson Snyder
3f66f846cd
Travis enable SystemC test ( #1601 )
2020-05-28 18:52:03 -04:00
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -04:00
Wilson Snyder
773ed97504
Internals Most VerilatedLockGuard can be const. No functional change intended.
2020-05-28 18:23:46 -04:00
Wilson Snyder
b6d4899d3f
Commentary
2020-05-28 18:09:31 -04:00
Maciej Sobkowski
9d48ff7745
Support pre/postifx incrementation/decrementation in array index ( #2223 )
2020-05-28 18:08:15 -04:00
Stephen Henry
c4aab57c62
Internals: Refactor to introduce VerilatedFdList. ( #2363 )
2020-05-28 17:59:18 -04:00
Maarten De Braekeleer
e8f27be200
Fix Visual Studio compiler issues ( #2375 )
...
* Make sure compiler creates same object file as target of rule
* MSVC requires a string return
* Case ranges are a gnu extension which MSVC does not understand
* _dupenv_s also returns 0 if the var could not be found
See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/dupenv-s-wdupenv-s?view=vs-2019
2020-05-28 17:39:20 -04:00
Wilson Snyder
15f0f967b3
Fix uninit variable warning
2020-05-28 17:33:44 -04:00
Wilson Snyder
cbafff8a71
Commentary
2020-05-27 21:52:55 -04:00
Wilson Snyder
41e362b580
Tests: Remove some old conditional-fail checks.
2020-05-27 21:44:28 -04:00
Geza Lore
622f59ad65
Set OPT_FAST=-Os as default ( #2374 )
2020-05-28 00:57:49 +01:00
Wilson Snyder
c5da38206e
Fix configure over-disabling warnings.
2020-05-27 08:45:11 -04:00
Geza Lore
d737266f64
Add OPT_GLOBAL to use for run-time library ( #2373 )
...
This allows compiling the run-time library with optimization even when OPT_FAST is not used in order to imporove model build speed, possibly during debug cycles.
2020-05-27 01:52:08 +01:00
Wilson Snyder
978c35995a
Support const cast (ignored since not linting const yet)
2020-05-26 20:44:20 -04:00
Wilson Snyder
2af7f2fa18
Internals: Parser cleanup of cast.
2020-05-26 20:29:54 -04:00
Wilson Snyder
373c9090d3
Update contributors (from email)
2020-05-26 19:12:19 -04:00
Stefan Wallentowitz
723d407a87
[docker] Unify docker files ( #2371 )
...
Unify the actions in the Dockerfiles between the runtime environment
and the run containers.
Fixes #2345
Signed-off-by: Stefan Wallentowitz <[email protected] >
2020-05-26 20:38:43 +02:00
Stefan Wallentowitz
dc90e6c3c3
Generate file with waivers ( #2354 )
...
This adds the flag --generate-waivefile <filename>. This will generate
a verilator config file with the proper lint_off statemens to turn off
warnings emitted during this particular run.
This feature can be used to start with using Verilator as linter and
systematically capture all known lint warning for further
elimination. It hopefully helps people turning of -Wno-fatal or
-Wno-lint and gradually improve their code base.
Signed-off-by: Stefan Wallentowitz <[email protected] >
2020-05-26 20:38:14 +02:00
Stefan Wallentowitz
68a2ed6776
Fix output of loops on waiving ( #2355 )
...
When an unopt loop is waived, we also don't want the loop's example
path being plot.
Signed-off-by: Stefan Wallentowitz <[email protected] >
2020-05-26 08:45:57 +02:00
Wilson Snyder
7f32d4dc45
Internals: Parser cleanup of expressions.
2020-05-25 21:51:05 -04:00
Geza Lore
7b683fe258
Use sane --output-split values by default to help large builds
...
--output-split is now on by default with value 20000.
--output-split-cfuncs and --output-split-ctrace now defaults to the
value of --output-split unless explicitly specified.
2020-05-26 01:22:10 +01:00
Geza Lore
72858175a2
Only emit VM_PARALLEL_BUILDS=1 iff --output-split caused a split.
...
Previously we set VM_PARALLEL_BUILDS=1 if the --output-split option was
provided. Now we only do it iff it actually causes a split.
2020-05-26 01:22:10 +01:00
Geza Lore
9d7086067c
Rework serial/parallel build mode
...
Instead of __ALLfast.cpp and __ALLslow.cpp, we now create only a single
__ALL.cpp and compile it with OPT_FAST, this speeds up small builds
where the C compiler does not dominate. A separate patch will follow
turning VM_PARALLEL_BUILDS on by default at a certain size.
Given this change to the build there is now no point in emitting both
fast and slow routines into the same .cpp file when --output-split is
not set as they will be just included in the same __ALL.cpp file. To
keep things simpler and the output easier to comprehend, V3EmitC has
also been changed to always emit the fast and slow files separately.
Also change verilated.mk to apply OPT_SLOW to all slow files, not just
ones called *__Slow.cpp. This change in particular ensures __Syms.cpp
is build as slow.
Part of #2360 .
2020-05-26 01:22:10 +01:00
Wilson Snyder
5bb1da88ed
Internals: Comment grammar continuations. No functional change.
2020-05-25 19:40:20 -04:00
Wilson Snyder
9969a60b34
Commentary
2020-05-25 18:51:12 -04:00
Wilson Snyder
72402fa91e
Internals: Parser cleanup of parameters, second part.
2020-05-25 18:49:29 -04:00
Wilson Snyder
8255f3f9fe
Internals: Parser cleanup of parameters, first part.
2020-05-25 18:41:47 -04:00
Wilson Snyder
8957f77793
Internals: Refector needHeavy into methods. No functional change intended.
2020-05-25 15:34:24 -04:00
Wilson Snyder
7187b82d1d
Update contributors (from email).
2020-05-25 13:36:24 -04:00
Ahmed El-Mahmoudy
1a92a58720
Fix spelling mistakes ( #2364 )
2020-05-25 12:43:32 -04:00
Wilson Snyder
2351f9b9ad
Update contributors (from email).
2020-05-25 10:54:22 -04:00
Wilson Snyder
abc3c216f8
Internal code coverage: Better support fastcov [still not default].
2020-05-25 10:50:46 -04:00
Wilson Snyder
f1afa667d7
Update contributors.
2020-05-25 09:16:40 -04:00
Wilson Snyder
76d0671952
Travis: Fix cron.
2020-05-25 08:46:46 -04:00
Jan Van Winkel
424769c32b
Fix warning for unused param in VL_RTOIROUND_Q_D ( #2356 )
2020-05-25 08:13:12 -04:00
Wilson Snyder
f7249ad23a
Internals: AstRefDType points to AstTypedef instead of sub-dtype, in prep for future commits.
2020-05-24 14:22:06 -04:00
Wilson Snyder
613d76c578
Travis: Fix cron.
2020-05-24 08:30:59 -04:00
Wilson Snyder
50662751fe
Fix compiler unsigned warnings
2020-05-23 22:38:17 -04:00
Wilson Snyder
c9e59e767a
Tests: Add setenv method.
2020-05-23 22:24:26 -04:00
Vassilis Papaefstathiou
a7432bdea7
Support wide operands in queues and dynamic arrays ( #2352 )
2020-05-23 21:59:56 -04:00
Wilson Snyder
9ffad7f0db
Internal cleanups. No functional change intended
2020-05-23 21:57:08 -04:00
Wilson Snyder
3097d5e093
Commentary
2020-05-23 21:56:56 -04:00
Yuri Victorovich
cff4b5a5ee
Fix WIFEXITED error on FreeBSD. ( #2351 ) ( #2353 )
2020-05-23 16:30:36 -04:00
Wilson Snyder
eda46e3949
Internals: Favor exprOrDataType where possible. No functional change intended.
2020-05-23 13:08:56 -04:00
Wilson Snyder
71651718d4
Internals: Track :: in AstDot parsing. No parsing change intended.
2020-05-23 12:44:15 -04:00
Wilson Snyder
da0cb44954
Internals: Refactor parsing id's up to parent rules. No functional change intended.
2020-05-23 12:19:43 -04:00
Wilson Snyder
57621a93ad
Internals: Move PLI errors into linker, and better test.
2020-05-23 11:55:34 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Wilson Snyder
c18b0eb122
Internal coverage: Limit parallelism to core count.
2020-05-23 09:50:04 -04:00
Wilson Snyder
3c28a66acf
Internal coverage: Fix --hashset option. --stop now default.
2020-05-23 09:17:16 -04:00
Wilson Snyder
5c11de1663
Tests: Check queue typedef.
2020-05-22 22:14:26 -04:00
Wilson Snyder
72ea6bf414
Travis: Fix cron.
2020-05-22 08:39:56 -04:00
Ludwig Rogiers
101314a572
Add VPI error reset to vpi_get_time() ( #2347 )
2020-05-22 07:09:47 -04:00
Wilson Snyder
01f3e81a36
Internals: Parse extend/implements/etc using generic identifiers.
2020-05-21 21:31:15 -04:00
Wilson Snyder
3cb3b6c400
clang-format verilog.l. No functional change.
2020-05-21 19:46:21 -04:00
Wilson Snyder
8f58b58853
Internals: Parse using idAny where can to better detect id errors.
2020-05-20 23:29:37 -04:00
Wilson Snyder
b66826169d
Internals: Refactor inherits/extends parse so don't need type vs nontype IDs.
2020-05-20 23:10:45 -04:00
Wilson Snyder
d2a7376f14
Fix spacing. No functional change
2020-05-20 22:33:32 -04:00
Wilson Snyder
c9e8a1cb4d
Commentary
2020-05-20 20:31:57 -04:00
Wilson Snyder
8170f6f03f
Travis: Fix cron.
2020-05-20 17:39:32 -04:00
Stefan Wallentowitz
0abf88823f
Docker upgrade to Ubuntu 20.04 ( #2318 )
...
* [docker] Remove versions from Docker files
There is no dependency on an actual version, it was only there to
silence the linter. Instead the linter is now set to not warn about
it.
Signed-off-by: Stefan Wallentowitz <[email protected] >
* [docker] Update to Ubuntu 20.04
Update to new Ubuntu release:
- Only GCC 9.3 available. Also add clang (10.0) now.
- SystemC is now a package 🎉
Signed-off-by: Stefan Wallentowitz <[email protected] >
2020-05-20 06:58:43 -04:00
Todd Strader
accf5a9a17
Check if Parallel::Forker is new enough ( #2343 )
2020-05-19 14:31:13 -04:00
Wilson Snyder
c64c81b7a3
Workaround missing guard (partial #2333 ).
2020-05-19 08:31:52 -04:00
Wilson Snyder
7834028842
Tests: Skip genhtml if too old
2020-05-19 08:24:21 -04:00
Wilson Snyder
1e0d5eb238
Release examples/Makefiles under CC0.
2020-05-18 22:23:19 -04:00
Wilson Snyder
b5460bd867
Travis-CI fixes
2020-05-18 18:34:26 -04:00
Geza Lore
53cde90c8f
De-constify fields to appease old GCC with broken STL
...
No functional change intended, fixes #2342
2020-05-18 19:01:08 +01:00
Geza Lore
d20a4db773
Fix regression due to early constant folding in +: and -: ( #2338 )
2020-05-18 18:46:00 +01:00
Wilson Snyder
0f7677480f
Commentary
2020-05-18 08:11:56 -04:00
Stephen Henry
ba3930777a
Support display/scan %u/%z ( #2324 ) ( #2332 )
2020-05-18 08:10:32 -04:00
Geza Lore
9c054a5774
Optimize trace activity flags a bit more
...
- Improve flag pruning heuristic
- Set all trace activity flags in slow code. This in turns enables us
to remove checking the slow flag on the fast path.
2020-05-17 19:41:24 +01:00
Stephen Henry
cef0105dfc
Fix requiring C++11 algorithms. ( #2339 ) ( #2340 )
2020-05-17 11:44:42 -04:00
Wilson Snyder
4773a1e77c
Misc internal coverage improvements.
2020-05-17 11:06:14 -04:00
Wilson Snyder
ed4c7038b4
Tracing: Remove dead code. No functional change intended.
2020-05-17 09:53:58 -04:00
Wilson Snyder
c4f31d3bb6
Tracing: Remove dead code. No functional change intended.
2020-05-17 09:52:03 -04:00
Geza Lore
dc25e9b949
Optimize fine grained trace activity flags ( #2336 )
...
Firstly, we always use a byte array for fine grained activity flags
instead of a bit vector (we used to use a byte array only if we had
parallel mtasks). The byte vector can be set more cheaply in eval,
closing about 1/3 of the gap in performance between compiling with
or without --trace on SweRV EH1. The speed of tracing itself is not
measurably different.
Secondly, we prune the activity tracking such that if a set of activity
flag combinations only guard a small number of signals, we will turn
those signals into awayls traced signals. This avoids code which
sometimes tests dozens of activity flags just to subsequently check one
signal and dump it if it's value changed. We can just check the signal
state straight instead, and not bother with the flags. This removes
about 30% of activity flags in SweRV EH1, and makes both single threaded
VCD and FST tracing 8-9% faster.
2020-05-17 13:53:02 +01:00
Wilson Snyder
1f52b01b2c
Travis: Fix cron.
2020-05-17 08:48:31 -04:00
Wilson Snyder
d5fc0fca41
Travis: Fix cron.
2020-05-17 08:19:42 -04:00
Wilson Snyder
212aa332dd
Commentary
2020-05-16 18:53:18 -04:00
Wilson Snyder
17e7da77f0
Misc internal coverage improvements.
2020-05-16 18:02:54 -04:00
Wilson Snyder
201f0d3f5f
Codecov badge
2020-05-16 15:02:22 -04:00
Wilson Snyder
7d0b3b300a
Travis: Setup cron coverage
2020-05-16 14:59:30 -04:00
Wilson Snyder
0b55e205f7
Internal code_coverage: speedup aggregation.
2020-05-16 14:53:22 -04:00
Wilson Snyder
9c0c6439cc
Clean additional objects.
2020-05-16 13:28:03 -04:00
Wilson Snyder
d33d0301f8
Support verilator_coverage --write-info for lcov HTML reports.
2020-05-16 09:18:35 -04:00
Wilson Snyder
6fd7f45cef
Internals: Remove dead needHInlines code
2020-05-16 07:53:27 -04:00
Wilson Snyder
57a937df03
Misc internal coverage cleanups
2020-05-16 07:43:22 -04:00
Wilson Snyder
ffd461dcf8
Tests: Check need -cc message
2020-05-16 07:10:44 -04:00
Wilson Snyder
f77058774e
Add codecov.yml
2020-05-16 06:15:45 -04:00
Wilson Snyder
1d0a726437
Update internal code coverage framework.
2020-05-16 06:15:25 -04:00
Wilson Snyder
29bcbb0417
Suppress impossible code coverage issues
2020-05-15 22:34:29 -04:00
Wilson Snyder
2d11c2cbb3
Tests: Fix driver called with no tests
2020-05-15 22:33:35 -04:00
Wilson Snyder
2edbcce032
Tests: Need only one run of t_trace_c_api.pl
2020-05-15 22:33:20 -04:00
Wilson Snyder
35a53d9adb
Add t_trace_c_api test.
2020-05-15 20:38:08 -04:00
Wilson Snyder
2885c2ce97
Fix coredump on countbits.
2020-05-15 19:29:17 -04:00
Geza Lore
900c023bb5
Refactor trace implementation to allow experimentation
...
The main goal of this patch is to enable splitting the full and
incremental tracing functions into multiple functions, which can then be
run in parallel at a later stage. It also simplifies further
experimentation as all of the interesting trace code construction now
happens in V3Trace. No functional change is intended by this patch, but
there are some implementation changes in the generated code.
Highlights:
- Pass symbol table directly to trace callbacks for simplicity.
- A new traceRegister function is generated which adds each trace
function as an individual callback, which means we can have multiple
callbacks for each trace function type.
- A new traceCleanup function is generated which clears the activity
flags, as the trace callbacks might be implemented as multiple functions.
- Re-worked sub-function handling so there is no separate sub-function
for each trace activity class. Sub-functions are generate when required
by splitting.
- traceFull/traceChg are now created in V3Trace rather than V3TraceDecl,
this requires carrying the trace value tree in TraceDecl until it
reaches V3Trace where the TraceInc nodes are created (previously a
TraceInc was also created in V3TraceDecl which carries the value).
2020-05-15 18:34:29 +01:00
Geza Lore
12b95f6b93
Clean up V3TraceDecl & V3Trace. No functional change intended.
...
- Constify variables
- Remove redundancies
- [Hopefully] make some code a bit more readable
2020-05-15 18:34:29 +01:00
Wilson Snyder
85de3048a5
Tests: Avoid poluting non-obj_ files.
2020-05-14 18:50:49 -04:00
Wilson Snyder
c1a9fe07e9
Support multi channel descriptor I/O ( #2190 )
...
clang-format and Changes update. No functional change.
2020-05-14 18:14:50 -04:00
Stephen Henry
1a0da2e4ec
Support multi-channel descriptor (MCD) I/O ( #2197 )
2020-05-14 18:03:00 -04:00
Wilson Snyder
38d11ecabe
Commentary
2020-05-13 21:06:00 -04:00
Wilson Snyder
148762364b
Tests: Complicated for loops long ago supported.
2020-05-13 20:53:55 -04:00
Huang Rui
68d7596adf
Fix compile error when using bison 3.6.1 ( #2320 )
...
Workaround issue: bison 3.6.1 generated unexpected nested-comment
Closes: https://github.com/verilator/verilator/issues/2320
Signed-off-by: Huang Rui <[email protected] >
2020-05-13 19:18:56 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Wilson Snyder
68ed683681
Travis: Run 20.04 for non-cron, more others for cron.
2020-05-11 20:31:37 -04:00
Wilson Snyder
61e41595a2
Fix clang warning
2020-05-11 20:31:37 -04:00
Stephen Henry
484b574cef
Fix crash on self-referential enum type. ( #2319 )
2020-05-11 18:44:28 -04:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Wilson Snyder
fac43811fd
Commentary
2020-05-10 21:26:09 -04:00
Wilson Snyder
15f63d12d5
Fix message for seeded random.
2020-05-10 21:15:48 -04:00
Wilson Snyder
ba7b3fd60f
Support $display(,,).
2020-05-10 20:48:18 -04:00
Wilson Snyder
897b9ccfe2
Fix display of huge double.
2020-05-10 16:03:46 -04:00
Wilson Snyder
b97e1aa9fe
Support cast to string
2020-05-10 15:42:16 -04:00
Wilson Snyder
d4a631446b
Fix crash in unroller on increment-only while loops.
2020-05-10 15:26:41 -04:00
Wilson Snyder
a2cc053c6f
Tests: Fix t_math_svl.pl
2020-05-10 15:19:38 -04:00
Wilson Snyder
8998ffc4e5
Support reporting some fork syntax errors.
2020-05-10 15:01:43 -04:00
Wilson Snyder
ca162716c6
Internals: clang-format
2020-05-10 14:29:15 -04:00
Wilson Snyder
629dd16714
Tests: Rename t_delay_func_bad
2020-05-10 14:28:42 -04:00
Wilson Snyder
12b903caf4
Improve error on using array.unique method.
2020-05-10 14:28:42 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Wilson Snyder
070bcddf5a
Support unpacked array .sum and .product.
2020-05-10 12:48:33 -04:00
Wilson Snyder
feb1e2bd48
Commentary
2020-05-10 11:01:57 -04:00
Wilson Snyder
6e7ee23644
Internals: Code cleanups.
2020-05-09 15:00:46 -04:00
Wilson Snyder
c00cc18d37
Optimize dead code after gotos
2020-05-09 15:00:36 -04:00
Wilson Snyder
a7e17a8855
Fix double conversion on half of conditional.
2020-05-08 21:35:45 -04:00
Wilson Snyder
60fa1db731
Tests: Trivial cleanup
2020-05-08 21:35:45 -04:00
Geza Lore
ac09ad3ffd
Minor improvements to DPI open array handling ( #2316 )
...
- Allow arbitrary number of open array dimensions, not just 3. Note
right now this only works with the array querying functions specified
in IEEE 1800-2017 H.12.2
- Issue error when passing dynamic array or queue as DPI open array
(currently unsupported)
- Also tweaked AstVar::vlArgTypeRecurse, which should now error or fail
for unsupported types.
2020-05-08 18:22:44 +01:00
Wilson Snyder
27953e26b6
Backout example change.
2020-05-08 07:35:54 -04:00
Wilson Snyder
9375d9f603
Fix $isunknown with constant Zs.
2020-05-07 21:40:08 -04:00
Wilson Snyder
72bd91c7f1
Support $isunbounded and parameter $. ( #2104 )
2020-05-07 21:12:58 -04:00
Wilson Snyder
8850ca962e
Fix newish error to use standard parens to ref IEEE.
2020-05-07 21:12:58 -04:00
Wilson Snyder
7fd590f855
Commentary
2020-05-07 21:12:58 -04:00
Wilson Snyder
5f7ae1fbce
wip
2020-05-07 21:04:26 -04:00
Wilson Snyder
b56a25e89c
Fix newish error to use standard parens to ref IEEE.
2020-05-07 18:21:11 -04:00
Wilson Snyder
4f32b093e6
Commentary
2020-05-07 18:11:06 -04:00
Geza Lore
6a54fb6f96
Modify std::multimap in V3Combine safely.
...
We used to iterate the m_callMmap std::multimap by getting limit
iterators from equal_range, but we also modify the same map in the loop
which invalidates those limit iterators. Note this only caused actual
problems if the new AstCCall inserted via 'addCall' in the loop had a
memory address (which is used as the key) which fell into the range
returned by equal_range, so was pretty hard to trigger.
2020-05-07 14:31:43 +01:00
Wilson Snyder
546ccd56c4
Internals: Enable future JumpGo to non-end. No functional change intended.
2020-05-06 21:33:05 -04:00
Wilson Snyder
ca77a93214
Add lint check for bad delay locations.
2020-05-06 19:25:13 -04:00
Dan Petrisko
ee1b20e1cd
Adding missing sstream include ( #2312 )
2020-05-06 19:16:41 -04:00
Yutetsu TAKATSUKASA
aa86e0bbc0
Support 'E', 'p', and 'P' when overriding floating point parameter. ( #2310 )
2020-05-06 07:45:07 -04:00
Wilson Snyder
b6b3482010
Internals: Use typ delay by default
2020-05-05 20:42:19 -04:00
Wilson Snyder
05aecd2c0b
Internals: Fix tabs in astgen. No effective functional change.
2020-05-05 20:33:35 -04:00
Wilson Snyder
6ab3d8f3ed
Internals: Refactor to add AstNodeProcedure. No functional change intended.
2020-05-05 19:12:36 -04:00
Wilson Snyder
0fcc7f2987
Fix default pkgconfig version to have no spaces ( #2308 )
2020-05-05 08:46:24 -04:00
Wilson Snyder
7d7e67b49b
Show Verilog reference on V3Number asserts.
2020-05-04 19:57:21 -04:00
Wilson Snyder
a41ea180fa
Fix +: and -: on unpacked arrays. ( #2304 )
2020-05-04 19:40:50 -04:00
Wilson Snyder
98889b3f4e
Tests: Fix permission
2020-05-04 19:35:48 -04:00
Tim Snyder
83fbfa8c71
Fix /usr/bin/env perl in lieu of /usr/bin/perl ( #2307 )
...
Enables scripts to work where perl is not installed at /usr/bin/perl
2020-05-04 19:27:30 -04:00
Tim Snyder
a57262d6e7
Fix use /usr/bin/env perl in lieu of /usr/bin/perl ( #2306 )
...
Enables scripts to work where perl is not installed at /usr/bin/perl
2020-05-04 18:42:15 -04:00
Geza Lore
fe708f045a
Fix Travis oddity
2020-05-04 00:21:07 +01:00
Geza Lore
8afcd67a1f
Fix FST tracing of little endian vectors
2020-05-03 22:39:45 +01:00
Wilson Snyder
16e258eb4c
Commentary: reformat changes, relocate announcements
2020-05-03 16:10:02 -04:00
Wilson Snyder
d6fbbddac9
devel release
2020-05-03 11:18:53 -04:00
Wilson Snyder
9dc65df982
Version bump
2020-05-03 11:14:37 -04:00
Wilson Snyder
8f64e4a76f
Support $root, #2150 .
2020-05-02 08:29:20 -04:00
John Demme
6e9008fb5a
Fix VerilatedVarProps::totalSize missing the first unpacked dim ( #2296 )
2020-05-01 07:42:29 -04:00
Wilson Snyder
5ded80cf79
Fix MacOs Homebrew by removing default LIBS, #2298 .
2020-04-30 19:53:21 -04:00
Wilson Snyder
a6deee2083
Fix clock enables with bit-extends, #2299 .
2020-04-30 19:22:58 -04:00
Wilson Snyder
e1f45dd84a
Commentary
2020-04-30 18:52:32 -04:00
Wilson Snyder
9fd4541069
Fix reduction OR on wide data, broke in v4.026, #2300 .
2020-04-30 17:53:54 -04:00
Geza Lore
849487da23
Modify --build to be a standalone option ( #2294 )
...
- Issue an error when --build is used together with --make
- When given --build, always use GNU Make to perform the build
- Update documentation (examples were good as they were)
- Remove the broken t_flag_build_cmake test
Fixes #2280
2020-04-30 12:54:50 +01:00
Peter Horvath
dc64b43152
Fix xcode clang bug workaround ( #2295 )
2020-04-30 07:20:31 -04:00
Geza Lore
209a585a68
Remove VL_NEGATE_{I,Q,E}, use C native unary '-' instead
...
This is to avoid slowing down -O0 models unnecessarily.
2020-04-30 01:05:52 +01:00
Geza Lore
aa9cde22c8
Use SIMD intrinsics to render VCD traces ( #2289 )
...
Use SIMD intrinsics to render VCD traces.
I have measured 10-40% single threaded performance increase with VCD
tracing on SweRV EH1 and lowRISC Ibex using SSE2 intrinsics to render
the trace. Also helps a tiny bit with FST, but now almost all of the FST
overhead is in the FST library.
I have reworked the tracing routines to use more precisely sized
arguments. The nice thing about this is that the performance without the
intrinsics is pretty much the same as it was before, as we do at most 2x
as much work as necessary, but in exchange there are no data dependent
branches at all.
2020-04-30 00:09:09 +01:00
Wilson Snyder
faf7255e83
Commentary
2020-04-29 18:42:28 -04:00
Wilson Snyder
a6c97cc3bc
Commentary
2020-04-29 18:41:00 -04:00
Wilson Snyder
977ceb404d
Mention -march-native, #2289 .
2020-04-29 18:10:43 -04:00
Wilson Snyder
b44efe7ef7
Use 'suggest' for consistent wording.
2020-04-28 21:19:19 -04:00
Wilson Snyder
15ad3f46be
Fix logical not optimization with empty begin, #2291 .
2020-04-28 21:15:20 -04:00
Wilson Snyder
c6d1a9858a
Use clang-format 10.0.0
2020-04-28 18:47:59 -04:00
Wilson Snyder
77cc335c2d
Commentary
2020-04-28 18:47:49 -04:00
Wilson Snyder
a95eb53684
Commentary ( #2290 ).
2020-04-28 18:46:59 -04:00
Wilson Snyder
910803e6db
Fix error on unpacked connecting to packed, #2288 .
2020-04-27 18:38:54 -04:00
Geza Lore
dd967f7769
Improve trace buffer memory utilization and performance.
...
Convert trace buffer to 32-bit entries, rather than a union containing a
pointer type. Also tweaked trace entry layouts for a bit more
performance. This gains another 10% on SweRV EH1 CoreMark.
2020-04-27 19:00:17 +01:00
Geza Lore
b79ef672e1
Various minor optimizations of VCD trace routines
...
- Change templated trace routines to branch table.
Removed templating from trace chgBus and fullBus and replaced them with
a branch table like the other there is a very small (< 1%) penalty for
this on SwerRV EH1 CoreMark, but this is less than the variability of
disk IO so it's worth it to keep the code simpler and smaller.
- Prefetch VCD suffix buffer at the top of emit*
- Increase ILP in VCD emit* routines
- Use a 64-bit unaligned store to emit the VCD suffix (on x86 only)
The performance difference with these is very small, but the changes
hopefully make this code more performance-portable across various
micro-architectures.
2020-04-27 18:44:53 +01:00
Wilson Snyder
70549e1a64
Internals: Parse lifetime directives; still unsupported.
2020-04-26 12:45:06 -04:00
Wilson Snyder
87e1c36e4a
Support event data type (with some restrictions).
2020-04-25 15:37:46 -04:00
Geza Lore
9991b19610
Another attempt at flushing threaded VCD correctly.
2020-04-25 18:40:09 +01:00
Geza Lore
1381d3dbde
Add -Wno-tautological-bitwise-compare to model build flags ( #2285 )
...
This appeases Clang 10.
2020-04-25 16:29:42 +01:00
Wilson Snyder
5e575f5906
Fix line numbers in tables.
2020-04-24 19:34:26 -04:00
Wilson Snyder
e2cbcd37d8
Commentary
2020-04-24 18:43:02 -04:00
Wilson Snyder
3b37b5b92d
Tests: Check output from some unsupported tests.
2020-04-24 08:22:19 -04:00
Geza Lore
10b4678ee6
Make vgen.pl deterministic
2020-04-24 04:53:33 +01:00
Geza Lore
c1665818b9
Fix missing flush with threaded VCD tracing. ( #2282 )
...
VerilatedVcdC::openNext() failed to flush the tracing thread before
opening the next output file, which caused t_trace_cat.pl to fail
with --vltmt on occasion.
2020-04-24 03:09:26 +01:00
Geza Lore
27f4399c31
Fix tests failing on rerun after passing from clean. ( #2281 )
2020-04-23 21:27:06 -04:00
Wilson Snyder
df52e481fb
Collected minor output code cleanups.
2020-04-23 21:22:47 -04:00
Wilson Snyder
f93ae707e0
Tests: Add bad option test.
2020-04-23 19:56:26 -04:00
Geza Lore
6ed10b7fde
Fix --protect-lib generated library link rules ( #2279 )
...
We used to include a .cpp file on the link line for the shared library,
which was ignored, but generated a .d file for the .so which contained
the header files required by the .cpp file. This then caused a rebuild
where we included the .d in verilated.mk to included in the .h headers
among the prerequisites of the .so, yielding a clang error about treating
.h files as c++-header rather than c-header... Long story short, we don't
do that anymore. This used t cause t_a4_examples to fail on occasion.
Note there is no need for a separate compilation rule for the
<--protect-lib>.cpp, as it will jsut pick up the standard OPT_FAST rule.
2020-04-23 17:30:23 -04:00
Geza Lore
8208fe8a0e
Fix test failures on Ubuntu 20.04 ( #2278 )
...
- Packaged SystemC lives in /usr so needed to update regex in test
driver
- Clang 10 complains about mixed named and positional initializers in
struct definitions.
2020-04-23 17:29:37 -04:00
Wilson Snyder
ace35b3e81
Tests: Add -G test.
2020-04-23 08:05:14 -04:00
Wilson Snyder
2b58e834ee
Tests: Rename IVERILOG define for consistency. No functional change.
2020-04-23 08:05:14 -04:00
Qingyao Sun
14643643c9
Fix compatibility problem with CMake policy CMP0025 ( #2277 )
...
Signed-off-by: Qingyao Sun <[email protected] >
2020-04-23 07:14:20 -04:00
Wilson Snyder
7176aee852
Internals: Parse fork and delays, but then still report unsupported.
2020-04-22 21:31:40 -04:00
Geza Lore
c96a43b452
Fix unused variable in VL_READMEM_N ( #2274 )
2020-04-22 17:25:35 -04:00
Wilson Snyder
77915f78db
Add experimental-only option.
2020-04-21 20:45:23 -04:00
Geza Lore
c52f3349d1
Initial implementation of generic multithreaded tracing ( #2269 )
...
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).
Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:
--trace -> --trace --trace-threads 1 +22%
--trace-fst -> --trace-fst --trace-threads 1 +38% (as --trace-fst-thread)
--trace-fst -> --trace-fst --trace-threads 2 +93%
Speed relative to --trace with no threaded tracing:
--trace 1.00 x
--trace --trace-threads 1 0.82 x
--trace-fst 1.79 x
--trace-fst --trace-threads 1 1.23 x
--trace-fst --trace-threads 2 0.87 x
This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
Wilson Snyder
6ab51de96d
Fix dockerfile
2020-04-21 18:37:53 -04:00
James Hanlon
97cbc10925
Add --flaten for use with --xml-only ( #2270 ).
2020-04-21 18:14:08 -04:00
James Hanlon
65cd4f6047
Fix comment and add to CONTRIBUTORS ( #2270 ).
2020-04-21 18:11:53 -04:00
Wilson Snyder
174fd1bf0e
Codacy cleanups. No functional change.
2020-04-20 22:01:47 -04:00
Wilson Snyder
b12413e42f
Tests: Reenable some tests incorrectly marked unsupported.
2020-04-20 21:55:23 -04:00
Wilson Snyder
7709130d93
Fix Codacy badge
2020-04-20 21:52:29 -04:00
Wilson Snyder
15f7685755
Codacity cleanups. No functional change intended.
2020-04-20 21:43:05 -04:00
Wilson Snyder
83c6e9e821
Commentary commit for Codacity.
2020-04-20 21:13:43 -04:00
Veripool API Bot
1cacb1deab
Commentary commit for Codacity.
2020-04-20 20:01:59 -04:00
Veripool API Bot
03bc8b7480
Commentary commit for Codacity.
2020-04-20 19:54:07 -04:00
Veripool API Bot
7d6668a3bd
Commentary commit for Codacity.
2020-04-20 19:38:21 -04:00
Wilson Snyder
def40fab9b
Internals: Rename VSigning
2020-04-19 21:19:09 -04:00
Wilson Snyder
fceedd9f4d
Tests: Update static test.
2020-04-19 21:18:57 -04:00
Wilson Snyder
4272f2116e
Tests: Update static test.
2020-04-19 20:10:07 -04:00
Geza Lore
39d903375b
Factor out trace implementation common to all formats. ( #2268 )
...
This patch de-duplicates common functionality between the VCD and FST
trace implementation. It also enables adding new trace formats more
easily and consistently.
No functional nor performance change intended.
2020-04-19 23:57:36 +01:00
Wilson Snyder
9164eb03d5
Show that class parameters even if unused are unsupported.
2020-04-19 18:36:55 -04:00
Wilson Snyder
7b789fe02a
Docker: Add ccache and libgoogle-perftools-dev
2020-04-19 12:59:38 -04:00
Wilson Snyder
4ae3d3af71
Fix docker build error
2020-04-19 12:43:20 -04:00
Geza Lore
6a54922044
Set FST timescale correctly. ( #2266 )
...
The FST trace timescale used to be set in the constructor via
set_time_unit, but at that point we haven't normally opened the
file yet so it was just dropped. On top of that, we actually want
to use set_time_resolution... FST trace timescales now match the VCD.
2020-04-19 08:47:22 -04:00
Wilson Snyder
466535abdc
Support direct class member init.
2020-04-18 20:20:17 -04:00
Geza Lore
efacac2e3d
Tests: Ignore SystemC file paths in expected test results ( #2265 )
2020-04-18 18:56:19 -04:00
Geza Lore
74e16d85c5
Fix FST trace initial time stamp. ( #2264 )
...
If the first dump was not at time zero, then the FST trace used
to contain the initial values as if they were set at time zero. Now
they only appear at the time the first dump call is actually made,
and hence match the VCD trace exactly.
2020-04-18 18:54:02 -04:00
Wilson Snyder
39d7cbf412
Fix arrayed instances connecting to slices, #2263 .
2020-04-17 19:30:53 -04:00
Wilson Snyder
8f7e463656
Tests: Fix makeflag test, was failing older makes.
2020-04-16 17:31:41 -04:00
Wilson Snyder
e6f345e45d
Internal: clang-tidy fixes. No functional change.
2020-04-15 21:47:37 -04:00
Wilson Snyder
d4f7f5297a
Support IEEE time units and time precisions, #234 . ( #2253 )
...
Includes `timescale, $printtimescale, $timeformat.
VL_TIME_MULTIPLIER, VL_TIME_PRECISION, VL_TIME_UNIT have been removed
and the time precision must now match the SystemC time precision.
To get closer behavior to older versions, use e.g. --timescale-override
"1ps/1ps".
2020-04-15 19:39:03 -04:00
Wilson Snyder
9b8aebb00c
Commentary on --build
2020-04-15 18:08:37 -04:00
Wilson Snyder
58091edd68
Tests: Fix cmake -j unknown
2020-04-15 18:08:31 -04:00
Yutetsu TAKATSUKASA
18412f9322
Add --build option to call make/cmake as subprocess ( #2249 )
...
* Add --build, -j, -MAKEFLAGS, and --no-verilate options
* Verilator: Can build on both gmake and cmake
2020-04-15 17:44:21 -04:00
Wilson Snyder
1883ab29cb
clang-format 10.0 forward compatibility. No functional change.
2020-04-15 17:36:57 -04:00
Geza Lore
1a64c7d232
Fix run-time formatting of variable wider than 1023 bits ( #2261 )
2020-04-15 17:26:15 -04:00
Wilson Snyder
f3308d236b
clang-format remaining sources. No functional change.
2020-04-15 07:58:34 -04:00
Wilson Snyder
1b94e3b0e2
Internals: clang-format files needed for #2249 .
2020-04-14 19:55:00 -04:00
Geza Lore
08b74e5ab9
Fix crash when formatting constant wider than 1023 bits ( #2260 )
2020-04-14 18:07:09 -04:00
Wilson Snyder
5c966ec510
clang-format many files. No functional change.
...
Use nodist/clang_formatter to reformat files that are now clean.
2020-04-13 22:52:23 -04:00
Geza Lore
dc5c259069
Improve tracing performance. ( #2257 )
...
* Improve tracing performance.
Various tactics used to improve performance of both VCD and FST tracing:
- Both: Change tracing functions to templates to take variable widths as
template parameters. For VCD, subsequently specialize these to the
values used by Verilator. This avoids redundant instructions and hard
to predict branches.
- Both: Check for value changes via direct pointer access into the
previous signal value buffer. This eliminates a lot of simple pointer
arithmetic instructions form the tracing code.
- Both: Verilator provides clean input, no need to mask out used bits.
- VCD: pre-compute identifier codes and use memory copy instead of
re-computing them every time a code is emitted. This saves a lot of
instructions and hard to predict branches. The added D-cache misses
are cheaper than the removed branches/instructions.
- VCD: re-write the routines emitting the changes to be more efficient.
- FST: Use previous signal value buffer the same way as the VCD tracing
code, and only call the FST API when a change is detected.
Performance as measured on SweRV EH1, with the pre-canned CoreMark
benchmark running from DCCM/ICCM, clang 6.0.0, Intel i7-3770 @ 3.40GHz,
and IO to ramdisk:
+--------------+---------------+----------------------+
| VCD | FST | FST separate thread |
| (--trace) | (--trace-fst) | (--trace-fst-thread) |
------------+-----------------------------------------------------+
Before | 30.2 s | 121.1 s | 69.8 s |
============+==============+===============+======================+
After | 24.7 s | 45.7 s | 32.4 s |
------------+--------------+---------------+----------------------+
Speedup | 22 % | 256 % | 215 % |
------------+--------------+---------------+----------------------+
Rel. to VCD | 1 x | 1.85 x | 1.31 x |
------------+--------------+---------------+----------------------+
In addition, FST trace size for the above reduced by 48%.
2020-04-14 00:13:10 +01:00
Wilson Snyder
dc27a179e2
Always define VL_SIG etc; conditional definitions were long removed SystemPerl.
2020-04-13 19:07:56 -04:00
Wilson Snyder
236e6baa76
clang-format: Loops allowed on single line.
2020-04-13 17:44:19 -04:00
Wilson Snyder
dba88bae3c
Support class new.
2020-04-12 18:57:12 -04:00
Wilson Snyder
d4b6e2b2b5
Internals: NodeModule for packages.
2020-04-12 14:53:10 -04:00
Wilson Snyder
1e2d73fc80
Internals: clang-format and refactor taskref pin handling.
2020-04-12 08:26:14 -04:00
Wilson Snyder
ea3acc2d3a
Fix --skip-identical broke recent commit.
2020-04-11 20:22:57 -04:00
Nathan Kohagen
152505e879
Fix make install/uninstall for examples/xml_py, #2252 .
2020-04-11 18:11:53 -04:00
Wilson Snyder
8e6674066f
Tests: Clean before rerunning failing test.
2020-04-11 11:40:15 -04:00
Geza Lore
8b2666cd04
Fix to make trace code allocation dense. ( #2250 )
...
This looks like a bits/bytes bug. The affected m_codeInc member
determines how many 32-bit words to allocate in a buffer used to store
previous values of the signal, but this was off by a factor of 8, so
we used to use too much memory.
SweRV VCD tracing speed +6.5% (excluding IO, clang 6.0), due mainly to
reduced D cache misses.
2020-04-11 16:00:43 +01:00
Wilson Snyder
afa8e4c786
Internals: Favor const_iterator. No functional change.
2020-04-11 10:54:42 -04:00
Wilson Snyder
ef211fc9e0
Make sure SystemC always included in -sc mode to prevent ordering issues.
2020-04-11 10:33:40 -04:00
Wilson Snyder
1a6c2fc55d
Fix class members getting misoptimized away.
2020-04-10 21:10:21 -04:00
Wilson Snyder
15b40a97d9
Support `unconnected_drive
2020-04-09 23:26:03 -04:00
Wilson Snyder
343db78c03
Fix including verilated_sc in Syms to fix compile order problem exposed in #2237 .
2020-04-09 23:03:47 -04:00
Nathan Myers
4c1ae4701a
Add assertion for monotonic dump times #2103 ( #2237 )
2020-04-09 19:00:27 -04:00
Geza Lore
05f213c266
VCD tracing speed improvements ( #2246 )
...
* Don't inline VCD dump functions
Improves model speed with tracing. Measured on SweRW cmark:
- GCC 5.5 ~3% faster
- Clang 6.0 ~12% faster (!)
* Remove redundant test from VCD bit tracing.
Improves model speed with tracing. Measured on SweRW cmark:
- GCC 5.5 ~7.5% faster
- Clang 6.0 ~1.5% faster
2020-04-09 08:19:26 -04:00
Geza Lore
0f617988d4
Compile fast tracing code with OPT_FAST in single compile mode. ( #2245 )
...
When using the __ALL*.cpp based single compile mode (i.e.: without
VM_PARALLEL_BUILDS), the fast path tracing code used to be included in
__Allsup.cpp, which was compiled with OPT_SLOW, severely harming tracing
performance. We now have __ALLfast.cpp and __ALLslow.cpp instead of
__ALLcls.cpp and __ALLsup.cpp, so we can compile the fast support code
with OPT_FAST as well.
2020-04-08 21:05:43 -04:00
Wilson Snyder
1e0b37f4bc
Commentary
2020-04-08 17:55:12 -04:00
Geza Lore
991d8b178b
Fix FST tracing performance by removing std::map from hot path. ( #2244 )
...
This patch eliminates a major piece of inefficiency in FST tracing
support, by using an array to lookup fstHandle values corresponding
to trace codes, instead of a tree based std::map. With this change, FST
tracing is now only about 3x slower than VCD tracing. We do require
more memory to store the symbol lookup table, but the size of that is
still small, for the speed benefit.
2020-04-08 17:54:35 -04:00
Wilson Snyder
608d5a87d1
tests: Avoid assuming a timescale.
2020-04-07 20:55:47 -04:00
Wilson Snyder
914a6edd33
Add error if use SystemC 2.2 and earlier (pre-2011) as is deprecated.
2020-04-07 19:58:17 -04:00
Geza Lore
0cfa828572
Fix DPI import/export to be standard compliant, #2236 .
2020-04-07 19:07:47 -04:00
Wilson Snyder
4556b6c022
Fix clang warning.
2020-04-07 12:17:48 -04:00
Wilson Snyder
cba05480ba
Fix clang warning.
2020-04-06 20:13:24 -04:00
Wilson Snyder
2abbae8dd0
Internals: Remove strncpy to appease codacity.
2020-04-06 19:26:31 -04:00
Wilson Snyder
f13bd1aec4
Fix clang unused warning.
2020-04-06 08:53:19 -04:00
Wilson Snyder
b6c21ad21a
Fix duplicate traces with $dumpfile, part of #2237 .
2020-04-06 08:33:51 -04:00
Wilson Snyder
26301a4133
Commentary
2020-04-06 08:19:32 -04:00
Wilson Snyder
383f9832d4
Tests: Standardize verilog indentation.
2020-04-05 21:53:24 -04:00
Wilson Snyder
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -04:00
Wilson Snyder
ff31abe341
Commenary
2020-04-05 17:01:33 -04:00
Wilson Snyder
763f621d4c
Deprecate VL_ULL.
2020-04-05 16:45:53 -04:00
Wilson Snyder
d922cae0a2
Commentary
2020-04-05 16:13:41 -04:00
Wilson Snyder
efaf375887
Configuring with ccache present now defaults to using it; see OBJCACHE in the manual.
2020-04-05 16:10:33 -04:00
Wilson Snyder
5932eae32a
Commentary
2020-04-05 16:09:18 -04:00
Wilson Snyder
a331397954
Fix real conversion from constant with X/Z.
2020-04-05 11:56:15 -04:00
Wilson Snyder
a494ad5ec7
Support $ferror, #1638 .
2020-04-05 11:22:05 -04:00
Wilson Snyder
b617cd5549
Internals: Add V3ERROR_NA_RETURN. No functional change.
2020-04-05 10:26:53 -04:00
Wilson Snyder
e55338f927
Support $fflush without arguments, #1638 .
2020-04-05 10:11:28 -04:00
Wilson Snyder
6eadb8e771
Add simplistic class support with many restrictions, see manual, #377 .
2020-04-05 09:30:23 -04:00
Wilson Snyder
f6048cc9c1
Fix clang warning. No functional change.
2020-04-05 08:22:51 -04:00
Wilson Snyder
9fdb026e95
Add VM_C11 for future need of C++11
2020-04-04 20:48:03 -04:00
Wilson Snyder
bf17bb4648
Fix codacity warnings
2020-04-04 20:08:58 -04:00
Veripool API Bot
4dc1f40856
Update contributors for codacity
2020-04-04 18:02:23 -04:00
Wilson Snyder
5302a9d0e6
Internals: clang-format cleanups. No functional change.
2020-04-04 17:55:37 -04:00
Wilson Snyder
e07e9390f6
Internals: clang-format cleanups. No functional change.
2020-04-04 14:09:21 -04:00
Wilson Snyder
a13eab55f5
Internals: Add missing VL_DO_CLEARs. No functional change.
2020-04-04 13:06:31 -04:00
Wilson Snyder
b2228afd1a
devel release
2020-04-04 08:50:56 -04:00
Wilson Snyder
d3797ade95
Version bump
2020-04-04 08:40:47 -04:00
Wilson Snyder
19b472cf0b
Internals: Cleanup unused nodep in visitors. No functional change intended.
2020-04-04 08:31:14 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
27516b565d
Commentary
2020-04-03 20:08:24 -04:00
Wilson Snyder
c288a7bfb9
Add GCC10-style line number prefix when showing source text for errors.
2020-04-03 20:07:46 -04:00
Maciej Sobkowski
b44cd57866
Add myself to CONTRIBUTORS, #2223
2020-04-03 18:06:48 -04:00
Wilson Snyder
b88a7f5152
Commentary - sort names.
2020-04-03 17:59:19 -04:00
Marco Widmer
7f9aa057bf
Support split_var in vit files ( #2219 )
2020-04-03 08:08:23 -04:00
Marco Widmer
305b4f3c75
Fix configuration file documentation ( #2221 )
2020-04-02 17:32:06 -04:00
Wilson Snyder
6f4a8fe695
Fix Travis-CI failures.
2020-04-02 09:22:10 -04:00
Wilson Snyder
8aec436b5e
Commentary
2020-04-02 08:26:06 -04:00
Wilson Snyder
aef2b7ea3c
Internals: clang-format cleanup. No functional change.
2020-04-02 08:25:44 -04:00
Wilson Snyder
dcde026bac
With --Wpedantic, report forward typedefs that are unused.
2020-04-02 07:39:14 -04:00
Wilson Snyder
926209706f
Report REALCVT on $display format mistakes.
2020-04-01 20:42:47 -04:00
Wilson Snyder
bd5d4c61c6
Suppress REALCVT for small whole real numbers.
2020-04-01 19:24:07 -04:00
Wilson Snyder
19abce5535
Suppress REALCVT for whole real numbers.
2020-04-01 18:43:53 -04:00
Wilson Snyder
ab058c85bf
Fix clang warning.
2020-04-01 12:40:49 -04:00
Wilson Snyder
4361c4b57a
Add vlsint8_t types.
2020-03-31 21:30:18 -04:00
Wilson Snyder
e6beab4037
Fix implicit conversion of floats to wide integers.
2020-03-31 20:42:07 -04:00
Wilson Snyder
ebeb645539
Commentary
2020-03-30 20:09:55 -04:00
Wilson Snyder
5c72f01598
Fix assertions with unique case inside, #2199 .
2020-03-30 18:13:51 -04:00
Wilson Snyder
0cf44a9c4f
Internals: Refactor InsideRange common code. No functional change intended.
2020-03-30 18:12:50 -04:00
Sean Cross
1fe5d5db79
Fix mingw build ( #2215 )
...
* v3Os: include <windows.h> instead of <winnt.h>
The windows.h header file should be included prior to any other headers,
in order to ensure all definitions are available. By only including
some headers, such as winnt.h, many "undefined symbol" messages are
generated.
Include "windows.h" to fix the build on msys2 under mingw64.
Signed-off-by: Sean Cross <[email protected] >
* configure: check for bcrypt and psapi on windows
These two libraries must be linked in order to have access to
BCryptGenRandom and GetProcessMemoryInfo respectively.
Signed-off-by: Sean Cross <[email protected] >
2020-03-29 12:29:40 -04:00
Sean Cross
a1a2650f1e
Modernize va args ( #2214 )
...
Verilator uses a form of variadic macros that are nonstandard, making it
unable to be compiled under MSVC. Replace the old synax with the
standard syntax. This fixes MSVC usage.
Signed-off-by: Sean Cross <[email protected] >
2020-03-29 10:29:12 -04:00
Wilson Snyder
07d00f26aa
Fix docker exit status when Verilator fails, #2153 .
2020-03-28 19:15:06 -04:00
Wilson Snyder
8d3d185e3b
Fix docker exit status when Verilator fails, #2153 .
2020-03-28 17:25:20 -04:00
Wilson Snyder
81a63b0c7d
Commentary
2020-03-28 17:18:12 -04:00
Matthew Ballance
510be53521
Expose VPI cbNextDeadline via the public API ( #2212 )
...
Signed-off-by: Matthew Ballance <[email protected] >
2020-03-28 13:47:21 -04:00
Wilson Snyder
4145a38c47
Fix duplicate typedefs in generate for, #2205 .
2020-03-26 18:10:20 -04:00
Wilson Snyder
590b1853d0
Fix packages as enum base types, #2202 .
2020-03-24 17:57:12 -04:00
Wilson Snyder
08a51e3e09
Fix VCD open with empty filename, #2198 .
2020-03-24 17:32:47 -04:00
Wilson Snyder
75ebe7a4be
Update gtkwave from upstream.
2020-03-21 21:45:57 -04:00
Wilson Snyder
1e0e51edd3
Fix parameter type redeclaring a type, #2195 .
2020-03-21 12:13:55 -04:00
Wilson Snyder
0ca07e4d58
Tests: Remove t_emit_memb_limit/vltmt as slow
2020-03-21 12:08:38 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
172583eb03
Commentary - fix error regexp, #2191 .
2020-03-17 15:39:50 -04:00
Wilson Snyder
c2b49f0174
Internals: clang-format cleanups. No functional change.
2020-03-15 23:20:33 -04:00
Wilson Snyder
92d62a6568
Internals: clang-format cleanups for V3Inline. No functional change.
2020-03-15 22:30:20 -04:00
Wilson Snyder
5d9d1cc09f
Internals: Favor const_iterator (in a few obvious spots, more needed). No functional change.
2020-03-15 18:34:09 -04:00
Wilson Snyder
57068b95ef
Internals: Move code, no functional change.
2020-03-15 13:39:36 -04:00
Wilson Snyder
5f63b24c50
Change --quiet-exit to also suppress 'Exiting due to N errors'.
2020-03-15 08:09:51 -04:00
Wilson Snyder
81c659957e
Add column numbers to errors and warnings.
2020-03-14 22:02:42 -04:00
Wilson Snyder
ee8dd32c04
Check and document error format, #2191 .
2020-03-14 21:48:26 -04:00
Wilson Snyder
0a755e6ecf
Tests: Favor use of expect_filename. No functional change.
2020-03-14 17:42:15 -04:00
Wilson Snyder
e6c91f59ab
Tests: Allow --numsets 2/2
2020-03-09 17:57:27 -04:00
Wilson Snyder
9f947bcb5f
Internals: Refactor flags in V3Undriven. No functional change intended.
2020-03-08 21:37:07 -04:00
Wilson Snyder
135ccf6595
Tests: Fix ormux on travis.
2020-03-08 09:48:13 -04:00
Wilson Snyder
9a2a3f8db7
Tests: Add t_gate_ormux, #2186 , #2187 .
2020-03-08 09:18:12 -04:00
Wilson Snyder
8ccc17f30b
Add setting VM_PARALLEL_BUILDS=1 when using --output-split, #2185 .
2020-03-08 09:03:29 -04:00
Wilson Snyder
9392eac6a7
devel release
2020-03-08 08:40:33 -04:00
Wilson Snyder
95c4b6aaba
Version bump
2020-03-08 08:38:53 -04:00
Wilson Snyder
1c1319079b
Tests: Add driver --hashset for Travis.
2020-03-07 22:02:03 -05:00
Wilson Snyder
328fef8190
Tests: Add driver --hashset for Travis.
2020-03-07 21:38:44 -05:00
Wilson Snyder
e2dec043a0
Tests: Backout part of previous commit.
2020-03-07 21:01:36 -05:00
Wilson Snyder
bd42e31b2a
Tests: For travis, skip Bit::Vector and show intall dates.
2020-03-07 20:08:41 -05:00
Wilson Snyder
6d73237b27
Travis: Don't cpan test to save time.
2020-03-07 19:24:05 -05:00
Wilson Snyder
6c6d70a5e5
Fix FST when multi-model tracing.
2020-03-07 18:39:58 -05:00
Wilson Snyder
6f49f802b1
Tests: Add fst_identical.
2020-03-07 16:59:46 -05:00
Wilson Snyder
808c958d42
Internals: Add AstNodeCCall and other items towards classes.
2020-03-07 12:52:11 -05:00
Wilson Snyder
961ac49c5c
Internals: Merge parse type from classes branch. No functional change intended.
2020-03-07 11:00:57 -05:00
Wilson Snyder
2d52f525c5
Add --structs-packed for forward compatibility, #1541 .
2020-03-07 10:51:06 -05:00
Wilson Snyder
e70cba77e6
Add support for dynamic arrays, #379 .
2020-03-07 10:24:27 -05:00
Wilson Snyder
8054fc47ea
Internals: Refectoring. No functional change intended.
2020-03-07 08:24:57 -05:00
Wilson Snyder
e673875b3b
Fix clang warning, last commit.
2020-03-06 07:31:56 -05:00
Wilson Snyder
29923b78fd
Internals: Use VL_TO_STRING instead of to_string.
2020-03-05 23:28:41 -05:00
Wilson Snyder
135cbcd79a
Internals: Move 'new' unsupported forward from parse into Ast.
2020-03-05 22:33:31 -05:00
Wilson Snyder
75ecad591a
Implement $displayb/o/h, $writeb/o/h, etc, Closes #1637 .
2020-03-05 21:49:25 -05:00
Wilson Snyder
c108f5def9
Commentary, Closes #2177 .
2020-03-05 19:09:58 -05:00
Wilson Snyder
dab1cb610a
Tests: Allow iv to run SystemVerilog tests
2020-03-05 18:12:10 -05:00
Wilson Snyder
fd656f6cc1
Fix clang asserted missing lock on m_dumping.
2020-03-03 19:20:04 -05:00
Wilson Snyder
a7e65379fa
Ignore $dumpflush, think causes travis thread error.
2020-03-02 17:56:42 -05:00
Wilson Snyder
905067d13f
Fix $dumpvar multithreaded assert, broke last commit.
2020-03-02 07:43:10 -05:00
Wilson Snyder
30a33a6104
Add support for and , #2126 .
2020-03-01 21:39:23 -05:00
Wilson Snyder
0ca0e07354
Internals: Vcd doesn't need code when registering. No functional change intended.
2020-02-29 20:42:52 -05:00
Wilson Snyder
aac02acf92
Tests: Rename
2020-02-29 10:06:52 -05:00
Wilson Snyder
082c9e0b1d
Tests: Add two-design trace tests.
2020-02-29 09:44:51 -05:00
Wilson Snyder
a7bd934fe3
Tests: Cleanup false used as 0. No functional change.
2020-02-29 08:56:49 -05:00
David Stanford
e98a380b44
Tests: Update some tests to skip if prerequisites aren't installed ( #2181 )
2020-02-29 07:20:23 -05:00
Wilson Snyder
4878fe3a1f
Add split_var metacomment to assist UNOPTFLAT fixes, #2066 .
2020-02-28 19:15:08 -05:00
Wilson Snyder
c6b755a12e
Commentary
2020-02-27 19:35:49 -05:00
Wilson Snyder
991d81cd0a
Recommend -Os.
2020-02-27 07:46:34 -05:00
Wilson Snyder
c06a97a221
Remove OBJCACHE_HOSTS; dead code.
2020-02-27 07:18:15 -05:00
Wilson Snyder
6131bcdbb0
Verilator_gantt: Fix CPU count in report.
2020-02-27 07:12:50 -05:00
Wilson Snyder
68b6a0b667
Fix genblk naming with directly nested generate blocks, #2176 .
2020-02-25 22:21:16 -05:00
Wilson Snyder
4c438bbc67
Commentary
2020-02-25 19:01:14 -05:00
Wilson Snyder
5b83484f20
Remove dead genblk code & some cleanups.
2020-02-25 18:57:51 -05:00
Wilson Snyder
93ac79981b
Tests: Rename t_var_dotted. No functional change.
2020-02-24 18:51:44 -05:00
Wilson Snyder
c9b74847d1
Docs: Tighter margins, save 10 pages.
2020-02-24 18:11:56 -05:00
Wilson Snyder
23eb96579c
Fix duplicate __STDC_FORMAT_MACROS definition.
2020-02-24 18:11:41 -05:00
Todd Strader
8319ea6c73
Changes
2020-02-24 06:36:13 -05:00
Todd Strader
60f82961b4
De-tabify
2020-02-24 06:36:13 -05:00
Todd Strader
f7d1c6ca72
emacs verilog-batch-indent
2020-02-24 06:36:13 -05:00
Todd Strader
4b4f10f5e6
Follow other clock gating examples
2020-02-24 06:36:13 -05:00
Todd Strader
120f62fe85
Fix is probably to mark as a clock
2020-02-24 06:36:13 -05:00
Todd Strader
db6ecbd57e
Test for #2169
2020-02-24 06:36:13 -05:00
Wilson Snyder
28e19cef90
Fix undeclared VL_SHIFTR_WWQ, #2114 .
2020-02-23 19:33:37 -05:00
Tobias Wölfel
18f8cd0529
Allow assert disable ( #2168 )
...
* Add +verilator+noassert flag
This allows to disable the assert check per simulation argument.
* Add AssertOn check for assert
Insert the check AssertOn to allow disabling of asserts.
Asserts can be disabled by not using the `--assert` flag or by calling
`AssertOn(false)`, or passing the "+verilator+noassert" runtime flag.
Add tests for this behavior.
Bad tests check that the assert still causes a stop.
Non bad tests check that asserts are properly disabled and cause no stop
of the simulation.
Fixes #2162 .
Signed-off-by: Tobias Wölfel <[email protected] >
* Correct file location
Signed-off-by: Tobias Wölfel <[email protected] >
* Add description for single test execution
Without this description it is not obvious how to run a single test from
the regression test suite.
Signed-off-by: Tobias Wölfel <[email protected] >
2020-02-15 18:17:23 -06:00
Wilson Snyder
02786b3f09
Commentary
2020-02-12 22:46:59 -05:00
Wilson Snyder
70358e8587
Fix compiler warning.
2020-02-08 10:58:07 -05:00
Wilson Snyder
95b66feeb8
devel release
2020-02-08 09:16:35 -05:00
Wilson Snyder
890cecc15b
Version bump
2020-02-08 09:03:51 -05:00
Wilson Snyder
f7bad37e88
Fix GCC 4.4.7 errors.
2020-02-08 07:09:41 -05:00
Wilson Snyder
134b5efd70
Tests: Ignore obj_iv.
2020-02-07 18:00:07 -05:00
Wilson Snyder
0d6ebf21b3
Suggest svSetScope, #2152 .
2020-02-07 17:59:02 -05:00
Wilson Snyder
2d1b804e80
Fix OpenSolaris issues, #2154 .
2020-02-07 17:35:04 -05:00
Todd Strader
77f1b3eef4
Support parameter access from arrays of interfaces, #2155 .
2020-02-06 19:19:23 -05:00
Wilson Snyder
609a5dc26d
Fix cppcheck warnings. No functional change intended.
2020-02-03 23:21:56 -05:00
Wilson Snyder
0aabe6ce00
Internals: Fix cppcheck warning including missing init.
2020-02-03 22:10:29 -05:00
Wilson Snyder
20cc4e57d5
tests: Driver style fix.
2020-02-03 18:43:56 -05:00
Wilson Snyder
f3ebdc40c6
Fix some coverage lost when multithreaded, #2151 .
2020-02-03 18:43:41 -05:00
Wilson Snyder
2ca9f73b31
Internals: Cleanup Emit towards constructor/destructor output.
2020-02-02 21:15:07 -05:00
Wilson Snyder
73f5e3f808
Internals: Add missing const. No functional change.
2020-02-02 10:34:29 -05:00
Wilson Snyder
8d3dad510f
Fix unused variable.
2020-02-02 06:52:28 -05:00
Wilson Snyder
2576c136f6
Fix `pragma pedantic check to work with -E.
2020-02-01 22:03:18 -05:00
Wilson Snyder
a8ad97eef2
Add VL_CACHE_LINE_BYTES and use 64 as defult.
2020-02-01 20:28:03 -05:00
Wilson Snyder
ee7da1e690
Remove .h comments for empty sections.
2020-02-01 20:11:21 -05:00
Wilson Snyder
969a46faf6
Internals: V3Emit refactoring. No functional change intended.
2020-02-01 19:32:04 -05:00
Wilson Snyder
820df28ad9
Internals: V3CUse state refactoring. No functional change intended.
2020-02-01 19:11:19 -05:00
Yutetsu TAKATSUKASA
50fb7fc8b4
Tests: Resolve self assignment in t_unoptflat_simple_2, Closes #2149 .
2020-02-01 19:07:02 -05:00
Wilson Snyder
119162912a
Internals: Determine emit forward declaraions in new pass, towards classes.
2020-02-01 16:51:05 -05:00
Wilson Snyder
80d94891e1
Internals: Allow const & non-member CFuncs for class branch. No functional change.
2020-02-01 10:57:55 -05:00
Geza Lore
f00ff61559
Link Verilator binary partially statically, Closes #2146 .
...
The build is now by default configured to link performance critical
libraries (libgcc, libstdc++, libtcmalloc) statically. This improves
Verilation speed by between 4.5-7% based on my measurements as it
eliminates approx 20% of the mispredicted branches from the execution.
With partial static linking, the size of the .text section in
verilator_bin is increased by about 14%, and the binary is itself only
about 800KB bigger on disk, so hopefully this is not a big issue in
exchange for the faster compilation speed. A configure option
"--disable-partial-static" is provided to restore the old behaviour of
linking everything dynamically.
Note: This patch also changes to use libtcmalloc_minimal, which is all
we really need and itself has fewer dependencies.
2020-01-31 19:13:55 -05:00
Wilson Snyder
2d195ebae5
Cleanup IEEE references.
2020-01-30 20:23:57 -05:00
Wilson Snyder
9a6bc3ddcf
Commentary
2020-01-30 19:52:58 -05:00
Wilson Snyder
d218f1746c
Add warning on genvar in normal for loop, #2143 .
2020-01-29 21:16:44 -05:00
Yutetsu TAKATSUKASA
8d8eb1b9f3
Tests: Resolve racing among initial blocks in t_display_signed.v, #2144 .
2020-01-29 17:07:45 -05:00
Wilson Snyder
d4614c290e
Fix WIDTH warning on </<= of narrower value, #2141 .
2020-01-28 20:10:10 -05:00
Tobias Rosenkranz
027cce35c0
Support enum.next(k) with constant k > 1, #2125 .
2020-01-27 17:25:25 -05:00
Wilson Snyder
9fd81b2c6b
Support string character access via indexing.
2020-01-26 16:38:22 -05:00
Wilson Snyder
5430e4ac9b
Cleanup more errors showing data types.
2020-01-26 15:54:57 -05:00
Wilson Snyder
619214b48f
Support $sampled.
2020-01-26 13:38:15 -05:00
Wilson Snyder
68fa82fb14
Support $typename, and use to cleanup error messages.
2020-01-26 13:21:25 -05:00
Wilson Snyder
cac50282eb
Fix pattern replication without key.
2020-01-26 11:38:34 -05:00
Wilson Snyder
b50ef9ff39
Tests: Disabled test for 5.9.
2020-01-26 11:23:52 -05:00
Wilson Snyder
8a8f1135b7
Support type(expression) operator, #1650 .
2020-01-26 10:28:13 -05:00
Wilson Snyder
f0b2336345
Internals: Fix cell recursion with future module-in-module.
2020-01-25 18:15:55 -05:00
Wilson Snyder
52907e7b02
astgen: Preserve #line, #2138 .
2020-01-25 15:36:37 -05:00
Geza Lore
ef5250f0ca
Internals: Further performance improvement of AstNode type tests, #2138 . No functional change intended.
...
Replace the virtual type() method on AstNode with a non-virtual, inlined
accessor to a const member variable m_type. This means that in order to be
able to use this for type testing, it needs to be initialized based on the
final type of the node. This is achieved by passing the relevant AstType
value back through the constructor call chain. Most of the boilerplate
involved is auto generated by first feeding V3AstNodes.h through astgen to
get V3AstNodes__gen.h, which is then included in V3Ast.h. No client code
needs to be aware and there is no functional change intended.
Eliminating the virtual function call to fetch the node type identifier
results in measured compilation speed improvement of 5-10% as it
eliminates up to 20% of all mispredicted branches from the execution.
2020-01-25 15:29:44 -05:00
Wilson Snyder
eafed88a6e
Internals: Add assertions. No functional change intended.
2020-01-25 10:19:59 -05:00
Wilson Snyder
d64e6b3f9c
Internals: Refactoring towards classes. No functional change intended.
2020-01-25 09:33:43 -05:00
Wilson Snyder
d68ffba8cd
Internals: Rename to prefixNameProtect. No functional change intended.
2020-01-25 09:16:00 -05:00
Wilson Snyder
f0f370490f
Internals: Style cleanups.
2020-01-25 07:59:25 -05:00
Wilson Snyder
708fd36563
Tests: Show entering/exit so goto-error works on compile errors.
2020-01-24 22:40:19 -05:00
Wilson Snyder
a4e8d39932
Spelling fixes
2020-01-24 20:10:44 -05:00
Wilson Snyder
8f0e8e0696
Fix FST tracing of enums inside structs.
2020-01-24 19:46:46 -05:00
Wilson Snyder
11380bc3b2
Merge from upstream gtkwave includes.
2020-01-23 17:48:27 -05:00
Geza Lore
7ab2bdb6bb
Support libgoogle-perftools-dev's libtcmalloc if available. #2137 .
...
As Verilator continuously allocates and releases small objects (e.g.:
AstNode, V3GraphVertex, V3GraphEdge), it spends a significant amount of
time in malloc/free and friends. This patch adds the --enable-tcmalloc
configure option to link Verilator against the high performance malloc
implementation library libtcmalloc. The default is to use libtcmalloc if
available on the system. Note that there are no source code change, we
are simply replacing the standard library memory allocation functions.
Measured major compilation speed improvement of 27% when running
Verilator with -O3 on a large design.
2020-01-23 17:32:19 -05:00
Pieter Kapsenberg
5d037c3c8c
Docs: Add initial XML dovcument description. #2136 .
2020-01-23 07:26:11 -05:00
Geza Lore
c5d04631d1
Internals: More performance efficient AstNode casting. Closes #2133 .
...
dynamic_cast can have large run-time cost, so here we implement type
tests for AstNode instances by checking the unique type() property, which
in turn is a constant generated by astgen. For leaf types in the AstNode
type hierarchy, this is a simple equality check. To handle intermediate
types, we generate the type ids of leaf types in a pre-order traversal of
the type hierarchy. This yields contiguous ranges of ids for sub-type
trees, which means we can check membership of a non-leaf type via 2
comparisons against a low and high id. This single patch makes Verilator
itself 6-13% faster (depending on which optimizations are enabled) on a
large design of over 250k lines of Verilog.
2020-01-22 19:07:48 -05:00
Pieter Kapsenberg
957c1d606b
Add detailed XML location to cell elements, #2134 , #2122 .
...
This was accidentally omitted from the previous PR #2122 .
2020-01-22 07:18:50 -05:00
Wilson Snyder
48dd358c03
Fix clang warnings from override.
2020-01-21 20:22:32 -05:00
Geza Lore
220daa5f33
Internals: Restore AstNode naming property. #2133 .
...
The intention was that all subclasses of AstNode which are
intermediate must be abstract as well and called AstNode*. This was
violated recently by 28b9db1903 . This
patch restores that property by:
- Renaming AstFile to AstNodeFile
- Introducing AstNodeSimpleText as the common base of AstText and
AstTextBlock, rather than AstTextBlock deriving from AstText.
2020-01-21 19:54:14 -05:00
Wilson Snyder
d76b5b7823
Fix C++11 intrusion.
2020-01-21 19:45:44 -05:00
Wilson Snyder
4266d31443
Internals: Add VL_OVERRIDE to includes. No functional change intended.
2020-01-21 18:02:23 -05:00
Yutetsu TAKATSUKASA
fbdf5f2dad
Internals: Mark all visit() with VL_OVERRIDE. Closes #2132 .
...
* Add VL_OVERRIDE macro so that compiler can tell my typo when trying to override a function.
* Mark visit() with VL_OVERRIDE. No functional change intended.
2020-01-21 17:35:56 -05:00
Stefan Wallentowitz
8e26bdd098
Fix vpi scope naming ( #2130 )
...
Dedot and shorten the name so that public modules and interface cells
are accessible too via VPI.
Fixes #2109
2020-01-21 17:03:21 +01:00
Stefan Wallentowitz
22088c907f
Set maximum number width ( #2128 )
...
Adjust the maximum number width to 64K. Add --max-num-width option to
adjust this setting.
Closes #2082
2020-01-21 12:17:31 +01:00
Matthew Ballance
d87648c258
Correct FST-support issue with some GCC versions. Closes #2129 .
2020-01-20 17:33:40 -05:00
Wilson Snyder
abf3850d08
Internals: Misc cleanups for classes.
2020-01-20 16:53:27 -05:00
Pieter Kapsenberg
4a122fd0f2
Add detailed location to XML output ( #2122 )
...
* Add detailed location to XML output
* Fixing build failures
* less cryptic regulary expressions
* correcting typo in test
* Adding file letter to the location attribute, and cleaning up the regular expression in the tests.
* Add remaining test expected output files for XML changes
* spacing fix, adding documentation on changes
2020-01-20 14:08:13 -05:00
Wilson Snyder
0352ceea44
Internals: Refactor some emit code towards classes. No functional change intended.
2020-01-20 14:07:03 -05:00
Wilson Snyder
e8ff191a17
Internals: Prepare for hierarchical NodeModule's. No functional change intended.
2020-01-20 13:27:27 -05:00
Wilson Snyder
5ae09daf5b
Internals: Style cleanup. No functional change.
2020-01-20 11:56:08 -05:00
Wilson Snyder
1acff950d0
Commentary: Add deprecations section to docs. Closes #2081 .
2020-01-20 10:06:45 -05:00
Stefan Wallentowitz
f28d837930
Docker: Tag stable as latest ( #2098 )
2020-01-20 15:53:26 +01:00
Pieter Kapsenberg
1dd9a74b6c
Internals: Move V3Global function definitions to their own files. No functional change intended. Closes #2120 .
2020-01-19 07:23:26 -05:00
Pieter Kapsenberg
165833a97c
Add compile_commands.json to .gitignore ( #2119 )
...
When running make with the "bear" command, the generated
compile_commands.json file shouldn't be considered new source. This file
allows clangd-based code completion tools (e.g. YouCompleteMe) to know
the flags that each file was compiled with.
2020-01-18 22:44:03 -05:00
Wilson Snyder
18e837336a
Internals: Rename MethodCall. No functional change.
2020-01-18 14:11:05 -05:00
Wilson Snyder
835f668aaa
Internals: Refactor statement tracking. No functional change intended.
2020-01-18 13:02:42 -05:00
Wilson Snyder
09199f79a6
Internals: Add VL_DO_CLEAR delete protections. No functional change intended.
2020-01-18 10:29:49 -05:00
Wilson Snyder
2f4954ca68
Commentary
2020-01-18 09:18:57 -05:00
Wilson Snyder
7024ea8cb6
Cleaner tristate error. #2117 .
2020-01-18 07:56:50 -05:00
Wilson Snyder
623c4ec103
Internals: Create VL_DO_DANGLING. No functional change intended.
2020-01-16 20:17:11 -05:00
Wilson Snyder
023526ad4b
Internals: Minor refactoring from class branch.
2020-01-15 20:18:12 -05:00
Wilson Snyder
e2ba1c041f
Commentary
2020-01-15 20:09:19 -05:00
Tobias Rosenkranz
b41b9417b9
Fix sign compare warning. Closes #2112 .
2020-01-15 07:40:22 -05:00
Pieter Kapsenberg
4443ab34fd
Support left justified . Closes #2101 .
2020-01-15 07:32:45 -05:00
Wilson Snyder
e9a309ea8d
Clang warning fix.
2020-01-15 07:27:04 -05:00
Wilson Snyder
81e8127168
Add parameter values in XML. #2110 .
2020-01-14 18:51:20 -05:00
Wilson Snyder
47803c3591
Tests: Better message for contributors.
2020-01-14 17:49:04 -05:00
Wilson Snyder
af38e8d387
Improve error on > 127 char modnames. #2106 .
2020-01-14 07:33:12 -05:00
Wilson Snyder
67bb0c78c8
Codacity fix.
2020-01-14 07:13:35 -05:00
Wilson Snyder
918df2e618
Support / with assoc arrarys. Closes #2100 .
2020-01-14 07:01:17 -05:00
Wilson Snyder
7bed17b14b
Fix clang warning
2020-01-13 19:01:30 -05:00
Stefan Wallentowitz
fad465abf1
Add lint_off -match waivers ( #2102 )
...
* Add more directives to configuration files
Allow to set the same directives in configuration files that can also
be set by comment attributes (such as /* verilator public */ etc).
* Add support for lint messsage waivers
Add configuration file switch '-match' for lint_off. It takes a string
with wildcards allowed and warnings will be matched against it (if
rule and file also match). If it matches, the warning is waived.
Fixes #1649 and #1514
Closes #2072
2020-01-12 10:03:17 +01:00
Wilson Snyder
98fb7ec193
Commentary.
2020-01-11 21:08:20 -05:00
Wilson Snyder
b71eb76252
For / allow 64-bit addressing.
2020-01-11 14:08:07 -05:00
Wilson Snyder
1d2a7b2f41
Style cleanups. No functional change.
2020-01-11 12:36:30 -05:00
Wilson Snyder
cd38e88fb8
For travis, add VERILATOR_AUTHOR_SITE to get -Werror. Closes #2099 .
2020-01-11 10:52:13 -05:00
Todd Strader
a15aa0b82b
Fix clang warning
2020-01-11 09:59:42 -05:00
Wilson Snyder
fe94f9891b
Add error on misused define.
2020-01-11 09:16:26 -05:00
Wilson Snyder
fe9cf9bd42
devel release
2020-01-11 09:08:33 -05:00
Wilson Snyder
0c99bee4b1
Version bump
2020-01-11 06:54:36 -05:00
Wilson Snyder
f66dacd185
Remove some make clean files.
2020-01-11 06:53:52 -05:00
Wilson Snyder
5f9ceb99a7
Cleanup spacing.
2020-01-10 21:37:53 -05:00
Wilson Snyder
2638f9db19
Error cleanups.
2020-01-10 19:18:27 -05:00
Wilson Snyder
8859cbf5bc
Commentary
2020-01-10 19:12:45 -05:00
Wilson Snyder
16bb97687a
Tests: Check for missing newlines at EOF.
2020-01-10 18:49:23 -05:00
Wilson Snyder
1234c83953
Fix some C++11 requirements.
2020-01-10 07:07:21 -05:00
Wilson Snyder
2982336ec2
Commentary
2020-01-09 20:29:36 -05:00
Wilson Snyder
ca211c3b11
Commentary - Codacy badge fix.
2020-01-09 20:28:33 -05:00
Wilson Snyder
87d126de49
Commentary
2020-01-09 20:09:50 -05:00
Philipp Wagner
4a307742c4
Fix typo in help output ( #2096 )
...
The variable is named VM_PARALLEL_BUILDS, not VM_PARALLEL_BUILD.
Signed-off-by: Philipp Wagner <[email protected] >
2020-01-09 20:07:08 -05:00
Wilson Snyder
a2911ed933
Fix shebang breaking some shells. Closes #2067 .
2020-01-09 20:01:12 -05:00
Wilson Snyder
2a50fafef2
Fix %{number}s with strings. #2093 .
2020-01-09 19:39:27 -05:00
Wilson Snyder
029ff69d30
Update .clang-format to allow 6.0.0 to work.
2020-01-09 19:39:14 -05:00
Wilson Snyder
aac02c1ed1
Fix expand optimization slowing --lint-only. Closes #2091 .
2020-01-09 18:04:49 -05:00
Stefan Wallentowitz
525c79bd0a
Add Docker infrastructure ( #2087 )
...
This adds files to build and run two Docker images:
- run: Build a Docker container that can be used as an executable
drop-in for verilator. This can be useful to test behavior of
older versions or a development version. The functionality is
pretty simplistic at the moment for a start.
- buildenv: Everything needed to build and test Verilator. Useful to
run quick tests in the cloud or try other compilers. It can
also serve as basis for further CI integration.
2020-01-09 23:22:15 +01:00
Yutetsu TAKATSUKASA
b5c151863a
Update .clang-format so that recent clang-format such as LLVM-8 works. ( #2092 )
...
Use C++03 because this project needs to compile with the standard.
2020-01-09 10:13:08 -05:00
Wilson Snyder
06247686c5
Codacy cleanups
2020-01-08 19:33:47 -05:00
Wilson Snyder
951a7d867a
Commentary
2020-01-08 19:33:42 -05:00
Wilson Snyder
9978cbfa5c
Fix tracing -1 index arrays. Closes #2090 .
2020-01-08 07:32:31 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Stefan Wallentowitz
37dc33a195
Deprecation ( #2088 )
...
* Add deprecation warning
* Deprecate -msg in configuration files
* Deprecate sc_clock
2020-01-03 17:27:51 +01:00
Stefan Wallentowitz
924fe235a9
No assign alias for unpacked public variables ( #2089 )
...
Public variables are all emitted in the C code and unpacked arrays
arrays are sliced up for this. After inlining public unpacked array
assignments should not be alias assignments but actual assignments, so
that they are sliced and hence emitted properly.
Fixes #2073
2020-01-03 13:44:45 +01:00
Todd Strader
1957b1ebbd
Fix permissions on build_vcddiff.sh
2020-01-02 07:40:15 -05:00
Todd Strader
b70d1c1349
Update gtkwave files
2020-01-02 07:39:24 -05:00
Stefan Wallentowitz
b7665a88db
Rename msg to rule in configuration files ( #2080 )
...
Rename the -msg switch to -rule in configuration files as it is more
clear.
resolves #2068
2019-12-30 19:15:43 +01:00
Kuba Ober
19c8d32263
Fix SystemC link in the documentation. ( #2076 )
2019-12-30 18:56:51 +03:00
Stefan Wallentowitz
7b384f7eb7
XML: Add variable attributes ( #2079 )
2019-12-30 12:55:36 +01:00
Kuba Ober
7bbce51f7b
Add include guard to V3InstrCount.h. ( #2075 )
...
This is needed for cmake unity build to work.
2019-12-30 06:04:03 +03:00
Kuba Ober
ac1cdf7cdf
Implement APIs missing on Windows. ( #12 )
2019-12-28 19:44:24 +03:00
Wilson Snyder
c753904a3f
Internals: Copy into parser Verilog-Perl rules as comments. No functional change.
2019-12-24 16:15:48 -05:00
Wilson Snyder
8bd43d83b1
Internals: bisonpre should ignore commented BISONPRE lines.
2019-12-24 16:15:47 -05:00
Wilson Snyder
ea5b01d9f3
Internals: Rename pexpr. No functional change intended.
2019-12-24 16:04:28 -05:00
Wilson Snyder
f540dead79
Internals: new() support code, and misc stuff.
2019-12-24 12:47:27 -05:00
Wilson Snyder
40a847d613
Internals: Refactor some code. No functional change intended.
2019-12-24 10:23:43 -05:00
Wilson Snyder
37b9f254a2
Internals: Add origNameProtect. No functional change intended.
2019-12-24 08:47:30 -05:00
Wilson Snyder
c8daab3b46
Internals: Refactor some member handling. No functional change intended.
2019-12-23 20:48:23 -05:00
Wilson Snyder
a0d391d695
Tests: Less aggressive contributors check.
2019-12-23 19:01:29 -05:00
Wilson Snyder
5089f997cc
Internals: Use standard function for include guards. No functional change intended.
2019-12-23 19:00:17 -05:00
Wilson Snyder
5c59fde92e
Fix codacy warning
2019-12-23 18:56:08 -05:00
Wilson Snyder
81ee4930fc
Github: Update issue templates
2019-12-23 17:40:50 -05:00
Wilson Snyder
350de3719e
Github: Update issue templates
2019-12-23 17:39:38 -05:00
Wilson Snyder
a37a127ef1
Github: Update issue templates
2019-12-23 17:37:48 -05:00
W Snyder
dc8a0dfd5a
Update issue templates
2019-12-23 17:36:26 -05:00
Wilson Snyder
0ca197ec1b
Github: Add issue templates
2019-12-23 17:34:53 -05:00
Wilson Snyder
f23a7bfdd7
Tests: Check for carriage returns
2019-12-23 17:34:43 -05:00
Peter Monsson
9b998cf6b3
Support implication operator "|->" in assertions, #2069 .
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-23 16:49:18 -05:00
Wilson Snyder
0f0c3d4684
Internals: Copy into parser Verilog-Perl rules as comments. No functional change.
2019-12-23 16:27:07 -05:00
Wilson Snyder
bacbb4cafd
Parse join_any/join_none still as unsupported.
2019-12-23 15:19:22 -05:00
Wilson Snyder
4afde8b478
Test class parsing (intended as part of last commit).
2019-12-23 15:18:55 -05:00
Wilson Snyder
2cbfe99ad5
Parse all class constructs, as still unsupported.
2019-12-23 15:03:04 -05:00
Julien Margetts
c1fb938a61
Fix huge case statement performance. Closes #1644 .
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-23 07:47:57 -05:00
Wilson Snyder
49db4d2b66
Internals: Trivial spacing change to force CI rebuild. No functional change.
2019-12-22 20:02:37 -05:00
Wilson Snyder
b087673254
Fix output endif spacing. No functional change.
2019-12-22 18:21:43 -05:00
Wilson Snyder
5c361efaea
Internals: Minor format cleanups. No functional change.
2019-12-22 18:09:46 -05:00
Peter Monsson
ea979c8f83
Fix disable iff in assertions. Closes #1404 .
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-22 15:49:10 -05:00
Wilson Snyder
3a70bbc70c
Update Changes to reflect github issue numbers.
2019-12-22 15:33:45 -05:00
Kuba Ober
3f0e2f7d9d
Fix argument in AstConst.m_num.width. ( #9 )
2019-12-21 10:25:05 -05:00
Kuba Ober
c9ca390926
Fix missing <algorithm> header. Pull ( #8 )
2019-12-20 20:14:52 -05:00
Kuba Ober
4a31b69f84
Decrease the number of chained if-else blocks to fix MSVC build. Pull ( #7 )
...
MSVC has a limit of 128 blocks in a chain.
2019-12-20 20:07:50 -05:00
Kuba Ober
ee184f3f39
Fix strcasecmp for windows, bug1651.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-20 06:58:05 -05:00
Wilson Snyder
9807025618
Fix infinite loop on some V3Ast internal errors.
2019-12-19 20:07:48 -05:00
Stefan Wallentowitz
9a54b2144b
Fix queue issues, bug1643.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-18 18:17:18 -05:00
Wilson Snyder
0465b6a3b1
Fix example makefiles, 1648.
2019-12-18 17:58:24 -05:00
Julien Margetts
cafb148a62
Commentary
2019-12-17 18:27:47 -05:00
Stefan Wallentowitz
d738501c01
Fix queues as statements, bug1641.
2019-12-17 06:08:41 -05:00
Wilson Snyder
53c6b7df63
Internals: Rename NodeClassDType. No functional change.
2019-12-16 22:46:09 -05:00
Wilson Snyder
f514049c04
Add cleaner error on version control conflicts in sources.
2019-12-16 21:54:20 -05:00
Wilson Snyder
83a1bd0675
Support immediate cover statements & refactor coverage internals.
2019-12-16 21:44:20 -05:00
Yutetsu TAKATSUKASA
8cdc0c4e00
Support string putc, getc, substr, bug1606.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-15 08:09:52 -05:00
Wilson Snyder
460e0541f3
Add error when `resetall inside module
2019-12-14 22:04:58 -05:00
Wilson Snyder
2408de16a0
Support bounded queues.
2019-12-14 21:39:47 -05:00
Wilson Snyder
2a1c57ada6
With -Wpedentic, warn about bad `pragma
2019-12-14 10:13:38 -05:00
Wilson Snyder
7387db506d
GTKWave: Merge from upstream.
2019-12-14 09:25:36 -05:00
Stefan Wallentowitz
3ac6745658
Add vpiTimeUnit and allow to specify time as string, bug1636.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-13 19:11:37 -05:00
Wilson Snyder
39950d16d0
Ignore `uselib to end-of-line, bug1634.
2019-12-12 20:57:48 -05:00
Todd Strader
c62c152048
Commentary
2019-12-12 07:53:08 -05:00
Wilson Snyder
6046b06b17
Tests: Fix no-email contributors.
2019-12-11 18:56:10 -05:00
Julien Margetts
f7a06cb54a
Fix little endian cell ranges, bug1631.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-11 17:15:45 -05:00
Wilson Snyder
521418d832
Update FST trace API for better performance.
2019-12-10 18:55:09 -05:00
Wilson Snyder
1c643916a3
Tests: Add copy_if_golden to harness.
2019-12-10 18:53:35 -05:00
Todd Strader
9cf5acc43e
Install vcddiff for Travis, bug1600.
2019-12-10 05:27:34 -05:00
Yutetsu TAKATSUKASA
c2037ddbc5
Support string compare, icompare, ato* methods, bug1606.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-09 19:17:52 -05:00
Wilson Snyder
ca1b083d5c
Fix clang warning.
2019-12-09 18:53:56 -05:00
Wilson Snyder
c896a76fef
Fix clang warning.
2019-12-09 18:25:59 -05:00
Wilson Snyder
bd0eadb311
Fix handling user-botch of %d to print real.
2019-12-08 22:48:44 -05:00
Wilson Snyder
62b0d15d2e
Add lint check for bad enum 4-state values.
2019-12-08 22:26:54 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Wilson Snyder
cda5c53cf9
Add BOUNDED warning and promote bounded queues to unbounded.
2019-12-08 15:56:49 -05:00
Wilson Snyder
3be0eea995
devel release
2019-12-08 13:50:14 -05:00
Wilson Snyder
44ce83cd8e
Version bump
2019-12-08 07:58:47 -05:00
Wilson Snyder
c199930943
Commentary
2019-12-08 07:34:47 -05:00
Wilson Snyder
81fc1d48a6
Fix gate lvalue optimization error, bug831.
2019-12-07 16:49:11 -05:00
Wilson Snyder
f330f16bf6
Internals: Additional debug dumps.
2019-12-07 16:41:34 -05:00
Wilson Snyder
10a6b566ef
Fix error on unpacked concatenations, bug1627.
2019-12-07 15:53:34 -05:00
Driss Hafdi
cff5485821
Tests: Unsupported test for bug1627.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-07 13:46:50 -05:00
Driss Hafdi
dcbdac1b81
Tests: Unsupported test for bug1626.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-07 13:46:29 -05:00
Driss Hafdi
a59777aa75
Tests: Unsupported test for bug1624.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-07 13:15:46 -05:00
Driss Hafdi
d82b9128d0
Tests: Unsupported test for bug1623.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-07 12:59:00 -05:00
Driss Hafdi
ab4f18c892
Tests: Unsupported test for bug1622.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-07 12:59:00 -05:00
Todd Strader
4480938b25
Fix interface reference tracing, bug1595.
2019-12-07 12:28:19 -05:00
Driss Hafdi
11a1b201a9
Tests: Unsupported on parameters in functions, bug1624.
2019-12-06 18:51:39 -05:00
Wilson Snyder
1a8b192e40
Unsupported on parameters in functions, bug1624.
2019-12-06 18:50:41 -05:00
Driss Hafdi
aee3a32354
Added name to Contributors
2019-12-06 18:49:54 -05:00
Wilson Snyder
35e9489f33
Includes: Allow VCD trace of 64 bit array.
2019-12-05 22:25:30 -05:00
Wilson Snyder
5c6d74cd80
Fix assertion on dotted parameter arrayed function, bug1620.
2019-12-04 19:25:45 -05:00
Wilson Snyder
8611ff230d
GTKWave: Merge from upstream. No functional change.
2019-12-04 05:31:38 -05:00
Wilson Snyder
8ef4097f00
Fix cppcheck warning.
2019-12-03 19:21:36 -05:00
Wilson Snyder
fe684e8733
Allow redefining VL_PRINTF, bug1598.
2019-12-03 19:12:18 -05:00
Garrett Smith
96f8bbd023
Support float and shorts, bug1592, bug1619.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-12-03 18:26:22 -05:00
Wilson Snyder
95ffcad12e
Fix t_queue crash on Trusty due to lifetime issue.
2019-12-03 07:18:59 -05:00
Wilson Snyder
ebed1a9000
Fix 64-bit signed power with -1.
2019-12-03 06:58:38 -05:00
Wilson Snyder
2240f42bfa
Fix 64-bit signed power with -1.
2019-12-03 06:26:17 -05:00
Wilson Snyder
ac4f0da9ee
Tests: Add output wire check.
2019-12-02 20:38:43 -05:00
Wilson Snyder
559852f60b
Add error when number missing value.
2019-12-02 20:21:24 -05:00
Wilson Snyder
b0669f3aca
Fix false unused message on __Vemumtab, msg3180.
2019-12-02 19:03:33 -05:00
Todd Strader
00979ede14
Fix overly aggressive --protect-lib check
2019-12-02 08:33:44 -05:00
Todd Strader
13569ed98b
Stop-gap CI email fix
2019-12-02 08:18:15 -05:00
Wilson Snyder
809a6de9cd
Fix template brackets to avoid C++11, bug1617.
2019-12-02 06:19:33 -05:00
Wilson Snyder
d65d8fda54
Optimize returns at end of functions.
2019-12-01 17:19:18 -05:00
Wilson Snyder
2076b0219d
Fix labels on functions with returns, bug1614.
2019-12-01 17:19:03 -05:00
Wilson Snyder
32f93a8a1e
Commentary, bug1615.
2019-12-01 12:43:41 -05:00
Wilson Snyder
e28175108f
Support queues (excluding {} notation and pattern assignments), bug545.
2019-12-01 12:35:49 -05:00
Wilson Snyder
b81295230a
Support associative arrays.
2019-12-01 11:52:48 -05:00
Wilson Snyder
6ae7f7b152
Last commit: Fix pattern mismatch crash.
2019-12-01 11:43:48 -05:00
Wilson Snyder
03026b63b9
Internals: Refactor huge pattern function. No functional change intended.
2019-12-01 11:03:53 -05:00
Wilson Snyder
38e586fabe
Internals: Misc refectoring for assoc/queues.
2019-12-01 06:09:58 -05:00
Wilson Snyder
3d6e8e9eb0
Add -Wno-context.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-11-23 10:40:32 -05:00
Wilson Snyder
df192f2b61
Support / with warning.
2019-11-23 09:16:06 -05:00
Wilson Snyder
17ad59394f
Support shortreal as real, with a SHORTREAL warning.
2019-11-23 08:34:40 -05:00
Wilson Snyder
682c2a610f
Fix $display("%p") to be closer to IEEE.
2019-11-21 19:29:46 -05:00
Wilson Snyder
59782266b9
Tests: Fix uninitalized data in t_vpi_time tests, bug1612.
2019-11-21 18:42:40 -05:00
Wilson Snyder
4885bcb93c
Tests: Report core dumps on tests.
2019-11-21 18:42:40 -05:00
Todd Strader
d47d3b5162
Fix CI typo
2019-11-21 08:31:18 -05:00
Wilson Snyder
99455a16bf
Fix // in filenames, bug1610.
2019-11-20 21:23:03 -05:00
Wilson Snyder
a86e1953eb
Tests: Fix object order dependence, bug1611.
2019-11-20 06:57:39 -05:00
Matthew Ballance
f63dfd7028
Fix VPI timed callbacks to be one-shot, pull5.
...
Signed-off-by: Matthew Ballance <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-11-19 22:44:33 -05:00
Matthew Ballance
7a413a121d
Tests: Fix modelsim driver, pull 5.
...
Signed-off-by: Matthew Ballance <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-11-19 21:53:17 -05:00
Wilson Snyder
0f6b625db8
Fix hang on concat error, bug1608.
2019-11-19 19:23:40 -05:00
Wilson Snyder
f134ac4f2f
Black box some additional unsupported constructs.
2019-11-17 09:01:41 -05:00
Wilson Snyder
39eeda50c6
Internals: Rename MethodCall. No functional change.
2019-11-17 08:51:25 -05:00
Wilson Snyder
09ca4ce791
Internals: Assert proper AstArgs in place.
2019-11-17 08:43:04 -05:00
Wilson Snyder
2ff22d9050
Fix earlier +verilated+error+count to do all .
2019-11-17 08:12:39 -05:00
Wilson Snyder
c726ad0142
Commentary
2019-11-17 07:53:30 -05:00
Wilson Snyder
0c0198cf55
Support string.toupper and string.tolower.
2019-11-17 05:05:09 -05:00
Wilson Snyder
d480c2f033
Add +verilator+error+limit to see more assertion errors.
2019-11-16 18:25:47 -05:00
Wilson Snyder
8ebe86e54b
Fix color assertion on empty if, bug1604.
2019-11-16 17:23:51 -05:00
Wilson Snyder
62af9dbed4
Fix member to method error messages.
2019-11-16 15:32:55 -05:00
Wilson Snyder
3eb0ff8aa0
Detect wrong number of args on method calls.
2019-11-16 15:18:57 -05:00
Wilson Snyder
ce5a70fbca
Internals: Split large method function. No functional change.
2019-11-16 14:40:45 -05:00
Wilson Snyder
c36d9a68f5
Support $ungetc.
2019-11-16 12:55:10 -05:00
Wilson Snyder
8c5aa21a11
Support $rewind.
2019-11-16 12:21:35 -05:00
Wilson Snyder
47b5e36e60
Add -Wpedantic for compliance testing.
2019-11-16 11:59:21 -05:00
Wilson Snyder
a481638edb
Add error on redefining preprocessor directives.
2019-11-16 10:19:43 -05:00
Wilson Snyder
de7caad710
Fix signed wildcard comparisons.
2019-11-16 09:58:01 -05:00
Wilson Snyder
b1c14e485a
Fix capital S signed numbers.
2019-11-16 09:39:41 -05:00
Wilson Snyder
66727670f9
Override gtkwave config in upstreamable way. No functional change.
2019-11-16 03:54:05 -05:00
Wilson Snyder
b9322206d7
Update gtkwave files to latest
2019-11-16 03:44:51 -05:00
Wilson Snyder
617424e04a
Internals: Fix cppcheck warning. No functional change.
2019-11-16 03:14:55 -05:00
Wilson Snyder
e9c4ffa04e
Fix for loop missing initializer, bug1605.
2019-11-15 18:24:55 -05:00
Todd Strader
30c2e53f9e
Travis fixes
2019-11-14 17:54:57 -05:00
Sebastien Van Cauwenberghe
a250decfaa
Tests: Fix t_trace_cat when non-English sort.
2019-11-13 06:43:15 -05:00
Wilson Snyder
21a380def0
Rework variable emit to prep for other data types.
2019-11-12 21:52:25 -05:00
Wilson Snyder
77e30d4920
Internals: Remove dead code. No functional change.
2019-11-12 18:55:16 -05:00
Wilson Snyder
98dcbc6b3e
Remove footprint comment when single threaded.
2019-11-11 22:21:37 -05:00
Wilson Snyder
6ce81698e7
devel release
2019-11-10 14:25:54 -05:00
Wilson Snyder
30be381aa8
Version bump
2019-11-10 14:13:46 -05:00
Wilson Snyder
e04bc16ffa
Codacity cleanup
2019-11-10 13:21:05 -05:00
Wilson Snyder
2b26ca2c07
Optimize mask/and above conditionals.
2019-11-10 13:17:29 -05:00
Wilson Snyder
ce178ec987
Optimize modulus by power-of-two constants.
2019-11-10 12:12:57 -05:00
Wilson Snyder
fcb733e8d0
Fix clang warning.
2019-11-09 21:47:27 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Wilson Snyder
cf9f466f0a
Fix false uninit warning
2019-11-09 18:42:18 -05:00
Wilson Snyder
28cbf39995
Support some unpacked arrays in parameters, bug1315.
2019-11-09 18:31:24 -05:00
Wilson Snyder
4767083a72
Internals: Rework AstInitArray to have O(1) access. No functional change intended.
2019-11-09 17:12:26 -05:00
Wilson Snyder
704f40b1a2
Internals: Prep work for simulation of array parameters, bug1315. No functional change intended.
2019-11-09 15:27:10 -05:00
Wilson Snyder
c5f859c9a3
Internals: Format cleanup. No functional change.
2019-11-09 15:27:10 -05:00
Todd Strader
abe95f3ab3
Add interface port visibility in traces, bug1594.
2019-11-08 08:26:48 -05:00
Wilson Snyder
2eda38c4d1
Update URLs to https://verilator.org
2019-11-07 22:41:34 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
8a5d13bce2
Commentary
2019-11-07 20:13:00 -05:00
Wilson Snyder
3232bdf016
Commentary
2019-11-07 19:55:11 -05:00
Wilson Snyder
7ef620dc64
Rewrite README and install.adoc
2019-11-07 19:52:56 -05:00
Wilson Snyder
8043a9c666
Tests: Test for bug1593.
2019-11-07 18:15:55 -05:00
Wilson Snyder
f1b10e2b4c
Improve error messages on DIDNOTSETTLE, bug1556.
2019-11-06 19:47:34 -05:00
Wilson Snyder
c1a9ada279
Protect change request filenames.
2019-11-05 21:53:26 -05:00
Wilson Snyder
2aed499e00
Fix detecting missing reg types, bug1570.
2019-11-05 21:15:44 -05:00
Wilson Snyder
b2c5f8e74e
Commentary: No functional change.
2019-11-05 20:42:49 -05:00
Todd Strader
9ef200d5a3
Fix --protect-lib test concurrency issue, bug1580.
2019-11-05 08:49:43 -05:00
Wilson Snyder
8a3227697e
Fix bad-syntax crashes, bug1579.
2019-11-04 22:00:20 -05:00
Wilson Snyder
530ab17c8b
Fix bad-syntax crashes, bug1586, bug1587.
2019-11-04 21:51:20 -05:00
Wilson Snyder
ca8da1f54f
Fix bad-syntax crashes, bug1589.
2019-11-04 21:16:07 -05:00
Wilson Snyder
cc4cb4e006
Avoid internal on unsupported; make tests more stable otherwise on internal.
2019-11-04 21:11:15 -05:00
Wilson Snyder
e40ad4a095
Commentary; part of last commit.
2019-11-04 19:33:21 -05:00
Wilson Snyder
67a0ad02d2
Fix bad-syntax crasses, bug1591.
2019-11-04 19:27:31 -05:00
Wilson Snyder
055a978866
Fix bad-syntax crasses, bug1583, bug1585.
2019-11-04 19:06:55 -05:00
Wilson Snyder
67d52372e5
Fix bad-syntax crashes, bug1582.
2019-11-04 18:48:47 -05:00
Wilson Snyder
a28896d967
Don't have examples require graphviz
2019-11-02 17:44:58 -04:00
Wilson Snyder
9ff5ef4ad5
Fix false CMPCONST/UNSIGNED warnings on inside, bug1581.
2019-11-02 16:56:37 -04:00
Wilson Snyder
25f08b29c6
Add XML examples.
2019-11-02 16:40:59 -04:00
Wilson Snyder
7febeab275
Tests: Use standard verilator.mk rules for tests.
2019-11-02 11:15:58 -04:00
Wilson Snyder
c0c038c887
Remove false unoptimizable warning under debug
2019-11-02 11:15:08 -04:00
Wilson Snyder
8a5b8d5f38
Internals: Fix VFlagBitPacked giving 4-state types.
2019-11-01 20:10:45 -04:00
Wilson Snyder
ff0dd26fe5
Fix --trace-coverage with randReset.
2019-11-01 20:09:57 -04:00
Wilson Snyder
f781085755
Add --xml-output option.
2019-10-31 21:17:05 -04:00
Wilson Snyder
8f6efdaf5c
Allow both -MMD and --no-MMD, and --no/--skip-identical to override default
2019-10-31 20:59:52 -04:00
Wilson Snyder
4b5f0fd173
Tests: Cleanup mis-die's
2019-10-31 20:45:17 -04:00
Wilson Snyder
1224c69126
Tests: Fix bad-syntax crashes, bug1577.
2019-10-31 19:34:13 -04:00
Wilson Snyder
bcb766b4ce
Fix bad-syntax crashes, bug1577.
2019-10-30 21:49:25 -04:00
Wilson Snyder
63373f6f4c
Fix missing error when parameter assigned to type, bug1576.
2019-10-30 18:18:29 -04:00
Wilson Snyder
40bdd85a07
Fix minor output spacing issues.
2019-10-29 23:19:59 -04:00
Wilson Snyder
974bf1d643
Add .clang-format. Note this gets close, but isn't perfect, don't blindly use it.
2019-10-29 22:40:58 -04:00
Wilson Snyder
8ce60e955f
Fix missing error when parameter assigned to type, bug1575.
2019-10-29 18:38:59 -04:00
Wilson Snyder
171960635e
Add recursive define detection, bug1574.
2019-10-28 22:35:31 -04:00
Wilson Snyder
2ab819aef0
Fix bad-syntax crashes, bug1573
2019-10-28 18:46:13 -04:00
Wilson Snyder
647c321437
Suppress 'command failed' on normal errors.
2019-10-27 17:34:04 -04:00
Wilson Snyder
2bbb9dccb1
Less verbose ar messages
2019-10-27 11:30:25 -04:00
Wilson Snyder
bac5d32582
Commentary; fix example here documents.
2019-10-27 11:30:12 -04:00
Wilson Snyder
3ebd6915f3
Commentary
2019-10-27 10:29:19 -04:00
Wilson Snyder
f852ba8a33
Add --trace-coverage.
2019-10-27 09:27:18 -04:00
Wilson Snyder
8f6015aad5
Fix copy-and-paste error in undriven checks.
2019-10-24 22:50:50 -04:00
Wilson Snyder
352adbed74
Codacy/Cppcheck cleanups.
2019-10-24 22:40:15 -04:00
Wilson Snyder
0cbfd29ac5
Codacy/Cppcheck cleanups and badge.
2019-10-24 22:19:46 -04:00
Wilson Snyder
9f977ed419
Codacy/Cppcheck cleanups and badge.
2019-10-24 21:48:45 -04:00
Yves Mathieu
baa6a2c31a
Support quoted arguments in -f files, bug1535.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-24 07:33:19 -04:00
Todd Strader
3b33438e91
Benchmark --protect-lib runtime, bug1519.
2019-10-23 10:03:37 -04:00
Wilson Snyder
17ee8579a4
Internals: Make cleanOut/sizeMatters const. No functional change intended.
2019-10-20 11:58:41 -04:00
Wilson Snyder
94f7133c6f
Internals: make dump const. No functional change intended.
2019-10-20 11:49:41 -04:00
Wilson Snyder
6d58d32a0f
Commentary
2019-10-19 22:37:08 -04:00
Wilson Snyder
c9d000467b
Tests: Allow test-by-test verbose.
2019-10-19 07:14:13 -04:00
Wilson Snyder
e15d3afb7b
Commentary
2019-10-19 07:08:18 -04:00
Ahmed El-Mahmoudy
712bc43a06
Commentary, bug1568.
2019-10-19 06:47:46 -04:00
Wilson Snyder
71fa09a25b
Fix bad-syntax crashes, bug1563.
2019-10-18 21:30:34 -04:00
Wilson Snyder
89c3c5f952
Internals: Style cleanup. No functional change.
2019-10-18 20:28:59 -04:00
Wilson Snyder
7311c84937
Slightly faster FST tracing.
2019-10-18 19:48:27 -04:00
Wilson Snyder
8078fc0965
Commentary
2019-10-18 19:40:48 -04:00
Wilson Snyder
31a6a968cc
Speedup compiler flags for Ubuntu 19.10.
2019-10-17 20:43:45 -04:00
Patrick Stewart
1e4f471049
Add cmake support, bug1363.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-17 19:44:10 -04:00
Wilson Snyder
1232746395
Tests: Keep pass/unsup/skip count on retests.
2019-10-17 19:33:47 -04:00
Wilson Snyder
1852ae1cc8
Tests: Tweak driver to still print status every 15 seconds.
2019-10-16 23:17:31 -04:00
Eric Rippey
77f79f0114
Tests: Add fuzzing infrastructure.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-16 22:18:35 -04:00
Wilson Snyder
6081c262f2
Fix misc bad-syntax crashes, bug1557-1560.
2019-10-16 20:05:29 -04:00
Todd Strader
46ab907f6a
Refactor Verilator building in Travis, bug1547.
2019-10-16 05:32:59 -04:00
Todd Strader
8700564197
Build examples using only their Makefiles.
2019-10-16 05:30:51 -04:00
Todd Strader
af8cc9127f
driver.pl: Report possibly stalled tests.
2019-10-16 05:28:27 -04:00
Wilson Snyder
c73336f8f5
Fix misc bad-syntax crashes, bug1548, bug1550-1553.
2019-10-15 19:06:00 -04:00
Patrick Stewart
4361fb838f
Tests: Minor testbench fixes to prepare for CMake.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-10 19:48:06 -04:00
Wilson Snyder
6b8afe8137
Commentary
2019-10-10 06:46:03 -04:00
Wilson Snyder
a7c2037b7a
Add --generate-key.
2019-10-09 18:53:30 -04:00
Todd Strader
9b09309f51
Commentary: Fix Changes
2019-10-09 08:28:53 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00
Wilson Snyder
58a42834a6
Tests: Remove some old makefile rules.
2019-10-08 19:12:33 -04:00
Wilson Snyder
8c836e1222
Fix clang thread lint error.
2019-10-08 12:07:46 -04:00
Wilson Snyder
ce179bd2e3
Fix clang mutex check.
2019-10-08 08:29:53 -04:00
Patrick Stewart
68e5c95b82
Tests: Rename harness flag. No functional change.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-07 22:15:43 -04:00
Patrick Stewart
07db53e54f
Commentary
2019-10-07 22:11:50 -04:00
Patrick Stewart
0ed58a4217
Fix multithreaded yield behavior when no work.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-07 19:27:31 -04:00
Patrick Stewart
8e6d68147c
Support multithreading on Windows.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-07 19:23:06 -04:00
Wilson Snyder
e08b9b84b5
Commentary
2019-10-07 17:31:33 -04:00
Wilson Snyder
2f28c5f5b4
Increase case duplicate/incomplete to 16 bit tables, bug1545.
2019-10-07 07:38:40 -04:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
ed1e5fb509
Tests: When doing extended tests, run most examples under harness for better parallelism.
2019-10-06 10:58:16 -04:00
Wilson Snyder
99b2ab7540
Rename examples in prep for CMake.
2019-10-06 10:32:49 -04:00
Wilson Snyder
763b9909f1
devel release
2019-10-06 10:04:45 -04:00
Wilson Snyder
dfcd412e5f
Version bump
2019-10-06 09:40:36 -04:00
Wilson Snyder
307549e8a6
Internals: Fix some cppcheck warnings.
2019-10-06 08:20:02 -04:00
Wilson Snyder
09b79a731a
Fix more output spacing issues.
2019-10-05 21:52:33 -04:00
Wilson Snyder
4544a2fd99
Fix extra declaration of trace() in submodules.
2019-10-05 20:16:33 -04:00
Wilson Snyder
e09c918198
Fix indentation broke in 977a767477.
2019-10-05 18:00:45 -04:00
Wilson Snyder
9bf6135f6d
Remove some output tabs.
2019-10-05 17:35:08 -04:00
Wilson Snyder
d472ef63e9
Internals: Cleanup some misnamed classes. No functional change.
2019-10-05 08:17:21 -04:00
Wilson Snyder
f1c04b5d25
Fix extra space in mtask comment. No functional change.
2019-10-04 22:54:57 -04:00
Wilson Snyder
1cf29c4d20
Fix truncation of comments, broke in f133c4d0b3.
2019-10-04 22:54:17 -04:00
Maarten De Braekeleer
977a767477
Avoid tabs in C output.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-04 21:10:53 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
a9954a71c3
Fix case statements with strings, bug1536.
2019-10-04 19:13:39 -04:00
Wilson Snyder
967dc24fda
Commentary
2019-10-04 17:42:34 -04:00
Wilson Snyder
e1e45cf13c
Internals: Move option checks to notify().
2019-10-03 22:18:29 -04:00
Wilson Snyder
bd89c71694
Internals: Refactor to avoid V3Global requirements in V3String. No functional change intended.
2019-10-02 21:38:16 -04:00
Stefan Wallentowitz
633131b984
Return vpiModule when it is the scope.
...
Return the vpiModule when it is searched for by name and not the vpiScope,
now that we actually have it (one step further to supporting vpiModule in
complete).
Signed-off-by: Stefan Wallentowitz <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-02 18:47:12 -04:00
Wilson Snyder
99db18b6c3
Commentary
2019-10-02 18:47:06 -04:00
Todd Strader
961a8e190f
Internals: Remove rogue character.
2019-10-02 08:52:26 -04:00
Stefan Wallentowitz
045ff25f80
Support vpiModule, bug1469.
...
Add very basic support for vpiModule. Basically it allows to traverse
the module tree to find a variable etc. It does not support more than
vpi_iterate and vpi_scan for vpiModule along basic operations like
vpi_get_str on vpiModule.
The support is added non-intrusively to non-VPI verilator runs. It
essentially:
- Tracks the creation of cell instances and keeps them alive until
the emit phase. They are there converted to scopes if modules.
- Emits empty (don't add anything during construction)
VerilatedScopes for all inlined modules, only for those inlined
modules that are on the hierarchical path to public variables.
- Adds VerilatedHierarchy as abstraction to structure of the
scopes. It is only created for VPI designs. It allows to traverse
the hierarchy from the top (NULL).
Signed-off-by: Stefan Wallentowitz <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-10-01 21:57:45 -04:00
Wilson Snyder
66209d1114
Tests: Less verbose status.
2019-10-01 21:32:38 -04:00
Todd Strader
3f1fe2d18a
Internals: Travis CI environment.
2019-10-01 06:05:11 -04:00
Wilson Snyder
8b6fb26272
Return good exit status on --help.
2019-09-30 23:15:10 -04:00
Wilson Snyder
881362bb04
Fix clang compile warnings.
2019-09-30 21:55:31 -04:00
Wilson Snyder
239ef1ae6d
Fix misc bad-syntax crashes, bug1533.
2019-09-30 20:00:30 -04:00
Wilson Snyder
9eaec3b5c1
Fix misc bad-syntax crashes, bug1530.
2019-09-30 19:48:01 -04:00
Wilson Snyder
dd4aa948ae
Tests: Have driver report ETA.
2019-09-30 19:22:36 -04:00
Wilson Snyder
12fa085b26
Fix misc bad-syntax crashes, bug1529.
2019-09-30 19:22:14 -04:00
Wilson Snyder
9d6b0d7dd6
Tests: Fix broken contributors check.
2019-09-30 18:56:04 -04:00
Wilson Snyder
a1405dac8e
Fix misc bad-syntax crashes, bug1532.
2019-09-30 18:50:27 -04:00
Todd Strader
cb115e1a15
Commentary
2019-09-30 09:33:17 -04:00
Wilson Snyder
1c7eb89df5
Commentary: Update contributing indentation.
2019-09-29 17:11:13 -04:00
Wilson Snyder
6e91f82a7d
Commentary: Fix logo rendering
2019-09-29 17:09:03 -04:00
Wilson Snyder
17123cd0e0
Add contributing document. Convert internals to asciidoc format. Part of last commit.
2019-09-29 17:05:13 -04:00
Wilson Snyder
3f0c5b7550
WIP
2019-09-29 17:03:07 -04:00
Wilson Snyder
f6e0e9adec
Internals: Use SHA256 instead of insecure SHA1.
2019-09-28 13:32:28 -04:00
Wilson Snyder
dea1531f40
Commentary
2019-09-28 11:38:23 -04:00
Wilson Snyder
edcfaa888d
Commentary
2019-09-28 11:13:30 -04:00
Todd Strader
28b9db1903
Add AstVFile and AstTextBlock, towards bug1490.
2019-09-27 04:24:38 -04:00
Todd Strader
9e64be71a7
Add XSim user run flags
2019-09-27 01:12:53 -04:00
Stefan Wallentowitz
99a8845a96
Fix VerilatedVpioVar vpiMemory/vpiReg accessor, bug1528.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-27 00:01:09 -04:00
Wilson Snyder
be4692772c
Ignore MCD fopenw with --bbox-unsup.
2019-09-26 23:37:22 -04:00
Wilson Snyder
4f315d9078
Fix ugly error on interface misuse, bug1525.
2019-09-25 21:53:01 -04:00
Wilson Snyder
f133c4d0b3
Fix mis-indenting AstComments with C++ symbols.
2019-09-24 19:07:22 -04:00
Wilson Snyder
8490046028
Internals: AstComment optional suppression of at. No functional change intended.
2019-09-23 18:44:45 -04:00
Lukasz Dalek
d6ac351dcb
Add --public-flat-rw switch, bug1511.
...
This switch exposes VARs, PORTs and WIREs to C++ code. It must be use
with care as it has a significant performance impact and may result in
mis-simulation of generated clocks. Anyhow, it is prefered over
--public and useful for VPI.
Signed-off-by: Lukasz Dalek <[email protected] >
Signed-off-by: Stefan Wallentowitz <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-23 07:56:07 -04:00
Stefan Wallentowitz
502bd6cbd6
Tests: Set VM_PREFIX from test script.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-21 08:26:34 -04:00
Philipp Wagner
d7b6b53c4d
Make callCbs() public.
...
VerilatedVpi::callCbs() can be used by the user to signal
simulation-related callbacks, e.g.
VerilatedVpi::callCbs(cbStartOfSimulation).
The information if any callbacks have been called may be important to
drive an evaluation until no further changes are observed.
Signed-off-by: Lukasz Dalek <[email protected] >
Signed-off-by: Philipp Wagner <[email protected] >
Signed-off-by: Stefan Wallentowitz <[email protected] >
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-21 07:43:20 -04:00
Stefan Wallentowitz
96725b3431
Tests: To allow reuse of cpp files, allow to set the PLI filename.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-19 18:46:45 -04:00
Stefan Wallentowitz
8686ed9b00
Fix vpiType accessor, bug1510.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-18 12:24:19 -04:00
Stefan Wallentowitz
32e1207782
Fix vpiType accessor, bug1509.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-09-18 07:22:59 -04:00
Wilson Snyder
900115bb2d
Fix false warning on backward indexing, bug1507.
2019-09-17 15:17:23 -04:00
Wilson Snyder
3469c78153
Fix bad module name.
2019-09-16 21:09:18 -04:00
Wilson Snyder
baa634343b
Fix config_rev revision detection on old versions.
2019-09-13 07:20:26 -04:00
Wilson Snyder
1471f5691a
Fix error on multidimensional cells, bug1505.
2019-09-12 19:06:26 -04:00
Wilson Snyder
e556269692
Commentary - Spelling fixes
2019-09-12 07:22:22 -04:00
Todd Strader
d1af69f91d
Produce man files with 'make all'
2019-09-11 10:01:18 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Todd Strader
a4daae66de
-LDLIBS isn't an option
2019-09-06 13:04:47 -04:00
Todd Strader
c813026566
Make Syms file honor --output-split-cfuncs, bug1499.
2019-09-04 06:15:41 -04:00
Wilson Snyder
314cd92129
Support $fseek, $ftell, $frewind, bug1496.
2019-09-03 21:28:15 -04:00
Wilson Snyder
3bc260c55d
Fix make test with no VERILATOR_ROOT, bug1494.
2019-09-01 11:15:42 -04:00
Wilson Snyder
4c0f95af10
devel release
2019-08-29 19:12:47 -04:00
Wilson Snyder
35fe205fd6
Version bump
2019-08-29 18:58:38 -04:00
Todd Strader
70cf2582d6
Add XSim support to driver.pl, bug1493.
2019-08-29 17:00:49 -04:00
Todd Strader
ec620387af
Add --dpi-hdr-only, bug1491.
2019-08-27 21:36:59 -04:00
Wilson Snyder
e1e4bde125
Remove old V3ClkGater code
2019-08-27 17:51:06 -04:00
Todd Strader
b947391662
Retain widthSized when simulating
2019-08-12 15:38:58 -04:00
Wilson Snyder
edc0f442e4
Tests: Add tests for bug1487.
2019-08-09 05:45:44 -04:00
Wilson Snyder
562b9551bf
Internals: Remove some unused arguments. No functional change intended.
2019-08-09 04:12:49 -04:00
Wilson Snyder
f74af949da
Remove trailing spaces.
2019-08-08 17:53:49 -04:00
Wilson Snyder
81e806e895
Fix elaboration time errors, bug1429.
2019-08-04 22:34:54 -04:00
Wilson Snyder
7d4958264a
Support arbitrary-argument $warning/$info etc
2019-08-04 21:50:08 -04:00
Wilson Snyder
88b87429dc
Tests: Add elaboration info test.
2019-08-04 21:31:06 -04:00
Wilson Snyder
429f463032
Don't check SYSTEMC environment, for part of CMake support, bug1363.
2019-08-04 20:21:58 -04:00
Wilson Snyder
af4a39603c
Makefile: Run hello world before other examples.
2019-08-04 20:20:29 -04:00
Wilson Snyder
a13d230d8c
Tests: Less verbosity
2019-08-04 15:04:34 -04:00
Wilson Snyder
b7bd5956ea
Concats should be unsigned
2019-08-04 14:48:17 -04:00
Wilson Snyder
1a36e05cc6
Fix core dump on v3Number replace'ed assertions.
2019-08-04 14:14:28 -04:00
Wilson Snyder
71265a8ec9
Internals: Rename unsized functions. No functional change.
2019-08-04 12:39:35 -04:00
Wilson Snyder
3a720204c2
Internals: Remove m_logicMap as m_detailedMap covers it. No functional change intended.
2019-08-04 08:16:24 -04:00
Wilson Snyder
a95f58749f
Fix internal error on gate optimization of assign, bug1475.
2019-08-03 21:49:39 -04:00
Wilson Snyder
9e58ede480
Internals: Rename V3Hashed functions for future commit. No functional change.
2019-08-03 19:05:59 -04:00
Wilson Snyder
cf2ac30f66
Fix date.
2019-08-02 21:39:32 -04:00
Wilson Snyder
68b22a4a3d
Tests: Summarize any skips.
2019-07-30 22:20:37 -04:00
Wilson Snyder
875dc9a27e
--debug doesn't take an arg
2019-07-30 18:40:38 -04:00
Maarten De Braekeleer
1332446f2a
Spelling fixes.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-30 18:27:36 -04:00
Wilson Snyder
6b798830c9
Fix spacing
2019-07-29 21:07:37 -04:00
Wilson Snyder
ffa23b59b8
Tests: Add iff test, bug1482.
2019-07-26 19:31:02 -04:00
Maarten De Braekeleer
7d27461054
Spelling fixes.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-26 12:58:13 -04:00
Maarten De Braekeleer
b3f318d8ab
Add contributor certification.
2019-07-26 12:57:42 -04:00
Todd Strader
4a14788c9b
When showing an error, show the instance location
2019-07-26 12:52:38 -04:00
Wilson Snyder
5560da2934
Commentary
2019-07-26 06:24:26 -04:00
Todd Strader
43ce048f9e
Add rr support
2019-07-25 21:34:09 -04:00
Todd Strader
b045111a67
Refactor SimulateVisitor to use AstConst
2019-07-23 13:58:17 -04:00
Todd Strader
654571bd1c
V3Number cleanup
2019-07-22 15:07:08 -04:00
Todd Strader
a3fd105acb
Add more Travis coverage
2019-07-18 05:31:02 -04:00
Wilson Snyder
97561bf064
When showing an error, show source code.
2019-07-14 21:42:03 -04:00
Wilson Snyder
a4820fc700
Misc minor error cleanups from show-source branch.
2019-07-14 20:59:56 -04:00
Wilson Snyder
ee469eedaf
Fix some errors reporting wrong objects.
2019-07-14 15:06:49 -04:00
Wilson Snyder
a49d819437
Tests: Default test_regress to quiet
2019-07-14 15:04:19 -04:00
Wilson Snyder
cbb9288cb1
Fix some errors reporting wrong objects.
2019-07-14 12:21:39 -04:00
Wilson Snyder
173efbc829
Offer suggestions on bad identifier errors.
2019-07-14 10:08:53 -04:00
Wilson Snyder
0fef3b02ec
Fix some parse tokens having wrong fileline.
2019-07-13 12:01:26 -04:00
Wilson Snyder
d1ee6689c4
Internals: Make V3LanguageWords a singleton.
2019-07-13 08:57:42 -04:00
Wilson Snyder
b3eab9d78a
Tests: Move t_math_synmul to extended tests.
2019-07-12 19:35:28 -04:00
Wilson Snyder
defd05bdd7
Tests: Fix driver checking threads/gcc for extended tests.
2019-07-12 19:35:10 -04:00
Wilson Snyder
a7e5cccf33
In errors, single quote signals and other from-user data.
2019-07-11 22:36:32 -04:00
Wilson Snyder
0f857ce423
In errors, single quote signals and other from-user data.
2019-07-11 22:09:30 -04:00
Wilson Snyder
83cf1882de
Quote reserved word messages, and related internal cleanups.
2019-07-11 20:49:35 -04:00
Wilson Snyder
e17543d6d8
Tests: Fill in some missing error coverage holes.
2019-07-11 20:18:36 -04:00
Wilson Snyder
dacf45fea9
Fix error message continuations to avoid linenumber repetition
2019-07-11 19:15:40 -04:00
Wilson Snyder
13a20c5ee9
Internals: Fix inserted tabs.
2019-07-11 07:05:33 -04:00
Wilson Snyder
58dfe9d071
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-07-11 06:57:49 -04:00
Wilson Snyder
6c5cc885a6
Internals: Cleanup FileLine constructors. No functional change intended.
2019-07-10 22:04:58 -04:00
Sebastien Van Cauwenberghe
2c44ab61ac
Fix GDB returning wrong error code on Fedora 30
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-10 06:47:20 -04:00
Sebastien Van Cauwenberghe
0847ea57ae
Docs: Add name to contributors
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-10 06:46:28 -04:00
Wilson Snyder
9af84c71f5
Internals: More UASSERT_OBJ conversions. No functional change intended.
2019-07-07 09:01:36 -04:00
Wilson Snyder
4ce77d3e68
Header mentions public use.
2019-07-07 09:00:57 -04:00
Philipp Wagner
3c67791624
docs: Document parse-order-dependency for config files, bug1474
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-06 18:09:23 -04:00
Philipp Wagner
a281c00752
docs: Contributor signoff
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-06 18:08:22 -04:00
Wilson Snyder
2ca418288d
Fix enum values not being sized based on parent, bug1442.
2019-07-06 16:26:44 -04:00
Wilson Snyder
bea34d0ced
Internals: Misc enum cleanups. No functional change.
2019-07-06 15:50:25 -04:00
Wilson Snyder
a5f2ce0dad
Tests: Disable t_leak on Travis-CI.
2019-07-06 13:47:17 -04:00
Gianfranco Costamagna
07ae7146e3
Honour system flags, this makes debug flags being injected correctly.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-07-06 13:02:36 -04:00
Wilson Snyder
8548ecfdac
Internals: Add UASSERT_OBJ macro to replace hand-done ifs. No functional change intended.
...
This makes it easier to filter out correctly zero code-coverage lines.
2019-07-06 12:57:50 -04:00
Wilson Snyder
7e54ff1b37
Additional lcov code coverage.
2019-07-05 22:30:19 -04:00
Wilson Snyder
a4b9745e6e
Fix lifetime opt dropping
2019-07-05 22:30:19 -04:00
Wilson Snyder
8612ba2b8d
Internals: Commentary and fix gate debug glibc warning
2019-07-05 22:30:19 -04:00
Todd Strader
fea6e047e2
Add Travis badge
2019-07-05 05:26:08 -04:00
Wilson Snyder
01ef7122e9
Internals: Add lcov code coverage markers.
2019-06-30 22:37:03 -04:00
Wilson Snyder
ac43e7322b
Internals: Remove dead code.
2019-06-30 22:11:56 -04:00
Wilson Snyder
02a3f2089f
Include filenames in savable error.
2019-06-30 22:01:53 -04:00
Wilson Snyder
33ad834106
Tests: Close some test coverage holes.
2019-06-30 22:00:18 -04:00
Wilson Snyder
efe739c52f
Tests: Cover --error-limit and update docs (found via coverage).
2019-06-30 21:36:57 -04:00
Wilson Snyder
5cd531a5e0
Tests: Fix glib warning
2019-06-30 21:35:55 -04:00
Wilson Snyder
0e8dfdbb71
Tests: Less verbosity.
2019-06-30 17:45:42 -04:00
Wilson Snyder
ec32a9b976
Tests: Close some test coverage holes.
2019-06-30 17:38:41 -04:00
Wilson Snyder
1aae6df669
Internals: Run graph self tests on --debug-self-test
2019-06-30 17:36:58 -04:00
Wilson Snyder
f7641d2ecc
Change MULTITOP to warning to help linting, see manual.
2019-06-30 16:46:48 -04:00
Wilson Snyder
5f27c41ee3
Test driver: Cleanup rerun flags & status.
2019-06-29 21:36:33 -04:00
Wilson Snyder
51df77099a
Test driver: With --quiet print summary every 15sec or Travis barfs.
2019-06-29 15:58:00 -04:00
Wilson Snyder
b8b7e5c978
Test driver: Add --rerun and --quiet options
2019-06-29 15:24:56 -04:00
Wilson Snyder
dddcfeb482
Test driver: Move one_test, no functional change.
2019-06-29 13:37:01 -04:00
Wilson Snyder
8d63f83177
Tests: Reduce verbosity unless use --verbose
2019-06-29 13:11:30 -04:00
Wilson Snyder
d43e9aa2c5
Fix not in array context on non-power-of-two slices, msg2946.
2019-06-29 11:30:38 -04:00
Wilson Snyder
a2c1b7f827
Tests: Fix t_flag_csplit skip on old make.
2019-06-29 08:25:50 -04:00
Wilson Snyder
2fff92fe78
Tests: Add array MDA test.
2019-06-29 08:12:00 -04:00
Wilson Snyder
ba9af4aabf
For internal messages, use <command-line> and <built-in> to match GCC.
2019-06-29 07:39:34 -04:00
Wilson Snyder
ef02678305
tests: Fix default make test, broke earlier commit.
2019-06-29 07:22:19 -04:00
Wilson Snyder
6990db70fa
Avoid unique internal fileline in selftest.
2019-06-28 22:34:01 -04:00
Wilson Snyder
af5616c077
Fix line number in dup vars.
2019-06-28 22:34:01 -04:00
Todd Strader
009f053d6e
Add initial Travis CI config
2019-06-27 11:26:25 -04:00
Wilson Snyder
6903c52ef7
Tests: Add coverage of missing include error.
2019-06-26 19:12:57 -04:00
Wilson Snyder
aa65dfb1bc
Tests: Use only 2 threads for t_gantt.
2019-06-26 19:06:52 -04:00
Wilson Snyder
84a2cd0ec7
Remove some old DIRPROJECT dead code.
2019-06-26 18:50:38 -04:00
Wilson Snyder
8e7559c6c9
Show included-from filenames in warnings, bug1439.
2019-06-22 17:01:39 -04:00
Wilson Snyder
951521320a
Warnings: Suppress dup lines, and use lowercase note: to match gcc
2019-06-22 16:12:17 -04:00
Wilson Snyder
abc0eb92a0
Debug: Show only first line of suppressed warnings
2019-06-22 14:25:31 -04:00
Wilson Snyder
c514bb26e8
Always internal module wrapper TOP.
2019-06-22 13:43:49 -04:00
Wilson Snyder
5cb6474cc6
Fix not reporting some duplicate signals/ports, bug1462.
2019-06-22 12:43:48 -04:00
Wilson Snyder
b8eb6368e9
Tests: Fix up duplicate var declarations.
2019-06-22 12:32:13 -04:00
Wilson Snyder
6239deb1df
Tests: Disable t_flag_csplit with old make.
2019-06-19 08:44:40 -04:00
Wilson Snyder
89c2a6070a
devel release
2019-06-16 10:01:09 -04:00
Wilson Snyder
c53ea10c75
Version bump
2019-06-16 09:30:56 -04:00
Wilson Snyder
8fa54b1c4d
Add .gitattributes
2019-06-15 21:49:49 -04:00
Wilson Snyder
e5fae03364
docs: Move license files back to top out of docs to appease github.
2019-06-15 21:41:38 -04:00
Wilson Snyder
081fd3b789
Rename to LICENSE to appease github
2019-06-15 17:57:40 -04:00
Wilson Snyder
0edd3c9e95
Tests: Support remote test obj_
2019-06-15 16:37:58 -04:00
Wilson Snyder
659c7b78d5
Warn only once if too few CPUs.
2019-06-15 09:17:51 -04:00
Wilson Snyder
34ef3c9c38
Internals: Assert V3Number ops have different pointers.
2019-06-15 08:10:17 -04:00
Wilson Snyder
90af180ec1
Fix constant function return of function var, bug1467.
2019-06-15 08:03:39 -04:00
Wilson Snyder
0d71c1154d
Fix overshift error to have user's source line.
2019-06-15 07:44:03 -04:00
Alex Chadwick
5da5e32e86
Fix --savable invalid C++ on packed arrays, bug1465.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-06-14 18:42:27 -04:00
Wilson Snyder
ea59a39661
Commentary
2019-06-13 20:53:39 -04:00
Wilson Snyder
f5ca1a04cc
Docs: Rewrite README
2019-06-13 20:51:06 -04:00
Wilson Snyder
b6c905dffc
Move files into docs directory.
2019-06-13 07:19:44 -04:00
Wilson Snyder
e4a3f9b38c
Tests: Remove tabs from golden-output tests. No functional change.
2019-06-12 22:41:51 -04:00
Wilson Snyder
b3e2d26e35
Tests: Remove tabs from golden-output tests. No functional change.
2019-06-12 22:22:36 -04:00
Wilson Snyder
79e9fbaeb7
Tests: Add additional .out files instead of expects.
2019-06-12 21:49:40 -04:00
Wilson Snyder
f5f5cd522b
Tests: Make standard lint() to replace inconsistent compile()
2019-06-12 21:05:02 -04:00
Wilson Snyder
e713c8ce57
Fix not reporting some duplicate signals, bug1462.
2019-06-12 19:17:10 -04:00
Wilson Snyder
94ed817897
Fix debug over-verbosity.
2019-06-12 19:11:26 -04:00
Wilson Snyder
ff360738b5
XML: Remove extranious space on dtypes.
2019-06-12 07:19:14 -04:00
Wilson Snyder
f7f73a0825
Internals: Standardize internal FileLine filenames.
2019-06-12 07:00:56 -04:00
Wilson Snyder
2cedd14d43
Fix build error on MinGW, bug1460.
2019-06-11 21:38:17 -04:00
Wilson Snyder
77c2d49d1a
Internals: Move code out of verilog.y. No functional change.
2019-06-11 21:19:44 -04:00
Wilson Snyder
dd8d5ef687
Internals: Move code out of verilog.l. No functional change.
2019-06-11 21:03:03 -04:00
Wilson Snyder
cfb05cd70a
Whitespace cleanup. No functional change.
2019-06-11 20:20:04 -04:00
Todd Strader
6f2f668449
Fix dotted references to type parameter sizes, bug1458.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-06-11 19:00:24 -04:00
Wilson Snyder
6ffbb7cabf
Internals: Remove extra semicolons. No functional change.
2019-06-11 18:31:06 -04:00
Wilson Snyder
6c1782e4de
Add contributors and test.
2019-06-10 20:29:58 -04:00
Todd Strader
10e3cc6e3b
Tests: Better checking for type param hash fix.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-06-06 19:57:31 -04:00
Todd Strader
34424e70d8
Fix sameHash error on type parameters, bug1456.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-06-05 20:39:42 -04:00
Wilson Snyder
38ad8727af
Tests: Remove CRs.
2019-06-04 20:37:16 -04:00
Wilson Snyder
4e115d4b69
Fix performance when mulithreaded on 1 CPU, bug1455.
2019-06-03 19:13:03 -04:00
Wilson Snyder
f6f8073058
Support logical equivalence operator <->.
2019-06-01 19:40:06 -04:00
Wilson Snyder
902ba752a3
Move many unsupported errors from lex to parser so can --bbox-unsup ignore them.
2019-05-31 21:05:50 -04:00
Wilson Snyder
97d9de3dad
Support deferred assertions, bug1449.
2019-05-31 07:33:57 -04:00
Todd Strader
97fef7c60b
Tests: Fix t_dist_whitespace.pl --golden, bug1451
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-30 20:36:13 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Wilson Snyder
c0be8bcefb
Internals: Remove some pointless V3Number temporaries. No functional change intended.
2019-05-29 23:18:47 -04:00
Wilson Snyder
8846b365f4
Fix some memory leaks in V3Const/V3Unroll.
2019-05-29 22:43:26 -04:00
Kanad Kanhere
72eb361131
Fix invalid XML output due to special chars, bug1444.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-29 18:41:03 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Wilson Snyder
59d7d9e8c3
Fix real parameter assignment, bug1427.
2019-05-17 20:50:57 -04:00
Kanad Kanhere
3411279294
Internals: Relocate quoteNameControls, part of bug1444.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-16 21:44:01 -04:00
Wilson Snyder
8d6bea8975
nodist: Fix git_untabify --narrow.
2019-05-16 21:32:50 -04:00
Wilson Snyder
01725f662f
Fix $display with string without %s, bug1441.
2019-05-16 21:21:38 -04:00
Wilson Snyder
d841e68f4f
Fix parameter function string returns, bug1441.
2019-05-16 21:16:20 -04:00
Wilson Snyder
13ecb8e177
Fix fault on with %t, bug1443.
2019-05-16 19:35:10 -04:00
Todd Strader
26436cf4dd
Tests: Fix files ignored by t_dist_manifest, bug1438.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-15 19:02:17 -04:00
Wilson Snyder
96c70ea2df
Internals: Fix some long lines in include files. No functional change.
...
When merging, recommend using "git merge -Xignore-all-space"
2019-05-14 22:49:32 -04:00
Wilson Snyder
c8849094fc
Fix spacing of last commit.
2019-05-14 22:05:37 -04:00
Wilson Snyder
afea6d84e3
Mark infrequently called functions with GCC cold attribute.
2019-05-14 22:03:50 -04:00
Wilson Snyder
1fb0af7fba
Internals: Fix some -Wsuggest-attribute=const suggestions.
2019-05-14 21:46:19 -04:00
Wilson Snyder
8ad1a68420
Fix OSX compile issue with -Winvalid-noreturn, bug1440.
2019-05-14 20:51:28 -04:00
Wilson Snyder
6ef7d5f0fd
Internals: Fix spacing of last commit
2019-05-14 06:56:20 -04:00
Todd Strader
d0fbdfac07
Add --quiet-exit, bug1436.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-14 06:47:51 -04:00
Sergey Kvachonok
16997d153f
Fix sign-compare warning in verilated.cpp, bug1437.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-14 06:07:16 -04:00
Wilson Snyder
7777d10e9b
Tests: Check for and remove trailing newlines
2019-05-13 19:47:52 -04:00
Wilson Snyder
00214f738f
Tests: New scope-relevant tests, towards bug1305.
2019-05-13 19:31:24 -04:00
Wilson Snyder
07e6bc17db
Fix error message showing pointer
2019-05-13 19:31:00 -04:00
Wilson Snyder
afdfa4df87
Support VerilatedFstC set_time_unit, bug1433.
2019-05-12 08:19:49 -04:00
Wilson Snyder
1f714c6813
Commentary: Spelling fixes.
2019-05-11 18:42:27 -04:00
Wilson Snyder
5df3032b11
gtkwave: Merge from upstream.
2019-05-09 20:38:48 -04:00
Todd Strader
eac3458647
Internals: V3Number tracks node information, part of bug1305.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-09 20:03:19 -04:00
Wilson Snyder
00efa05b50
devel release
2019-05-08 21:39:23 -04:00
Wilson Snyder
cc1d380864
Version bump
2019-05-08 21:15:56 -04:00
Wilson Snyder
f96942a526
Internals: Detab and fix spacing style issues in include files. No functional change.
...
When merging, recommend using "git merge -Xignore-all-space"
2019-05-08 21:13:38 -04:00
Wilson Snyder
b23fc06388
Internals: Detab and fix spacing style issues in some include files. No functional change.
2019-05-07 23:30:24 -04:00
Wilson Snyder
f818ddc71c
Internals: Detab and fix spacing style issues in tests and scripts. No functional change.
2019-05-07 22:34:09 -04:00
Wilson Snyder
37c8cc82b2
Auto-extend and WIDTH warn on unsized X/Zs, bug1423.
2019-05-07 21:57:38 -04:00
Wilson Snyder
03ebd5554f
Fix table compile error with multiinterfaces, bug1431.
2019-05-06 19:33:54 -04:00
Wilson Snyder
a2a7021914
Reorder VCD codes for better viewer packing.
2019-05-06 18:55:38 -04:00
Wilson Snyder
c6650f88e1
Internals: Remove some uses of AstConst taking V3Number. No functional change intended.
2019-05-03 21:21:18 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
05c3d520a6
Test: Ignore tabs on new .out
2019-05-02 20:32:50 -04:00
Wilson Snyder
6b3304320b
For FST tracing use LZ4 compression.
2019-05-02 19:55:16 -04:00
Wilson Snyder
8d15276625
Tests: Use golden_filename consistently.
2019-05-02 19:02:40 -04:00
Todd Strader
354f107fed
Tests: Converting tests to golden files for bug1305.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-02 18:45:32 -04:00
Wilson Snyder
1ff55c20e0
Support "'dx" constants, bug1423.
2019-05-01 20:02:28 -04:00
Todd Strader
9583f0d3cc
Add .git file (not directory) to MANIFEST.SKIP for git worktrees
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-05-01 19:48:27 -04:00
Wilson Snyder
3acb85a005
Fix FST enums not displaying, bug1426.
2019-05-01 19:18:45 -04:00
Wilson Snyder
08d041cb93
Add error when use parameters without value, bug1424.
2019-04-30 19:16:41 -04:00
Wilson Snyder
274b2002c2
Fix GTKWave register warning, bug1421.
2019-04-29 05:28:30 -04:00
Todd Strader
681e91f9d8
Fix FST documentation, bug1419.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-04-28 17:53:58 -04:00
Wilson Snyder
6e333bd9ab
Fix test problems when missing fst2vcd, bug1417.
2019-04-10 20:51:38 -04:00
Larry Lee
6a331e37fc
Fix missing VL_SHIFTL_ errors, bug1412, bug1415.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-04-05 19:32:25 -04:00
Sergey Kvachonok
d8a020905a
Fix MinGW GCC 6 printf formats, bug1413.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-04-02 18:24:36 -04:00
Wilson Snyder
efa6f4cd95
Fix extraction, part of fix missing VL_SHIFTL_QQW error, bug1412.
2019-03-28 19:46:39 -04:00
Larry Lee
ca537dc3ed
Fix missing VL_SHIFTL_QQW error, bug1412.
...
Signed-off-by: Wilson Snyder <[email protected] >
2019-03-28 19:11:46 -04:00
Wilson Snyder
3b64f54cea
Support '#' comments in , bug1411.
2019-03-27 07:40:14 -04:00
Wilson Snyder
32c1e38b84
devel release
2019-03-23 21:14:30 -04:00
Wilson Snyder
a7aa8820e1
Version bump
2019-03-23 21:00:07 -04:00
Wilson Snyder
2582a83376
Unsupported error on select of concatenation
2019-03-13 19:52:23 -04:00
Wilson Snyder
0094cd7a81
Internals: Spacing fixes. No functional change.
2019-03-13 19:47:47 -04:00
Wilson Snyder
d9b33d74a4
Support void' cast on functions called as tasks, bug1383.
2019-03-10 15:12:20 -04:00
Wilson Snyder
539a773ea7
Add IGNOREDRETURN warning.
2019-03-10 14:57:01 -04:00
Wilson Snyder
b1831d7e33
Fix +1364-1995ext flags applying too late, bug1384.
2019-03-10 14:09:22 -04:00
Wilson Snyder
b8ccb7a4c1
Fix maintainer test when no Parallel::Forker, msg2630.
2019-03-10 12:14:58 -04:00
Wilson Snyder
0eb75a41bb
Fix perl 5.38 warning.
2019-03-10 12:14:02 -04:00
Wilson Snyder
4cc47e3297
Tests: Cleanup spacing/style. No functional change.
2019-03-10 09:25:23 -04:00
Wilson Snyder
7bf3366041
Support .
2019-03-07 20:56:53 -05:00
Wilson Snyder
c4b9f4bccf
Tests: Remove old verilator_file_descriptor
2019-03-07 18:29:44 -05:00
Wilson Snyder
455c552132
Fix MSVC compile error, bug1406.
2019-03-04 20:29:01 -05:00
Wilson Snyder
f26fb51509
Commentary, bug1339.
2019-03-01 20:14:48 -05:00
Wilson Snyder
ab3c6576ed
Report PORTSHORT errors on concat constants, bug 1400.
2019-02-27 21:06:07 -05:00
Wilson Snyder
d1bd994113
Commentary, bug1399.
2019-02-26 18:56:13 -05:00
Wilson Snyder
d1548b1161
Commentary
2019-02-26 18:24:46 -05:00
Wilson Snyder
8a43f41ed6
Fix $value$plus$args missing verilated_heavy.h.
2019-02-15 18:33:52 -05:00
Wilson Snyder
42759e4011
Fix VERILATOR_GDB being ignored, msg2860.
2019-02-12 18:20:40 -05:00
Wilson Snyder
27fa19eb94
Add +verilator+seed, bug1396.
2019-02-04 20:28:17 -05:00
Wilson Snyder
426ed8589b
devel release
2019-01-28 07:30:42 -05:00
Wilson Snyder
44e53129a0
Version bump
2019-01-27 21:31:05 -05:00
Wilson Snyder
cf2e8f7a9c
Add sizeof checks on types.
2019-01-25 18:26:14 -05:00
Wilson Snyder
46be6d32c9
Add unsupported for loops error, msg2692.
2019-01-22 19:25:00 -05:00
Wilson Snyder
93d1fd6bb5
Commentary, msg2820
2019-01-22 18:46:47 -05:00
Wilson Snyder
f700a73b3e
Fix cygwin warning on fstapi, msg2770.
2019-01-20 14:16:09 -05:00
Wilson Snyder
abd69167ef
Commentary
2019-01-18 18:15:07 -05:00
Wilson Snyder
60f2f176a2
Fix DPI export void compiler error, bug1391.
2019-01-16 00:38:42 -05:00
Wilson Snyder
3a51e84ebc
For XML, fix extends, bug1372.
2019-01-13 20:59:15 -05:00
Wilson Snyder
a2a09253a2
Internals: Show static funcs.
2019-01-12 09:43:24 -05:00
Wilson Snyder
ef884143d1
Add circular typedef error, bug1388.
2019-01-12 09:33:57 -05:00
Wilson Snyder
62a7d713a7
Fix internal error on xrefs into unrolled functions, bug1387.
2019-01-06 17:38:27 -05:00
Wilson Snyder
aaf5b7c2c0
Fix uninitialized data in unroller, bug1386. [Al Grant]
2019-01-06 16:56:56 -05:00
Wilson Snyder
30aa180211
Internals: Use pushDelete for empty unrolls. Theoretical problem only.
2019-01-05 06:53:26 -05:00
Wilson Snyder
0d4270c979
Turn off temporary debug message.
2019-01-05 06:01:22 -05:00
Wilson Snyder
3505486ec8
Internals: Spacing; fix assertion
2019-01-05 05:46:37 -05:00
Wilson Snyder
9b0f2cce86
Copyright year update
2019-01-05 05:46:23 -05:00
Wilson Snyder
0e1f8db0d1
Fix uninitialized data in verFiles.dat, bug1385.
2019-01-05 04:58:14 -05:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
e8636f987f
Fix missing too many digits warning, bug1380.
2019-01-03 19:03:27 -05:00
Wilson Snyder
0198a2e9f3
Fix error when no modules in , bug1381.
2019-01-02 18:38:49 -05:00
Wilson Snyder
db92ab47ba
For --xml, add additional information, bug1372.
2019-01-02 07:16:37 -05:00
Wilson Snyder
47107a5a36
Fix FST tracing of wide arrays, bug1376.
2018-12-18 20:49:44 -05:00
Wilson Snyder
e01c9df35e
Fix error when pattern assignment has too few elements, bug1378.
2018-12-18 20:41:14 -05:00
Wilson Snyder
8f16557499
Tests: Less verbose
2018-12-12 22:19:33 -05:00
Wilson Snyder
89fb57e54f
For --xml, add additional information, bug1372.
2018-12-12 22:12:31 -05:00
Wilson Snyder
8a3e9748b3
For --xml, add additional information, bug1372.
2018-12-10 19:11:35 -05:00
Wilson Snyder
66b23be746
For --xml, add additional modport information, bug1372.
2018-12-10 07:25:44 -05:00
Wilson Snyder
f0cdae129e
Removed --trace-lxt2, use --trace-fst instead.
2018-12-06 19:06:20 -05:00
Wilson Snyder
ede7236945
For --xml, add additional var information, bug1372.
2018-12-06 07:12:39 -05:00
Wilson Snyder
a226111829
Fix fst_config compile error on MINGW, msg2670.
2018-12-06 07:12:21 -05:00
Wilson Snyder
49edcbc2ac
Internals: Misc cleanup. No functional change.
2018-12-06 06:56:39 -05:00
Wilson Snyder
6050ab311e
Commentary
2018-12-05 20:14:22 -05:00
Wilson Snyder
83b5c981d0
devel release
2018-12-01 15:07:31 -05:00
Wilson Snyder
2685037ca2
Version bump
2018-12-01 14:52:21 -05:00
Wilson Snyder
940dc98c66
Add CONTASSREG error on continuous assignments to regs, bug1369.
2018-12-01 10:12:10 -05:00
Wilson Snyder
49353784fd
Fix __Slow files getting compiled with OPT_FAST, bug1370.
2018-11-29 20:35:21 -05:00
Wilson Snyder
2e5919549c
Tests: Separate make_main flag from verilator_make_gcc flag.
2018-11-29 19:50:09 -05:00
Wilson Snyder
8170391573
Internals: Fix spacing of comments. No functional change.
2018-11-28 19:59:10 -05:00
Wilson Snyder
61e4b0a472
Add IMPORTSTAR warning on import::* inside scope.
2018-11-28 18:25:34 -05:00
Wilson Snyder
15af706286
Fix crash due to cygwin bug in getline, bug1349.
2018-11-26 19:09:08 -05:00
Wilson Snyder
2a43410fa6
Tests: Fix buggy size test.
2018-11-26 18:22:20 -05:00
Wilson Snyder
5cc11839b5
Add PROCASSWIRE error on behavioral assignments to wires, msg2737.
2018-11-26 17:58:18 -05:00
Wilson Snyder
d1bfeae026
Tests: Ignore obj_vcs
2018-11-25 21:08:16 -05:00
Wilson Snyder
e0b2c46664
Internals: Function return values act as vars, not wires.
2018-11-25 19:50:53 -05:00
Wilson Snyder
ea61559ab5
Internals: Cleaner name for var. No functional change.
2018-11-25 19:10:18 -05:00
Wilson Snyder
6a5a2a56d7
Internals: Favor AstNetlist for global thread errors, and allow 0 line number error suppression.
2018-11-16 20:49:17 -05:00
Wilson Snyder
5cbf80918f
Tests: Favor golden files over long regexps. No functional change.
2018-11-03 14:59:04 -04:00
Wilson Snyder
196e3a9712
Tests: Reduce timeout when single-threaded testing.
2018-11-03 09:07:28 -04:00
Wilson Snyder
3798b80091
Tests: Fix test instability.
2018-11-03 09:07:11 -04:00
Wilson Snyder
689e4cf1d3
Tests: Have files_identical fail on error
2018-11-01 21:58:39 -04:00
Wilson Snyder
64f11251b6
Fix verilator_coverage not sorting output
2018-11-01 21:39:37 -04:00
Wilson Snyder
6cd2bd2972
Tests: Add golden_filename.
2018-11-01 21:04:19 -04:00
Wilson Snyder
d396c55e34
In --xml-only show module_files and cells ala Verilog-Perl vhier, msg2716.
2018-11-01 19:53:26 -04:00
Wilson Snyder
45c9939a5e
Fix hang on bad pattern keys, bug1364.
2018-11-01 19:03:52 -04:00
Wilson Snyder
ad2929dff0
Support "ref" and "const ref" pins and functions, bug1360.
2018-10-30 20:50:09 -04:00
Wilson Snyder
d3e1dfd3f5
Tests: Add VERILATOR_MAKE override variable.
2018-10-30 20:28:39 -04:00
Wilson Snyder
14b48140bd
In --xml-only show the original unmodified names, msg2716.
2018-10-30 18:17:37 -04:00
Wilson Snyder
7be1678fb0
Fix --trace-lxt2 compile error on MinGW, msg2711.
2018-10-30 07:35:30 -04:00
Wilson Snyder
d464ce1477
Fix unneeded emit comment. No functional change.
2018-10-29 20:48:50 -04:00
Wilson Snyder
0a04f79576
Commentary
2018-10-28 08:16:19 -04:00
Wilson Snyder
b8098098d8
Internals: Refactor input/output to new class in prep for ref support.
2018-10-27 17:29:00 -04:00
Wilson Snyder
dc26815b1c
Tests: Report wide line numbers.
2018-10-27 17:21:07 -04:00
Wilson Snyder
f2028b60af
Internals: Expand git_untabify lines touched.
2018-10-27 16:48:42 -04:00
Wilson Snyder
06c7d8ce3b
Internals: Fix whitespace issues. No functional change, use -b to diff
2018-10-27 10:03:28 -04:00
Wilson Snyder
160505c5a4
devel release
2018-10-27 08:48:12 -04:00
Wilson Snyder
3df9b4230b
Version bump
2018-10-27 08:27:10 -04:00
Wilson Snyder
13163aef24
make distclean should remove .1 files as not in distribution
2018-10-27 08:26:25 -04:00
Wilson Snyder
5c2b5bd782
Internals: Expand git_untabify lines touched
2018-10-26 19:49:36 -04:00
Wilson Snyder
da1ebcb4e4
Add --pp-comments, msg2700.
2018-10-25 21:17:25 -04:00
Wilson Snyder
8dbfc940ba
Internals: Refactor comment parsing. No functional change intended.
2018-10-25 20:46:23 -04:00
Wilson Snyder
e0654dc218
Add --dump-defines.
2018-10-25 19:47:07 -04:00
Patrick Stewart
74a92e739f
Internals: Fix missing static. No functional change.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-10-24 19:40:07 -04:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
5ae1ce90ad
Internals: Refactor into cvtToHex function. No functional change.
2018-10-14 16:25:36 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
9bc8d77f39
Includes: Move version to implementation only.
2018-10-14 11:21:09 -04:00
Wilson Snyder
b7e4083e70
Internals: Cleanup temp string inserts for clang-tidy. No functional change.
2018-10-14 11:10:11 -04:00
Wilson Snyder
595419b370
Internals: Sort includes for clang-tidy. No functional change intended.
2018-10-14 07:04:18 -04:00
Wilson Snyder
442e4f35f0
Internals: Cleanup empty string constructors for clang-tidy. No functional change.
2018-10-13 23:06:36 -04:00
Wilson Snyder
e8b8b33ff6
Internals: Cleanup find with chars for clang-tidy. No functional change.
2018-10-13 22:28:59 -04:00
Wilson Snyder
e4d638c73d
Internals: Cleanup string casts. No functional change.
2018-10-13 22:02:39 -04:00
Wilson Snyder
bccb9f794c
Fix Windows .exe not found, bug1361.
2018-10-12 19:13:50 -04:00
Wilson Snyder
fe0dae74c1
include: Upstream update for GTKWave
2018-10-12 06:55:12 -04:00
Wilson Snyder
b59c23d346
Move some unsupported syntax to parser for cleaner errors.
2018-10-11 21:57:07 -04:00
Wilson Snyder
6047049fc7
Fix --trace-lxt2 compile error on MinGW, msg2684.
2018-10-11 21:03:49 -04:00
Wilson Snyder
08e650a2b4
Commentary
2018-10-11 21:00:29 -04:00
Wilson Snyder
11d4d6562f
Commentary
2018-10-10 17:10:59 -04:00
Wilson Snyder
5c9da65606
Fix --trace-lxt2 compile error on MinGW, msg2667.
2018-10-10 06:54:51 -04:00
Wilson Snyder
97d89cce35
Move some unsupported syntax to parser for cleaner errors.
2018-10-08 22:18:09 -04:00
Wilson Snyder
cc45a3dd72
For --trace-fst, save enum decoding information, bug1358.
2018-10-08 07:21:22 -04:00
Wilson Snyder
870918a788
Tests: Dump and test FST trace attributes.
2018-10-07 22:04:49 -04:00
Wilson Snyder
41be66af95
Indent output C code '= {' blocks.
2018-10-07 21:23:45 -04:00
Wilson Snyder
9ad252be34
For --trace-fst, instead of *.fst.hier, put data into *.fst.
2018-10-07 20:47:26 -04:00
Wilson Snyder
1f344ac99e
Fix whitespace on trace function calls. Output changed, but no functional change.
2018-10-07 18:17:45 -04:00
Wilson Snyder
8b738c0022
Compute struct/union/enum names from surrounding typedefs.
2018-10-07 18:07:42 -04:00
Wilson Snyder
57fbf38fb2
Internals: Don't detabify gtkwave files.
2018-10-07 18:00:04 -04:00
Wilson Snyder
4cd01bc99a
Deprecate --trace-lxt2.
2018-10-06 14:13:38 -04:00
Wilson Snyder
fc0cf00b1d
devel release
2018-10-06 10:12:31 -04:00
Wilson Snyder
4333c201f1
Version bump
2018-10-06 09:51:57 -04:00
Wilson Snyder
1f5913a83c
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:26:54 -04:00
Wilson Snyder
159c653b4b
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:06:08 -04:00
Wilson Snyder
47a2e2aeb9
Commentary
2018-10-05 18:47:46 -04:00
Wilson Snyder
98b0d19363
Tests: Add enum to trace test.
2018-10-05 18:38:52 -04:00
Wilson Snyder
24a0873f6d
Commentary
2018-10-05 06:47:18 -04:00
Wilson Snyder
c5fee7c456
Fix flex warning
2018-10-04 20:51:20 -04:00
Wilson Snyder
d11592cadd
Support signal types in FST dumps, bug1358.
2018-10-04 20:24:41 -04:00
Wilson Snyder
8ef9ac7dba
Support in/out directions in FST dumps, bug1358.
2018-10-03 19:51:05 -04:00
Sergi Granell
a5aa0e2b0a
Add GTKWave FST native tracing, bug1356.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-10-02 18:42:53 -04:00
Wilson Snyder
f8ae08c0c2
Internals: Fix whitespace.
2018-10-02 06:31:11 -04:00
Wilson Snyder
72f5d39ace
Rename include/lxt2 to include/gtkwave.
2018-10-01 18:29:04 -04:00
Sergi Granell
5c9801d42c
Commentary
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-09-30 17:34:47 -04:00
Wilson Snyder
c9ee425ed5
Fix replication of 64-bit signal change detects.
2018-09-28 08:36:37 -04:00
Wilson Snyder
1871e2b541
Commentary
2018-09-27 19:58:17 -04:00
Wilson Snyder
3e39c55a97
Tests: Check mod-prefix subnames.
2018-09-27 19:58:13 -04:00
Wilson Snyder
e4d6fa0e3b
include: Update license from GTKWave upstream.
2018-09-27 19:55:00 -04:00
Wilson Snyder
9f8dbc91f2
Support restrict, bug1350.
2018-09-23 15:20:12 -04:00
Wilson Snyder
0e37747d2c
Support $past.
2018-09-23 15:20:01 -04:00
Wilson Snyder
a8519a7a53
Fix MinGW compile issues, msg2636.
2018-09-20 18:09:19 -04:00
Kevin Kiningham
d4159811d2
configure: Fix test for c++03 etc.
2018-09-17 21:47:35 -04:00
Kevin Kiningham
b2ca4995ab
Fix Mac OSX 10.13.6 / LLVM 9.1 compile issues, bug1348.
2018-09-17 18:35:23 -04:00
Wilson Snyder
7876fe94ad
Fix Mac OSX 10.13.6 / LLVM 9.1 compile issues, bug1348.
2018-09-17 06:39:43 -04:00
Wilson Snyder
cc9f7d1ac3
devel release
2018-09-17 06:24:18 -04:00
Wilson Snyder
94c295f26a
Version bump
2018-09-16 17:02:50 -04:00
Wilson Snyder
8c51b5a980
Docs: Add logo to PDF
2018-09-16 17:01:45 -04:00
Wilson Snyder
4f98f84da9
Fix duplicate symbol error on generate tri, bug1347.
2018-09-14 06:56:59 -04:00
Wilson Snyder
63a429dd64
pod2latex: Cleanup latex build in prep for logo
2018-09-13 20:06:10 -04:00
Wilson Snyder
9c3331927b
Fix man files misinstalling; cleanup mkinstalldirs
2018-09-13 19:09:35 -04:00
Wilson Snyder
3a6edae59d
Fix string ?: conditional type resolution, bug1345.
2018-09-12 19:20:15 -04:00
Wilson Snyder
75794e2eaa
Fix number parsing with newline after radix, bug1340.
2018-09-12 19:19:48 -04:00
Wilson Snyder
24efa6c19a
Fix compile error on tracing of string arrays, bug1338.
2018-09-08 01:16:07 -04:00
Wilson Snyder
7a8c5ecfe1
Disable GCC2017, bug1339.
2018-09-03 08:19:43 -04:00
Wilson Snyder
4684f1d4cc
Include sys/types to make sure __WORDSIZE is set, bug1333.
2018-08-31 06:52:12 -04:00
Wilson Snyder
ef5c31b4c9
Fix first clock edge and --x-initial-edge, bug1327.
2018-08-30 20:05:13 -04:00
Wilson Snyder
9d21c5441b
tests: Fix strange verilated-debug flag
2018-08-30 20:04:55 -04:00
Wilson Snyder
24fe724e0b
Commentary
2018-08-30 18:51:02 -04:00
johnjohnlin
acf4a3fa99
Add GTKWave LXT2 native tracing, bug1333.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-08-28 06:41:17 -04:00
Wilson Snyder
3ed8d968ff
Commentary and spacing. No functional change.
2018-08-28 06:30:30 -04:00
Wilson Snyder
45c09f3fae
Fix LLVM thread_safety function
2018-08-27 18:25:58 -04:00
Wilson Snyder
c93d28050e
Fix mkdir on MSYS2, msg2614.
2018-08-27 18:07:52 -04:00
Wilson Snyder
15abb4d590
Fix OS X compile issues, bug1332.
2018-08-27 06:15:12 -04:00
Wilson Snyder
ae98e87222
Fix OS X compile issues, bug1332.
2018-08-26 19:55:02 -04:00
Wilson Snyder
77f6b8cf5f
Use local algorithm for random, bug1332.
2018-08-26 07:07:01 -04:00
Wilson Snyder
573e79a329
Fix OS X compile issues, bug1332.
2018-08-25 17:54:27 -04:00
Wilson Snyder
aaac5d4685
Support string.atoi and similar methods, bug1289.
2018-08-25 13:49:37 -04:00
Wilson Snyder
b02e353ad1
Internals: Fix VERILATOR_NO_OPT_BUILD, broken in recent commit.
2018-08-25 13:11:28 -04:00
Wilson Snyder
80a269f49a
Tests: Add t_param_array3 test, bug1315
2018-08-25 10:36:31 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
ec538c02d8
MAJOR: Merge develop-v4 into master
2018-08-25 08:01:15 -04:00
Wilson Snyder
f7b93c8718
Fix install test.
2018-08-25 07:55:48 -04:00
Wilson Snyder
18ae08e14a
Commentary
2018-08-25 07:54:06 -04:00
Wilson Snyder
bffe658026
Commentary
2018-08-25 07:53:17 -04:00
Wilson Snyder
789917cd06
Fix Ubuntu 18 warnings.
2018-08-24 18:47:38 -04:00
Wilson Snyder
8f838433df
Internals: Fix spacing and style of v4 changes. No functional change.
2018-08-23 05:22:34 -04:00
Wilson Snyder
0b84222500
Includes: Fix spacing and style in prep for new LXT2. No functional change.
2018-08-22 19:14:06 -04:00
Wilson Snyder
aad5c3ae75
Merge from master
2018-08-22 18:50:19 -04:00
Wilson Snyder
b586e071fb
devel release
2018-08-22 18:49:30 -04:00
Wilson Snyder
c8e437c45c
Version bump
2018-08-22 18:09:06 -04:00
Wilson Snyder
4d034d774d
Merge from master
2018-08-22 17:58:02 -04:00
Wilson Snyder
4627716aa4
Remove extra space in generated func call.
2018-08-21 18:14:32 -04:00
Wilson Snyder
847dbbbaf0
Fix function inlining inside certain while loops, bug1330.
2018-08-21 18:09:40 -04:00
Wilson Snyder
c011842edf
Commentary: Rewrite TODO
2018-07-24 07:37:39 -04:00
Wilson Snyder
aabb7394c3
Merge from master
2018-07-23 19:05:17 -04:00
Wilson Snyder
d90064eaee
Change MODDUP errors to warnings, msg2588.
2018-07-23 18:57:34 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
0070520edb
Fix cppcheck warnings.
2018-07-22 20:41:46 -04:00
Wilson Snyder
8e646bc55f
configure: Add URL
2018-07-22 19:44:03 -04:00
Wilson Snyder
e97dbf9537
Add UNOPTTHREADS, for threads branch.
2018-07-22 12:09:27 -04:00
Wilson Snyder
0ef3baa87d
Merge from master
2018-07-22 11:53:58 -04:00
Wilson Snyder
3a777c2a37
Verilated: Always define VL_RDTSC, though unused; useful for benchmarking.
2018-07-22 11:53:35 -04:00
Wilson Snyder
237f4806bf
Fix doxygen old dir refs.
2018-07-20 19:45:58 -04:00
Wilson Snyder
8ec8c0ea76
Merge from master
2018-07-18 22:43:22 -04:00
Wilson Snyder
dfe66a2b77
Fix whitespace after functions in generated files.
2018-07-18 22:42:05 -04:00
Wilson Snyder
a18d6c8159
Merge from master
2018-07-18 21:34:38 -04:00
Wilson Snyder
a0b09b6450
Remove tabs inside generated files/quotes.
2018-07-18 21:25:21 -04:00
Wilson Snyder
ca24357611
Fix gcc 4.4.7 compile errors
2018-07-16 20:38:31 -04:00
Wilson Snyder
78c16081a4
Assume most branches in bounds, and use branchpred for instruction estimation.
2018-07-15 22:35:44 -04:00
Wilson Snyder
e37dce9d85
Internals: Add new graph algs for future partitioning.
2018-07-15 22:09:27 -04:00
Wilson Snyder
43694ec87c
Continued... Show file and line info when possible on internal graph errors.
2018-07-14 20:44:43 -04:00
Wilson Snyder
22939d7473
Merge from master
2018-07-14 19:27:51 -04:00
Wilson Snyder
9e3a88c41d
Inability to write a file is typically user, not internal error.
2018-07-14 19:22:50 -04:00
Wilson Snyder
cf4bf9b7a5
Show file and line info when possible on internal graph errors.
2018-07-14 18:45:06 -04:00
Wilson Snyder
d065662afc
Internals: Add new UASSERT. Currently unused. No functional change.
2018-07-14 17:44:55 -04:00
Wilson Snyder
70e2538436
Internals: V3InstrCount now shows critical path only for branch. Still not used in develop-v4.
2018-07-14 17:31:36 -04:00
Wilson Snyder
338ebcd6f0
Internal: Minor style cleanups for next merge. No functional change.
2018-07-14 17:27:05 -04:00
Wilson Snyder
ea8b416e91
Internals: Rename recent template. No functional change.
2018-07-09 21:32:10 -04:00
Wilson Snyder
de81593e98
Internals: Template GraphAlg to allow const. No functional change.
2018-07-09 19:15:46 -04:00
Wilson Snyder
84562f98de
Internals: Add GraphWay methods for future graph algs. No functional change.
2018-07-08 22:01:16 -04:00
Wilson Snyder
5520759d9e
Internals: Track dpi import wrapper creation. No functional change.
2018-07-07 08:02:29 -04:00
Wilson Snyder
9156a0e400
Internals: Allow override of initial value for vl_unordered_set()
2018-07-05 20:39:03 -04:00
John Coiner
736bf75a50
tests: Allow cmdline args to override test args.
2018-07-05 18:52:25 -04:00
Wilson Snyder
81ef9b5dd2
Internals: Add V3InstrCount, for threads branch.
2018-07-04 21:52:15 -04:00
Wilson Snyder
2f18a52118
Ignore automake flags passed by Ubuntu builds
2018-07-04 17:09:59 -04:00
Wilson Snyder
f3ed36840e
Update error, bug1322.
2018-07-04 17:09:59 -04:00
Wilson Snyder
129610821f
Ignore automake flags passed by Ubuntu builds
2018-07-03 21:34:50 -04:00
Wilson Snyder
4cd0310516
Update error, bug1322.
2018-07-02 09:11:20 -04:00
Wilson Snyder
8b245138ee
Merge from master
2018-07-01 21:48:18 -04:00
Wilson Snyder
4f962bddd8
Fix std:: build error, bug1322.
2018-06-28 18:55:36 -04:00
Wilson Snyder
02738ec4ea
Warn if using pre-C++11 so find out who needs it.
2018-06-26 17:57:57 -04:00
Wilson Snyder
e8a23cf8bc
Fix to ignore Unicode UTF-8 BOM sequences, msg2576.
2018-06-26 17:57:57 -04:00
Wilson Snyder
39ecfd9900
Internals: rank() public for future optimizers.
2018-06-26 17:57:57 -04:00
Wilson Snyder
d6a7073a2b
Commentary
2018-06-26 17:57:57 -04:00
Wilson Snyder
45eddfb335
Warn if using pre-C++11 so find out who needs it.
2018-06-26 07:33:55 -04:00
Wilson Snyder
d4b9b5aba6
Fix to ignore Unicode UTF-8 BOM sequences, msg2576.
2018-06-26 07:11:56 -04:00
Wilson Snyder
b1bf742544
Internals: rank() public for future optimizers.
2018-06-24 18:47:08 -04:00
Wilson Snyder
ebab30d864
Fix new reloop misinserting Vars
2018-06-24 11:22:56 -04:00
Wilson Snyder
cdd70ff8fc
Commentary
2018-06-24 08:08:34 -04:00
Wilson Snyder
ad4c8ee955
Add new reloop optimization for repetitive assignment compression.
2018-06-23 17:07:22 -04:00
Wilson Snyder
2edfe7b8a8
Internals: Ordering internals realigned with thread branch.
2018-06-22 23:01:50 -04:00
Wilson Snyder
3444dad9ce
Internals: Refactoring in prep for next commit. No functional change.
2018-06-22 22:56:58 -04:00
Wilson Snyder
b8842f7e55
Fix clocker attributes to not propagate on concats.
2018-06-22 19:46:27 -04:00
Wilson Snyder
86d85412e1
Merge from master
2018-06-22 18:51:02 -04:00
Wilson Snyder
2b56acb39a
Add git_untabify utility
2018-06-22 07:09:21 -04:00
Wilson Snyder
35a40b4930
Commentary
2018-06-22 06:35:27 -04:00
Wilson Snyder
c1f2b2cf93
*Ordering Change*: Separate initial and settle when ordering. From threads branch.
2018-06-21 23:12:11 -04:00
Wilson Snyder
011e9f3b0a
Internals: Reorder some functions in prep for threads. No functional change.
2018-06-21 23:08:56 -04:00
Wilson Snyder
dddc51b75c
Internals: Rename templated types to be T_*. Use Euler hashing.
2018-06-21 21:14:38 -04:00
Wilson Snyder
5187096bf9
Merge from master
2018-06-21 20:29:24 -04:00
Wilson Snyder
ae33a1ceb1
Tests: Add t_gate_tree test
2018-06-21 20:27:33 -04:00
Wilson Snyder
d225e46e4a
Fix define argument stringification, broke since 3.914.
2018-06-21 08:19:59 -04:00
Wilson Snyder
dcf946b437
Rework V3LifePost to be similar to threading algorithm's.
2018-06-20 23:44:58 -04:00
Wilson Snyder
2a5123f318
Internals: Spacing change in prep for LifePost rewrite from branch. No functional change.
2018-06-20 20:24:11 -04:00
John Coiner
43d07235c9
Tests: Fix sc_main compilation errors.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-06-20 19:01:19 -04:00
Wilson Snyder
1fad055286
Internals: Add TSP solver, for future threads branch.
2018-06-17 21:06:41 -04:00
Wilson Snyder
e89cb1b9f7
Internals: For unordered set, add constant accessor. No functional change.
2018-06-17 10:31:27 -04:00
Wilson Snyder
4c7a397dc4
Merge from master
2018-06-16 18:05:26 -04:00
Wilson Snyder
047a08c999
Internals: Clean some UASSERTs. No functional change.
2018-06-16 18:00:21 -04:00
Wilson Snyder
1d74657bbb
Internals: Remove dead code
2018-06-16 17:59:57 -04:00
Wilson Snyder
7085fdbc27
Internals: Refactor var sorting, merge from threads branch.
2018-06-16 07:45:30 -04:00
Wilson Snyder
4c9c39bd08
Merge from master
2018-06-16 07:32:32 -04:00
Wilson Snyder
ec82243ee6
Fix shrinking new unordered_set_map to save memory. No end-result change intended.
2018-06-15 20:57:07 -04:00
Wilson Snyder
65bb93a6c5
Add OBJCACHE envvar support to examples and generated Makefiles.
2018-06-15 07:13:18 -04:00
Wilson Snyder
6e7f28785e
Internals: Cleanup graph includes. No functional change.
2018-06-15 06:54:03 -04:00
Wilson Snyder
35654b5355
Tests: Backward port from threads branch.
2018-06-15 06:28:33 -04:00
Wilson Snyder
efb2801eeb
Internals: Add orderPreRanked. No functional change.
2018-06-14 20:29:54 -04:00
Wilson Snyder
9f5a4c9b22
Fix cppcheck warnings. No functional change intended.
2018-06-14 19:04:52 -04:00
Wilson Snyder
7fc565a1bd
Merge from master
2018-06-14 19:04:36 -04:00
Wilson Snyder
0eb1d0a84e
Fix cppcheck warnings. No functional change intended.
2018-06-14 18:59:24 -04:00
Wilson Snyder
5d26bca55c
Internals: Remove unneeded returns on asserts.
2018-06-13 18:05:00 -04:00
John Coiner
ba69297c33
Merge branch 'develop-v4' of ssh://git-verilator-jcoiner/git/verilator into develop-v4
2018-06-13 08:23:40 -04:00
John Coiner
8b5dc0b678
Fix nasty performance bug in rehash() that could lead to rehashing everything into one giant bucket, but only for tables with >256K elements, so we never saw it in regression.
2018-06-13 08:20:19 -04:00
Wilson Snyder
5988bba9fb
Merge from master
2018-06-12 21:25:26 -04:00
Wilson Snyder
a15e6f68dd
devel release
2018-06-12 21:22:01 -04:00
Wilson Snyder
77e7e2bf1c
Version bump
2018-06-12 21:20:12 -04:00
Wilson Snyder
1c5c9e2435
cppcheck fixes
2018-06-12 21:14:20 -04:00
Wilson Snyder
adfb903469
Merge from master
2018-06-12 05:23:13 -04:00
John Coiner
3e739db7fa
Fix linear searches. bug1316.
2018-06-11 22:05:45 -04:00
John Coiner
c124fe6d0c
Add clones of std::unordered_map and std::unordered_set for pre-C++11 compilers.
2018-06-11 22:05:15 -04:00
James Hutchinson
f0ed4346b2
Fix to be in verilog 2005, bug1319.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-06-08 08:01:22 -04:00
John Coiner
94c8064798
Fix linear search; this is part of the fix for issue 1316.
2018-06-07 12:43:19 -04:00
Wilson Snyder
95da5f90c7
Tests: Fix runflag test stability.
2018-05-29 20:33:04 -04:00
Wilson Snyder
e4a79d643d
Fix error without nodep.
2018-05-29 20:03:58 -04:00
Wilson Snyder
27c7d0c95b
Merge from master
2018-05-29 20:02:07 -04:00
Wilson Snyder
cf0464c263
Internals: Cleanup V3EmitC common code. No functional change. From threads branch.
2018-05-29 19:55:42 -04:00
Wilson Snyder
05a8a9ee28
Remove NULL checks of this, as upsets some compilers.
2018-05-26 08:28:19 -04:00
Wilson Snyder
6268db643c
Commentary
2018-05-25 07:17:38 -04:00
Wilson Snyder
fd98d231e4
Tests: Fix determinism of randomization.
2018-05-25 07:15:29 -04:00
Wilson Snyder
b1ab48b9fc
Include: Fix command line parser hang when threaded.
2018-05-25 07:02:15 -04:00
Wilson Snyder
e4e3294363
Merge from master
2018-05-24 22:18:09 -04:00
Wilson Snyder
92649ba494
includes: Fix VL_RDTSC & misc stuff.
2018-05-24 22:17:44 -04:00
Wilson Snyder
9afa1f7fb9
Commentary
2018-05-20 09:16:37 -04:00
Wilson Snyder
c253b7769e
Merge from master
2018-05-20 09:14:30 -04:00
Wilson Snyder
0efe343494
Renamed --profile-cfuncs to --prof-cfuncs.
2018-05-20 09:12:29 -04:00
Wilson Snyder
f3c9b4fb03
Add runtime arguments.
2018-05-20 08:40:35 -04:00
Wilson Snyder
26c31db75e
Merge from master
2018-05-20 08:37:03 -04:00
Wilson Snyder
84335b9580
Verilated: Cleanup command line parsing. Backport from pending v4 change.
2018-05-20 08:36:39 -04:00
Wilson Snyder
e8b2c57610
Commentary
2018-05-19 14:50:28 -04:00
Wilson Snyder
3d49136e27
Merge from master
2018-05-19 09:32:15 -04:00
Wilson Snyder
5e22ca77ec
Tests: Fix misc multithreaded issues, merge from threads branch.
2018-05-19 09:30:54 -04:00
Wilson Snyder
b6e8133a4d
When tracing, use scalars on single bit arrays to appease vcddiff.
2018-05-19 07:52:07 -04:00
Wilson Snyder
02a22c12ea
Internals: Add missing [] to delete call in verilated_vcd_c.cpp, bug1309
2018-05-17 07:08:11 -04:00
Wilson Snyder
cd4e6b35b3
Internals: Standardize debug() function generation. No functional change intended.
2018-05-14 06:50:47 -04:00
Wilson Snyder
4abf5be9ce
Detect linker requirements for multithreaded runtime.
2018-05-13 19:47:35 -04:00
Wilson Snyder
9ba6fc9279
Merge from master
2018-05-13 19:39:30 -04:00
Wilson Snyder
fe917ba7f4
include: Merge misc thread runtime support.
2018-05-13 19:30:51 -04:00
Wilson Snyder
2c568603f6
Fix latex warning & misc Commentary
2018-05-13 19:21:08 -04:00
Wilson Snyder
05db8ce6c8
Internals: Move iterators to AstNVisitor to avoid null this.
2018-05-10 20:55:37 -04:00
Wilson Snyder
51422e3ee8
Fix parsing error on bad missing #, bug1308.
2018-05-09 18:32:12 -04:00
Wilson Snyder
489f58011b
Merge from master
2018-05-08 21:43:55 -04:00
Wilson Snyder
0ef3c10931
Pull some thread include changes from thread branch.
2018-05-08 21:43:32 -04:00
Wilson Snyder
1759b0826e
Merge from master
2018-05-08 19:43:26 -04:00
Wilson Snyder
35be80f789
Tests: Use vlt_all for any Verilator test.
2018-05-08 19:39:32 -04:00
Wilson Snyder
5f3c9cca11
Merge from master
2018-05-07 20:58:30 -04:00
Wilson Snyder
c29e7619eb
Tests: Support multiple scenario testing.
2018-05-07 20:42:28 -04:00
Wilson Snyder
a265417727
Tests: Cleanup Perl indentations. No functional change.
2018-05-06 22:39:18 -04:00
Wilson Snyder
b69af164f7
Commentary
2018-05-06 20:40:23 -04:00
Wilson Snyder
ff61bb509c
Tests: Fix race and dead code.
2018-05-05 07:44:52 -04:00
Wilson Snyder
f02b99c709
Merge from master
2018-04-30 20:36:26 -04:00
Wilson Snyder
c8ba51581f
Commentary
2018-04-30 20:34:52 -04:00
Wilson Snyder
29f1a9208e
Commentary
2018-04-30 20:00:38 -04:00
John Coiner
542cf9b6e1
Remove errant assert from V3Split
2018-04-13 06:54:53 -04:00
Wilson Snyder
8b954dc381
Additional debug prints
2018-04-12 22:00:34 -04:00
Wilson Snyder
2f7002c5ec
Merge from master
2018-04-10 22:11:49 -04:00
John Coiner
767ac2547d
Misc clang warning fixes.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-04-10 22:05:55 -04:00
Wilson Snyder
a46aa2d62b
Fix verilator_profcfunc on old gprofs.
2018-04-10 22:05:17 -04:00
Todd Strader
9219ddaece
Report interface ports connected to wrong interface, bug1294.
2018-04-04 21:03:43 -04:00
Wilson Snyder
c7c99d8553
Fix parsing "output signed" in V2K port list, msg2540.
2018-03-29 20:10:27 -04:00
John Coiner
422c915c1d
Fix a nondeterminism issue in the new V3Split
2018-03-29 14:03:18 -04:00
Wilson Snyder
1f04d17e77
Merge from master
2018-03-17 12:03:08 -04:00
Wilson Snyder
e3354a0191
devel release
2018-03-17 12:01:59 -04:00
Wilson Snyder
df3d1a4da9
Version bump
2018-03-17 11:56:37 -04:00
Wilson Snyder
3963fe4384
Fix GCC-8 compile error.
2018-03-17 11:33:47 -04:00
Wilson Snyder
38261ac649
Tests: Ignore history file.
2018-03-17 09:25:38 -04:00
Wilson Snyder
e49539fb4c
Internals: Put cell assigns near cell. No functional change intended except statement order.
2018-03-17 08:43:19 -04:00
Wilson Snyder
3cd96cf558
Tests: Print error line in summary file.
2018-03-16 19:54:25 -04:00
Wilson Snyder
02f18fc21b
Merge from master
2018-03-15 23:31:59 -04:00
Wilson Snyder
1bcaaa0f0d
Internals: Cleanup V3Inst unused argument. No functional change intended.
2018-03-15 23:19:43 -04:00
Wilson Snyder
7922a1de28
Internals: Misc cleanups related to V3LinkDot. No functional change intended.
2018-03-15 19:46:05 -04:00
John Coiner
e897c862f2
Tests: t_foreach now checks that all foreach loops get unrolled and evaluated statically.
2018-03-15 19:06:32 -04:00
John Coiner
f55040a38b
Fix severe runtime performance bug in certain foreach loops.
2018-03-15 08:59:52 -04:00
Wilson Snyder
2d580e6939
Support IEEE 1800-2017 as default language.
2018-03-12 22:26:34 -04:00
John Coiner
fc48008c1c
Support
2018-03-12 16:44:01 -04:00
Wilson Snyder
4cf2e4024f
verilator_difftree: Better error.
2018-03-11 16:49:40 -04:00
Wilson Snyder
57c7d77af3
Tests: Future reduction or test.
2018-03-11 16:33:38 -04:00
Wilson Snyder
5652867316
Merge from master
2018-03-11 10:42:44 -04:00
Wilson Snyder
c8cf2afb15
Support assert properties, bug785, bug1290.
2018-03-11 10:37:20 -04:00
Wilson Snyder
d08a91b71e
Fix GCC lint complaint of calling NULL->cloneTree. No functional change intended.
2018-03-10 17:44:17 -05:00
Wilson Snyder
2c30aecc5b
Merge from master
2018-03-10 16:51:34 -05:00
Wilson Snyder
770045676f
Internals: Split some extremely long lines. No functional change.
2018-03-10 16:32:04 -05:00
Wilson Snyder
68cca0e114
Commentary, bug1288
2018-03-10 14:16:37 -05:00
Wilson Snyder
0a1b775ed6
Fix various small node leaks.
2018-03-10 14:10:41 -05:00
Wilson Snyder
54a101acbe
Internals: Fix -DLEAK_CHECKS failing due to visitor destructor being too late.
2018-03-10 12:57:50 -05:00
John Coiner
db1af07d72
On convergence errors, show activity.
2018-03-10 12:52:11 -05:00
John Coiner
ff82f75023
Add --no-debug-leak to reduce memory use under debug.
2018-03-10 12:18:19 -05:00
Wilson Snyder
9ae54786e4
Commentary, bug1288.
2018-03-09 00:04:00 -05:00
Wilson Snyder
22ff760f0b
Support calling system functions as tasks, bug1285.
2018-03-08 23:40:19 -05:00
John Coiner
86fe6ac3a8
Fix quoting of quoted arguments.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-03-08 22:43:29 -05:00
Wilson Snyder
3dccd89c18
Fix missing include for gcc6.4
2018-03-08 21:46:20 -05:00
Tymoteusz Blazejczyk
9f52e23158
Fix verilator_coverage --annotate-min, bug1284.
2018-03-07 19:52:29 -05:00
Wilson Snyder
aed3307214
Enable GCC debug when in debug build
2018-03-03 20:43:14 -05:00
John Coiner
ef3c7bb6a2
Better optimize large always block splitting, bug1244.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-02-28 06:58:41 -05:00
John Coiner
0a887c29f1
Internals: Fix V3LifePost recording assignPre variables.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-02-28 06:57:08 -05:00
Wilson Snyder
e1410775fb
Fix CC warning with flex 2.5.35.
2018-02-28 06:34:03 -05:00
Wilson Snyder
f0ba17a19b
Merge from master.
2018-02-27 07:24:31 -05:00
John Coiner
a7a790416e
Internals: Fix passing bool as int. No functional change.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-02-27 07:16:16 -05:00
Patrick Stewart
fe5c4df079
Support trig functions (() etc), bug1281.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-02-26 04:25:07 -05:00
Wilson Snyder
1376e5de92
Fix pullup/pulldowns on bit selects, bug1274.
2018-02-10 19:08:07 -05:00
Wilson Snyder
7f5b1a402c
Internals: Part of last change, spacing.
2018-02-07 20:29:58 -05:00
Wilson Snyder
22573d238b
Internals: Fix GCC8 cppcheck warnings. No functional change.
2018-02-07 20:16:53 -05:00
Wilson Snyder
32859d9fc2
Fix GCC 8.0 issues
2018-02-07 18:58:21 -05:00
Wilson Snyder
597d28b505
Fix internals to make null-pointer-check clean. Also add more const's. No functional change intended, but likely something will break.
2018-02-01 21:32:58 -05:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
33d6205e20
Prepare for version 4 branch
2018-02-01 21:21:21 -05:00
Wilson Snyder
1b12800b8f
devel release
2018-02-01 20:14:40 -05:00
Wilson Snyder
13d11b037a
Version bump
2018-02-01 20:09:58 -05:00
Wilson Snyder
0ca0854cac
Fix compile error with --public and interface bind, bug1264.
2018-02-01 20:07:46 -05:00
Wilson Snyder
1726c71649
Commentary
2018-02-01 19:20:08 -05:00
Wilson Snyder
fd8c29f981
Commentary
2018-02-01 19:18:00 -05:00
Wilson Snyder
e07ee559a0
Tests: Fix gcc7.2 warnings.
2018-01-31 19:27:42 -05:00
Wilson Snyder
097107bd0b
Support 'assume' similar to 'assert', bug1269.
2018-01-31 07:33:10 -05:00
Wilson Snyder
b40b152b87
Fix missing edge type in xml output, msg2480.
2018-01-31 07:29:14 -05:00
Wilson Snyder
3c7fef68c0
Internals: Sort EmitXml visitors. No functional change.
2018-01-31 07:25:10 -05:00
Wilson Snyder
b2322ae873
Fix tracing example file output, bug1268.
2018-01-29 19:07:49 -05:00
Wilson Snyder
e3f137875b
Fix spacing of trace func decls. No functional change.
2018-01-29 19:04:37 -05:00
Wilson Snyder
71fcf45d73
Fix gate optimization out of memory, add --gate-stmts, bug1260.
2018-01-27 15:06:51 -05:00
Wilson Snyder
652b68a5a0
Fix compile error on public real parameters by suppressing, bug1261.
2018-01-24 22:30:30 -05:00
John Coiner
3e0401de1c
Misc harmless cleanups from thread branch.
...
Signed-off-by: Wilson Snyder <[email protected] >
2018-01-24 20:20:26 -05:00
Stefan Wallentowitz
c164024f38
Remove c++filt and fix status code of Makefile, bug1265
...
In the generated Makefile the linker output is piped through c++filt
which was very useful for older linkers. But unfortunately the status
code is lost during the piping. So when the make process is embedded
in a larger setup a failure will not manifest to the outside flow.
As modern linkers do the job of c++filt, this removes it from the
generated Makefile. It will also produce a proper status code then.
Signed-off-by: Wilson Snyder <[email protected] >
2018-01-18 21:25:43 -05:00
Wilson Snyder
bd1f1e8699
Fix compile error on public real parameters by suppressing, bug1261.
2018-01-16 19:53:50 -05:00
Wilson Snyder
7ee6efab74
devel release
2018-01-02 18:13:45 -05:00
Wilson Snyder
3788e90644
Version bump
2018-01-02 18:06:05 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
4901668f13
Add INFINITELOOP warning, bug1254.
2017-12-26 21:35:08 -05:00
Wilson Snyder
f98940e40a
Fix cppcheck warnings. No functional change.
2017-12-17 18:44:35 -05:00
Wilson Snyder
49fe4d081c
Support DPI open arrays, bug909, bug1245.
2017-12-17 16:28:58 -05:00
Wilson Snyder
3054b36a8d
Internals: Avoid cleaning arrays in prep for openarrays.
2017-12-17 12:53:22 -05:00
Wilson Snyder
b888158907
Fix DPI svGetBitselLogic and svPutPartselLogic.
2017-12-17 12:19:40 -05:00
Tymoteusz Blazejczyk
173f71dca6
Fix SystemC 2.3.2 compile error, bug1251.
...
Signed-off-by: Wilson Snyder <[email protected] >
2017-12-17 08:23:22 -05:00
Wilson Snyder
37a931feb4
Internals: Refactor some V3Task code in prep for openarrays. No functional change intended.
2017-12-16 15:46:21 -05:00
Wilson Snyder
79f5c7fbda
Internals: Split verilated_syms.h and rename some methods. No functional change intended.
2017-12-16 10:52:43 -05:00
Wilson Snyder
bf3f111ca4
Internals: Move VLVF flags to common function. No functional change.
2017-12-16 10:07:15 -05:00
Wilson Snyder
9a2a5d3155
Internals: Unroll V3Width task processing, in prep for openarrays. No functional change intended.
2017-12-16 09:36:07 -05:00
Wilson Snyder
2a7c61cd6d
Commentary
2017-12-16 09:35:28 -05:00
Wilson Snyder
51787d68b9
Add error if always_comb has sensitivity list.
2017-12-13 19:49:37 -05:00
Wilson Snyder
33eb0db6f8
Fix resolving inline nested interface names, bug1250.
2017-12-13 19:42:49 -05:00
Wilson Snyder
a0b2727c59
Use power-of-two number of members to align structs
2017-12-11 19:16:49 -05:00
Wilson Snyder
d1b8f53711
Support DPI time and svLogicVal.
...
Note older version incorrectly assumed svBitVal even for logicals.
2017-12-09 20:17:37 -05:00
Wilson Snyder
27b5bfe9b1
DPI: Implement IEEE DPI copy routines.
2017-12-09 17:05:32 -05:00
Wilson Snyder
ea91b10086
Internals: Add charIQWN. Proper capitalization.
2017-12-09 14:44:55 -05:00
Wilson Snyder
08da777b33
Tests: Fix illegal dpi return types, and other cleanups
2017-12-09 14:44:25 -05:00
Wilson Snyder
345657ab32
Workaround GCC/clang bug with huge compile times, bug1248.
2017-12-09 11:52:35 -05:00
Wilson Snyder
1b605ade94
Tests: Fix internal run scripts
2017-12-08 19:40:16 -05:00
Wilson Snyder
b11fa372b1
Fix constant propagation across DPI imports of inout strings.
2017-12-07 20:10:27 -05:00
Wilson Snyder
662ebece71
Support string len() method.
2017-12-07 19:57:11 -05:00
Wilson Snyder
6b6e8dc83e
Use VL_UNCOPYABLE in emitted code. No functional change intended.
2017-12-06 23:26:27 -05:00
Wilson Snyder
d215149c7c
Fix false ALWCOMBORDER on interface references, bug1247.
2017-12-06 21:29:10 -05:00
Wilson Snyder
895fc0911a
Support > 64 bit decimal $display.
2017-12-02 22:10:58 -05:00
Wilson Snyder
754527edfd
verilated internals: Add VL_BITRSHIFT_W. No functional change.
2017-12-02 08:17:20 -05:00
John Coiner
f0217edef1
Internals: Keep a ptr to _eval in AstNetlist, make it easier to find.
...
Signed-off-by: Wilson Snyder <[email protected] >
2017-11-30 18:53:57 -05:00
Wilson Snyder
8f1798cc6f
Fix modport outputs being treated as inputs, bug1246.
2017-11-28 19:11:41 -05:00
John Coiner
631bda395d
Avoid duplicated scans of CFuncs.
...
Trace into non-entry-point functions (most of them) at their call
sites. We'll trace into entry-point functions (like eval) from their parent
scope. We must trace eval_ to reach the tree of calls beneath it.
Signed-off-by: Wilson Snyder <[email protected] >
2017-11-28 18:38:19 -05:00
John Coiner
791d02a753
Internals: Remove dead code. No functional change.
...
Signed-off-by: Wilson Snyder <[email protected] >
2017-11-28 18:29:14 -05:00
Wilson Snyder
54b3f92951
Commentary
2017-11-28 18:21:43 -05:00
Wilson Snyder
45de0599d7
Commentary
2017-11-27 20:11:34 -05:00
John Coiner
331ecdc2e7
Commentary
...
Signed-off-by: Wilson Snyder <[email protected] >
2017-11-27 19:23:55 -05:00
Wilson Snyder
339a7640a8
devel release
2017-11-27 18:50:14 -05:00