Geza Lore
f7e12e9219
Fix slow compilation of generated sampled value code ( #6652 )
...
For handling $past and similar functions, we used to collect sampled
values of variables at the beginning of the main _eval function. If we
have many of these, this can grow _eval very large which can make C++
compilation very slow. Apply usual fix of emitting the necessary code in
a separate function and then splitting it based on size.
2025-11-06 13:31:40 +00:00
Todd Strader
47b52800bf
Fix expression coverage of system calls ( #6592 )
2025-11-06 08:23:35 -05:00
Christian Hecken
100c831474
Tests: Fix Icarus vvp execution with use_libvpi ( #6648 )
2025-11-05 13:41:53 -05:00
Yilou Wang
0853aa7515
Support basic global constraints ( #6551 ) ( #6552 )
2025-11-05 07:14:03 -05:00
github action
574c69c092
Apply 'make format'
2025-11-05 10:50:31 +00:00
Jens Yuechao Liu
e2f5854088
Fix slice memory overflow on large output arrays ( #6636 ) ( #6638 )
2025-11-05 05:48:22 -05:00
Todd Strader
94d0513bc7
Don't pick initial random values for verilator-created variables ( #6611 )
2025-11-04 16:11:53 -05:00
Todd Strader
2c01aff2b3
Fix expression short circuiting ( #6483 )
2025-11-04 10:34:58 -05:00
Pawel Kojma
5d5798b4af
Fix parsing of `with` clause inside covergroups ( #6618 )
2025-11-04 09:12:30 -05:00
Artur Bieniek
8eed4e32ba
Support this.randomize() with constraints ( #6634 )
2025-11-04 08:28:42 -05:00
Krzysztof Bieganski
0eaa9ed144
Fix `--timing` with `--x-initial-edge` ( #6603 ) ( #6631 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-11-03 09:39:23 -05:00
Geza Lore
faaa2db844
Fix merging of impure assignments in gate optimization ( #6629 ) ( #6630 )
2025-11-03 07:29:39 -05:00
Geza Lore
d066504bb9
Optimize away calls to empty functions ( #6626 )
2025-11-02 16:11:02 -05:00
Wilson Snyder
d49697a85f
Tests: Redo uvm test and package to be version based and use uvm_info
2025-11-02 10:46:16 -05:00
Wilson Snyder
c801237ce8
Add `--preproc-defines`.
2025-11-01 23:27:43 -04:00
Wilson Snyder
e089817951
Tests: Reanme dump test
2025-11-01 22:05:52 -04:00
Wilson Snyder
d4aa00dbeb
Change `--preproc-comments` to be new name of `--pp-comments` option.
2025-11-01 21:59:16 -04:00
Wilson Snyder
e6cdaf112c
Internals: Add `--dump-inputs` to make __inputs without needing `--debug`
2025-11-01 20:34:06 -04:00
Wilson Snyder
8750cdac73
Update UVM 1800.2 2017-1.1 waivers
2025-11-01 16:34:31 -04:00
Wilson Snyder
782fe1daf2
Internals: Add more python strict typing. No functional change intended
2025-11-01 14:14:56 -04:00
Wilson Snyder
5847b105a5
Internals: Run format-make
2025-11-01 14:12:47 -04:00
Wilson Snyder
76ec35a8f6
Internals: Move max_procs to VtOs package. No test change intended.
2025-11-01 12:17:22 -04:00
Geza Lore
2e502aead8
Internals: Make all scheduling region use a single trigger vector. ( #6620 )
...
The 'act' region used to have 2 trigger vectors ('act' and 'pre'), now
it uses a single "extended" trigger vector where the top bits are what
used to be the used bits in the 'pre' trigger vector. Please see the
description above `TriggerKit`. Also move the extra triggers from the
low end to the high end in the trigger vectors.
2025-11-01 15:43:20 +00:00
Paul Swirhun
e27613ed45
Fix interface parameter access in parameter map ( #6587 ) ( #6621 ) ( #6623 )
...
Co-authored-by: Paul Swirhun <paulswirhun@gmail.com>
2025-10-31 23:06:26 -04:00
Paul Swirhun
847de990de
Tests: Fix sched_getaffinity fallback for MacOS ( #6622 ) ( #6624 )
...
Co-authored-by: Paul Swirhun <paulswirhun@gmail.com>
2025-10-31 21:55:45 -04:00
Paul Swirhun
10935ee031
Fix HIERPARAM to be suppressed for interface ports ( #6587 ) ( #6609 )
...
Co-authored-by: Paul Swirhun <paulswirhun@gmail.com>
2025-10-31 15:49:30 -04:00
Geza Lore
922223a9c3
Internals: Replace VlTriggerVec with unpacked array ( #6616 )
...
Removed the VlTriggerVec type, and refactored to use an unpacked array
of 64-bit words instead. This means the trigger vector and its
operations are now the same as for any other unpacked array. The few
special functions required for operating on a trigger vector are now
generated in V3SchedTrigger as regular AstCFunc if needed.
No functional change intended, performance should be the same.
2025-10-31 18:29:11 +00:00
Wilson Snyder
08330f5fe2
Fix constant-arrayed instance parameters ( #6614 ).
2025-10-30 19:18:47 -04:00
Wilson Snyder
85119cb32e
Fix waiving messages with empty contents ( #6610 ).
2025-10-30 18:41:18 -04:00
Wilson Snyder
d81da042cd
Tests: Rename tests to match warning name
2025-10-30 18:32:25 -04:00
Geza Lore
a4c5d2e29c
Fix ENUMVALUE error when overriding enum param from CLI using -G/-pvalue
2025-10-30 12:04:12 +00:00
Geza Lore
2a0b331ee3
Fix -G and -pvalue with --hierarchical.
...
Properly strip these from the hier_block builds, but not from the top
level wrapper. Improve existing test to cover.
2025-10-30 12:04:12 +00:00
Todd Strader
af2771e901
Fix function call expression coverage ( #6589 )
2025-10-29 19:26:46 -04:00
Geza Lore
287fdb7312
Fix mis-ignoring virtual interface member triggers ( #5116 reopened) ( #6613 )
2025-10-29 17:27:15 -04:00
Todd Strader
50b89ac9b5
Tests: Add `--top-filename` to driver.py ( #6612 )
2025-10-29 16:45:10 -04:00
Igor Zaworski
28dd90e92d
Fix side effects for improved function/task/process purity ( #6559 )
2025-10-29 14:27:31 -04:00
Geza Lore
ffbb3229a8
Change default thread pool sizes to respect processor affinity ( #6604 )
...
Instead of using the number of processors in the host, use the number of
processors available to the process, respecting cpu affinity
assignments. Without pthreads, fall back and use the number of
processors in the host as before.
This is now applied everywhere so runing `nuamctl -C 0-3 verilator` or
`numactl -C 0-3 Vsim` should behave as if the host has 4 cores (e.g.
like in CI jobs)
2025-10-28 18:10:40 +00:00
Geza Lore
5642de432b
Tests: Add tests for -fno-dfg-peephole* ( #6606 )
...
Fixes -fno-dfg-peeophole-right-leaning-assoc.
Fixes #6601
2025-10-28 17:59:11 +00:00
Geza Lore
766514bdcf
Fix --hierarchical with --binary ( #6602 )
...
Used to fail with "can't use --exe with --lib-create", and we didn't
have any tests for it before. (The equivalent --main --exe --build
--timing works)
2025-10-28 17:02:21 +00:00
Wilson Snyder
f9adc3461d
Tests: Fix coverage holes from t_dist_docs_options
2025-10-27 19:16:53 -04:00
Geza Lore
6ec5c85bea
Fix incorrectly resuming process waiting on multiple events ( #6597 )
...
This fixes the bug discovered with #6581 .
2025-10-26 15:41:49 +00:00
Geza Lore
f8ea1d3490
Testing: Ignore t_flag_debugi9 in `make test-snap`
2025-10-26 09:55:24 +00:00
Geza Lore
e00a919269
Tests: Fix race condition in t_flag_csplit
2025-10-26 09:47:23 +00:00
Geza Lore
7225c902ee
Fix V3Life eliminating assignments across timing controls ( #6593 ) ( #6596 )
...
For both JumpBlock and Loop, record if they contain a timing control and
do not eliminate assignments across them if so.
Fixes #6593
2025-10-25 21:59:21 +02:00
Geza Lore
0ead54b17e
Support dotted access to ports of a direct hier_block instance. ( #6595 )
...
Accessing the ports of hier_block instances directly under the current
hier_block (or top level) work just fine (the heir stub .sv has them),
and this can simplify hooking up dotted references into hier blocks:
push part of the reference under the hier block into the hier block, and
wire it to a port, then resolve the rest of the reference to the port of
the instance.
2025-10-25 18:39:21 +01:00
Wilson Snyder
68b227065e
Tests: Fix coverage holes from t_dist_docs_options
2025-10-25 11:00:25 -04:00
Wilson Snyder
bd4743f420
Tests: Rename some optimization tests
2025-10-25 10:57:39 -04:00
Wilson Snyder
dd76a5b8ba
Add t_dist_docs_options checks, and fix related docs and coverage issues
2025-10-25 10:53:24 -04:00
Wilson Snyder
e21dd04159
Tests: Rename test_regress/t/t_dist_docs_options.py
2025-10-25 10:53:24 -04:00
Wilson Snyder
e732f656a9
Change `verilator_difftree` to return exit code 1 on mismatch, 2 on error.
2025-10-25 08:25:29 -04:00