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
Yilou Wang
6b4183632c
Support Unpacked Structures' Constrained Randomization ( #5657 ) ( #5759 )
2025-02-03 11:56:00 -05:00
Bartłomiej Chmiel
a379382d32
Fix handling forced assigns in V3Life ( #5757 )
2025-01-28 07:30:40 -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
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
929e15fa4c
Fix various round-trip Verilog output, including packed arrays
2025-01-24 21:00:45 -05:00
Wilson Snyder
d8080008b4
Commentary
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
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
Wilson Snyder
fdf29b970f
Fix VL_UNLIKELY with constructors
2025-01-11 15:27:11 -05:00
Andrew Nolte
f8dd65c7cd
Add `--public-ignore` to ignore public metacomments ( #7819 )
2025-01-11 12:29:39 -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 <kbieganski@antmicro.com>
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
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
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
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
f52155a768
Copyright year update.
2025-01-02 06:21:30 -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
bb45fd6c6c
Add error on `--savable --timing` ( #5690 ).
2024-12-19 17:30:40 -05:00
Todd Strader
a23fad91a3
Tests: Reduce test_regress VPI copypasta ( #5694 ) ( #5693 )
2024-12-19 16:29:16 -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
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
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
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
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 <bchmiel@antmicro.com>
2024-12-02 05:43:26 -05:00
Wilson Snyder
abd4c480cd
Tests: Fix JSON file number, from earlier commit
2024-12-01 23:00:27 -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
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
93090c56ee
Fix mis-aliasing of instances with mailbox parameter types ( #5632 partial).
2024-11-29 09:20:02 -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
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
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
1277a40b31
Tests: Add driver --obj-suffix option
2024-11-24 21:12:08 -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
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
Ryszard Rozak
5470cf9fa9
Support randomize size constraints with restrictions ( #5582 partial) ( #5611 )
2024-11-15 10:45:06 -05:00
Wilson Snyder
81ac386a4a
Tests: Renames
2024-11-14 21:05:59 -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
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
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
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
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
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
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
bc87270ca9
Add UNSUPPORTED on property variable, instead of syntax error.
2024-11-09 22:26:59 -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
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
3438d8f2b0
Tests: Use illegal struct
2024-11-09 08:34:17 -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
Ryszard Rozak
6083480abb
Fix `rand` dynamic arrays with null handles ( #5594 )
...
l
2024-11-08 06:53:43 -05:00
Yilou Wang
e47208d9b3
Support queue's assignment `push_back/push_front('{})` ( #5585 ) ( #5586 )
...
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
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
Bartłomiej Chmiel
4e71f359bf
Fix duplicate scope identifiers decoding ( #5584 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
2024-11-04 06:06:15 -08:00
Wilson Snyder
7854118883
Fix negative assignment pattern keys ( #5580 ).
2024-11-02 10:06:01 -04: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
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
0f2a8c6c22
Fix BLKANDNBLK for for VARXREFs ( #5569 )
2024-10-29 07:27:40 -04:00
Wilson Snyder
2f272a4190
Fix `$countbits` in assert with non-tristates ( #5566 ).
2024-10-27 09:30:54 -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 <rrozak@antmicro.com>
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
Ryszard Rozak
4cd69f9feb
Fix queue element access ( #5551 )
2024-10-24 09:40:54 -04:00
Todd Strader
8cc7e180ca
Fix array trace splitting ( #5549 )
2024-10-23 11:51:48 -04:00