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
Todd Strader
d3d45c0be5
Tests: Fix file_grep_count() error message ( #5550 )
2024-10-23 10:07:03 -04:00
Yilou Wang
2409f32d87
Fix multi-range indices assignment ( #5534 ) ( #5547 )
...
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
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
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 <rrozak@antmicro.com>
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
789698cb5c
Fix coverage counts missing due to table optimization ( #5473 ) ( #5474 ).
...
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-10-10 21:22:06 -04:00