Wilson Snyder
26c7f1adb6
Tests: Change default indent to 2 spaces (match edaplayground). No functional change.
2025-07-03 20:43:13 -04:00
Wilson Snyder
f77af4e6f6
Important: Change `--assert` to be the default; use `--no-assert` for legacy behavior and faster runtimes.
2025-07-03 19:36:28 -04:00
Wilson Snyder
1cd65e90bd
Commentary: Changes update
2025-07-03 19:11:09 -04:00
Wilson Snyder
e3c7dee6ef
Internals: Add UINFOTREE method
2025-07-03 19:07:50 -04:00
Wilson Snyder
6c9cbaef62
Internals: Clean up some constructors. No functional change intended.
2025-07-03 18:59:32 -04:00
Todd Strader
08fef668cd
Fix more wide ternary + coverage cases ( #6155 )
2025-07-03 18:00:39 -04:00
Tobias Rosenkranz
92970bd9a0
Update docker base image to Ubuntu 24.04 ( #6147 )
2025-07-03 15:29:03 -04:00
Paul Swirhun
e0c3b42262
Fix developer build error on MacOS/Flex2.6.4 ( https://github.com/verilator/verilator/pull/6153 )
2025-07-02 19:56:10 -07:00
Wilson Snyder
4ddc649836
Add UNSUPPORTED rather than syntax error on pullup/pulldown strengths
2025-07-02 20:54:47 -04:00
Wilson Snyder
77908447e6
Support scoped `new` ( #4199 ).
2025-07-02 19:54:57 -04:00
Wilson Snyder
bb41c6b26b
Internals: Fix wrong fileline on some parsing scan-aheads.
2025-07-02 18:47:27 -04:00
Todd Strader
ae0f29ed37
Fix wide non-blocking assignment mis-optimization ( #6150 ) ( #6152 )
2025-07-02 18:43:10 -04:00
Wilson Snyder
73ca2ab997
Support `$past_gclk`
2025-07-01 18:00:04 -04:00
Geza Lore
7a3f1f16ca
Optimize DFG before V3Gate ( #6141 )
2025-07-01 17:55:08 -04:00
Wilson Snyder
e015805194
Fix stripping on randomize ( #6144 partial)
2025-07-01 08:57:08 -04:00
Wilson Snyder
73da5e51a6
Commentary: Changes update
2025-07-01 08:07:54 -04:00
Wilson Snyder
9598ef9315
Internals: Avoid - in enum name
2025-07-01 05:45:10 -04:00
Wilson Snyder
cd0f35fe67
Fix recursive module assertion, broken recent lib commit ( #5891 partial fix)
2025-06-30 20:30:27 -04:00
Wilson Snyder
d455ec6229
Fix `specparam` PATHPULSE broken recent commit ( #6142 ).
2025-06-30 18:33:50 -04:00
Tobias Rosenkranz
db854fc3d2
Improve docker image size ( #6139 )
2025-06-30 08:04:18 -04:00
github action
b27bd6526a
Apply 'make format'
2025-06-30 01:00:56 +00:00
Wilson Snyder
916a89761e
Add `--work` library-selection option ( #5891 partial).
2025-06-29 20:17:27 -04:00
Geza Lore
c3d86626ee
Internals: Remove unused AstNodeModule 'activesp' child ( #6138 )
2025-06-29 09:56:44 -04:00
Wilson Snyder
5d32fc56ac
Support 'config' parsing, but not functionally
2025-06-28 20:32:19 -04:00
Wilson Snyder
93f447dd4a
Support constant functions with left-hand-side concatenates.
2025-06-28 17:12:03 -04:00
Geza Lore
bc892deacc
Safely support non-overlapping blocking/non-blocking assignments ( #6137 )
...
The manual for the BLKANDNBLK warning describes that it is safe to
disable that error if the updated ranges are non-overlapping. This
however was not true (see the added t_nba_mixed_update* tests).
In this patch we change V3Delayed to use a new ShadowVarMasked
scheme for variables that have mixed blocking and non-blocking
updates (or the FlagUnique scheme for unpacked variables), which
is in fact safe to use when the updated parts are non-overlapping.
Furthermore, mixed assignments are safe as far as scheduling is
concerned if either:
- They are to independent parts (bits/members/etc) (with this patch)
- Or if the blocking assignment is in clocked (or suspendable) logic.
The risk in scheduling is a race between the Post scheduled NBA
commit, and blocking assignments in combinational logic, which might
order incorrectly.
The second point highlights that we can handle stuff like this safely,
which is sometimes used in testbenches:
```systemverilog
always @(posedge clk) begin
if ($time == 0) a = 0;
end
always @(posedge clk) begin
if ($time > 0) a <= 2;
end
````
The only dangerous case is:
```systemverilog
always @(posedge clk) foo[idx] <= val;
assign foo[0] = bar;
```
Whit this patch, this will still resolve fine at run-time if 'idx' is
never zero, but might resolve incorrectly if 'idx' is zero.
With the above in mind, the BLKANDNBLK warning is now only issued if:
- We can't prove that the assignments are to non-overlapping bits
- And the blocking assignment is in combinational logic
These are the cases that genuinely require user attention to resolve.
With this patch, there are no more BLKANDNBLK warnings in the RTLMeter
designs.
Fixes #6122 .
2025-06-28 20:45:45 +01:00
Wilson Snyder
b914cda1c7
Internals: cppcheck cleanups. No functional change.
2025-06-28 12:29:41 -04:00
Wilson Snyder
62e5e3aa0c
Fix interface array connections with non-zero low declaration index.
2025-06-28 09:43:02 -04:00
Wilson Snyder
f508dadc97
Support `specparam` ( #5767 ).
2025-06-28 08:23:43 -04:00
Wilson Snyder
189d094202
Commentary
2025-06-27 22:31:51 -04:00
Wilson Snyder
3defaf8ffb
Rename Verilator Config Files to Verilator Control Files.
...
Avoids conflict with IEEE `config`. No functional change intended.
2025-06-27 20:38:01 -04:00
Todd Strader
73696f0a71
Tests: Add coverpoints test ( #6118 )
2025-06-27 15:47:13 -04:00
Wilson Snyder
17c2512d03
Fix `pre_randomize`/`post_randomize` when no randomize ( #6128 ).
2025-06-26 18:35:49 -04:00
Wilson Snyder
75229cc03d
Fix `pre_randomize`/`post_randomize` when no randomize ( #6122 ).
2025-06-26 18:34:20 -04:00
Wilson Snyder
e422c183ff
Fix method calls without parenthesis ( #6127 ).
2025-06-26 18:16:21 -04:00
Wilson Snyder
68e1ed55f6
Commentary: Changes update
2025-06-26 17:42:10 -04:00
Wilson Snyder
993f65f3b4
Internals/CI: Format cmakefiles using mbake
2025-06-26 17:36:56 -04:00
Wilson Snyder
2c5e9a785a
Standardize indent of emitted makefile
2025-06-26 17:36:15 -04:00
Kamil Rakoczy
d183b4edde
Fix variables declared in fork after taskify ( #6126 )
2025-06-26 10:28:58 -04:00
Geza Lore
818e6d3ebf
Disable Vortex:sane:sgem pending fix
...
This design has a BLKANDNBLK warning which might or might not cause
problems depending on how the ordering ended up. See #6122 .
2025-06-26 10:57:51 +01:00
Wilson Snyder
2df0390c04
Commentary
2025-06-25 21:14:25 -04:00
Wilson Snyder
6cd0948c8c
Internals: Standardize Makefile indents. No functional change intended.
2025-06-25 21:10:46 -04:00
Wilson Snyder
3209bee3b3
Fix colon-divide operator without space ( #6121 ).
2025-06-25 04:56:52 -04:00
Wilson Snyder
88d0d85ca6
Internals: Apply format-yaml. No functional change.
2025-06-24 18:29:38 -04:00
Wilson Snyder
51545b36ca
Internals: Add format-make rule and standardize Makefile indents. No functional change intended.
2025-06-24 17:58:55 -04:00
Wilson Snyder
6af694b04b
Support `$timeformat` with missing arguments ( #6113 ).
2025-06-24 17:30:05 -04:00
Wilson Snyder
f9f70383fa
Fix instability in non-data type internal error
2025-06-24 17:29:44 -04:00
Geza Lore
916d473eff
Internals: Replace unnecessary AstSel::widthp() child node with const in node ( #6117 )
2025-06-24 11:59:09 -04:00
Wilson Snyder
a9e9ab50bd
Commentary: Changes update
2025-06-23 18:40:49 -04:00
Wilson Snyder
544cb4a90f
Fix decoding octal string escapes with 1-2 digits ( #6108 ).
2025-06-23 18:37:44 -04:00