Wilson Snyder
580a843474
Fix randomize inside module without any classes
2025-09-20 17:13:54 -04:00
Wilson Snyder
b237eec801
Add error on string addition
2025-09-20 13:47:17 -04:00
Wilson Snyder
19ca140165
Improve adding model error message
2025-09-20 11:32:15 -04:00
Wilson Snyder
bfc438c455
Tests: Add t_param_default_override ( #4920 )
2025-09-20 11:32:15 -04:00
Wilson Snyder
d3b085ab8a
Fix t_sarif ( #6463 partial)
2025-09-20 11:32:15 -04:00
Geza Lore
d1eda66668
Deprecate clocker attribute and --clk option ( #6463 )
...
The only use for the clocker attribute and the AstVar::isUsedClock that
is actually necessary today for correctness is to mark top level inputs
of --lib-create blocks as being (or driving) a clock signal. Correctness
of --lib-create (and hence hierarchical blocks) actually used to depend
on having the right optimizations eliminate intermediate clocks (e.g.:
V3Gate), when the top level port was not used directly in a sensitivity
list, or marking top level signals manually via --clk or the clocker
attribute. However V3Sched::partition already needs to trace through the
logic to figure out what signals might drive a sensitivity list, so it
can very easily mark all top level inputs as such.
In this patch we remove the AstVar::attrClocker and AstVar::isUsedClock
attributes, and replace them with AstVar::isPrimaryClock, automatically
set by V3Sched::partition. This eliminates all need for manual
annotation so we are deprecating the --clk/--no-clk options and the
clocker/no_clocker attributes.
This also eliminates the opportunity for any further mis-optimization
similar to #6453 .
Regarding the other uses of the removed AstVar attributes:
- As of 5.000, initial edges are triggered via a separate mechanism
applied in V3Sched, so the use in V3EmitCFunc.cpp is redundant
- Also as of 5.000, we can handle arbitrary sensitivity expressions, so
the restriction on eliminating clock signals in V3Gate is unnecessary
- Since the recent change when Dfg is applied after V3Scope, it does
perform the equivalent of GateClkDecomp, so we can delete that pass.
2025-09-20 15:50:22 +01:00
Wilson Snyder
50dfdcb6cc
Support digits in `$sscanf` field width formats ( #6083 ).
2025-09-20 10:26:36 -04:00
Wilson Snyder
7f85d7f453
Add error on localparam value from hierarchical path ( #6456 ).
2025-09-20 09:59:48 -04:00
Wilson Snyder
f970485e19
Fix some missing E_UNSUPPORTED errors
2025-09-20 08:19:42 -04:00
Wilson Snyder
e5e7e844c4
Tests: Fix assignment type mismatch ( #6461 )
2025-09-19 22:59:13 -04:00
Wilson Snyder
4e866fd710
Add error on module automatic variables.
2025-09-19 22:05:03 -04:00
Bartłomiej Chmiel
bbcb9315f3
Fix loss of clock attribute in Dfg variable removal ( #6453 )
2025-09-19 14:44:34 +01:00
Artur Bieniek
08be65a7dd
Optimize dead functions in more cases ( #6430 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-09-19 09:36:57 -04:00
Artur Bieniek
c1ac2a79db
Resolve data types of method calls without parenthesis ( #6457 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-09-19 07:43:22 -04:00
Wilson Snyder
46e56ca6fc
Fix elaboration displays with some `%p` ( #6451 ).
2025-09-18 08:35:07 -04:00
Wilson Snyder
c15489b711
Fix associative array default type resolution
2025-09-17 23:39:47 -04:00
Wilson Snyder
7f871467bf
Internals: Cleanup assertion
2025-09-17 23:38:00 -04:00
Wilson Snyder
3a039df351
Tests: Strictly test exit codes (no unexpected core dumps)
2025-09-17 21:01:11 -04:00
Wilson Snyder
542ffcca60
Prevent internal error on pattern mismatch
2025-09-17 21:01:11 -04:00
Wilson Snyder
57c82b9c34
Fix false unique assertions on `else ;` ( #6450 ).
2025-09-17 17:43:36 -04:00
Artur Bieniek
3c8b8b65d0
Fix relinking super functions to parametrized class ( #6431 ) ( #6438 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-09-17 08:07:04 -04:00
Wilson Snyder
b10c6293d9
Fix elaboration displays with `%m` ( #6445 ).
2025-09-16 20:50:15 -04:00
Wilson Snyder
d7f4dbfd13
Fix class.randomize without parens.
2025-09-16 18:56:04 -04:00
Geza Lore
f39d6e6108
Deprecate sensitivity list on public_flat_rw attributes ( #6443 )
...
These are no longer required for correct scheduling. They are still
accepted for backward compatibility, but have no effect on simulation
and are dropped in the front-end. Also removed the then redundant
AstAlwaysPublic class.
Fixes #6442
2025-09-16 22:38:53 +01:00
Geza Lore
a44907b700
Fix memory leaks - batch 4 ( #6439 )
2025-09-16 19:22:36 +01:00
Ryszard Rozak
c856380fac
Support modports referencing clocking blocks ( #4555 ) ( #6436 )
2025-09-16 13:25:40 -04:00
Wilson Snyder
9187b4d552
Fix internal error on out-of-bounds real array access.
2025-09-16 08:18:51 -04:00
Bartłomiej Chmiel
dca555b6d7
Fix pre/post increments in assertions ( #6434 )
2025-09-15 10:50:31 -04:00
Wilson Snyder
39a9a00299
Fix external function declarations with class typedef references ( #6433 expanded).
2025-09-14 23:52:48 -04:00
Wilson Snyder
218af5500b
Fix external function declarations with class typedef references ( #6433 ).
2025-09-14 21:53:13 -04:00
Wilson Snyder
5e4668c146
Support get/set_randstate as class method.
2025-09-14 10:33:50 -04:00
Wilson Snyder
4b5e602392
Tests: Skip for reloc t_lint_assigneqexpr_bad
2025-09-14 10:33:27 -04:00
Wilson Snyder
a2b6aca288
Tests: Refactor to create test.root variable. No test change.
2025-09-14 08:43:52 -04:00
Wilson Snyder
b455f9b591
Add ASSIGNEQEXPR when use `=` inside expressions ( #5567 ).
2025-09-14 08:28:47 -04:00
Wilson Snyder
ff0bf0a5e3
Tests: Add testcase ( #4998 )
2025-09-13 10:45:05 -04:00
Wilson Snyder
663a9a3add
Add waiver for foreach SIDEEFFECT in future UVM
2025-09-13 10:21:42 -04:00
Bartłomiej Chmiel
be813e96dd
Fix hierarchical `--prof-pgo` ( #6213 )
2025-09-13 10:19:00 -04:00
Wilson Snyder
907047d823
Tests: Remove unneeded AUTOARGS. No test change.
2025-09-13 09:28:43 -04:00
Wilson Snyder
62d403c060
Internals: Reformat verilated_std.sv. No functional change.
2025-09-13 09:10:51 -04:00
Wilson Snyder
419e775dfb
Tests: Support ANSI input in driver
2025-09-13 08:53:23 -04:00
Artur Bieniek
1f61351e8f
Fix resolving parameters ( #6388 ) ( #6418 ) ( #6421 ) ( #6438 ) ( #6429 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-09-12 14:24:07 -04:00
Wilson Snyder
8b7a841f09
Tests: Relax contributors for multi-language names
2025-09-12 08:43:45 -04:00
Wilson Snyder
1308be28fe
Tests: Rename t_class_link*
2025-09-12 08:37:15 -04:00
Artur Bieniek
990ee994db
Fix resolving parameters ( #6388 ) ( #6418 ) ( #6421 )
2025-09-12 07:18:12 -04:00
Bartłomiej Chmiel
9a6b24fca4
Fix parsing for sequence expressions ( #6427 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-09-12 07:17:26 -04:00
Wilson Snyder
04aa6ebb42
Tests: t_dynarray ( #2618 )
2025-09-11 20:05:49 -04:00
Geza Lore
4866cfa09f
Fix deep shift pattern performance ( #6379 ) ( #6420 )
2025-09-11 11:10:14 -04:00
Geza Lore
56927fb955
Fix memory leaks - batch 3 ( #6419 )
2025-09-11 12:01:36 +01:00
Geza Lore
f1396fbced
Fix memory leaks - batch 2 ( #6417 )
2025-09-10 22:42:45 +01:00
Krzysztof Bieganski
5349b51e71
Allow pure functions in sensitivity lists ( #6393 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-09-10 17:37:34 +02:00