Commit Graph

765 Commits

Author SHA1 Message Date
Yilou Wang 31f8be0b85
Support detailed failure info for constraint violations (#6617) (#6883)
* logging for the unsatisfied constraints

* Apply 'make format'

* fix teh quote error in the array indexing

* Apply 'make format'

* Len change for the hash for randomity when named assertion is used

* seperate name assertion and satisfied case

* Apply 'make format'

* simply comments and display info

* refine code and fix protect case

* format

* update display in test and .out file

* add an enable flag and warning type, add a protect_id version test and update out files

* Apply 'make format'

* simplify some comments

* update out file, ready to be merged.

* update .py file to set the hash key solid

* rename and reformate the warning message to follow the verilator style

* add a nowarn test

* Apply 'make format'

* ordering

---------

Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
Co-authored-by: github action <action@example.com>
2026-01-12 15:53:49 +01:00
Wilson Snyder a7b80966ec Remove `--xml-only`. 2026-01-01 09:23:05 -05:00
Wilson Snyder 13327fa9c0 Copyright year update. 2026-01-01 07:22:09 -05:00
Wilson Snyder b50e8bb9c1 Internals: Add '--debug-runtime-timeout' 2025-12-26 12:59:35 -05:00
Wilson Snyder 1b93033690 Add `--quiet-build` to suppress make/compiler informationals. 2025-12-23 19:21:42 -05:00
Jose Drowne c0a0f0dab9
Optimize inlining small C functions and add `-inline-cfuncs` (#6815) 2025-12-21 13:14:50 -05:00
Dan Ruelas-Petrisko 394d9cf168
Support `-libmap` (#5891 partial) (#6764) 2025-12-16 11:21:46 -05:00
Geza Lore 602e82a3b7 Internals: Avoid argparse.FileType deprecated in Python 3.14 2025-11-22 09:47:11 +00:00
Geza Lore c7ff73a083
Add --unroll-limit option (#6654) (#6668) 2025-11-09 12:46:25 -05:00
Wilson Snyder c801237ce8 Add `--preproc-defines`. 2025-11-01 23:27:43 -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 782fe1daf2 Internals: Add more python strict typing. No functional change intended 2025-11-01 14:14:56 -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 e732f656a9 Change `verilator_difftree` to return exit code 1 on mismatch, 2 on error. 2025-10-25 08:25:29 -04:00
Wilson Snyder 61de46cea2 Add `--aslr` and `--no-aslr` options. 2025-10-20 19:41:32 -04:00
Artur Bieniek cefcf836fd
Fix signal code reporting (#6554)
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-10-14 07:04:53 -04:00
Geza Lore 62dbbbba85 Internals: Rename --enable-asan to --enable-dev-asan and related 2025-10-03 12:26:48 +01:00
Wilson Snyder 9697a5ce6d Add verilator_gantt profiling of DPI imports (#3084). 2025-09-21 11:37:44 -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 3a039df351 Tests: Strictly test exit codes (no unexpected core dumps) 2025-09-17 21:01:11 -04:00
Geza Lore 056c3ee331
Testing: Add --enable-asan configure option to compile with AddressSanitizer (#6404) 2025-09-09 08:55:49 +01:00
Aleksander Kiryk ee1ab074dc
Internals: Fix missing variable initializations (#6327) 2025-08-23 10:59:12 -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 916a89761e Add `--work` library-selection option (#5891 partial). 2025-06-29 20:17:27 -04:00
Bartłomiej Chmiel 9cc4cc0efd
Add `--hierarchical-threads` (#6037) 2025-05-26 09:37:35 -04:00
Wilson Snyder 7b2dc46399 Commentary: Changes update 2025-05-22 06:45:39 -04:00
Ryszard Rozak 2491f25da7
Add filtering type option in verilator_coverage (#6030) 2025-05-22 02:42:09 -07:00
Wilson Snyder 66667b6172
Support SARIF JSON diagnostic output with `--diagnostics-sarif`. (#6017) 2025-05-17 15:46:15 -04:00
Wilson Snyder 1bcd5ee0c1 Fix spelling 2025-05-16 19:02:19 -04:00
Wilson Snyder 8100bc64a0 Commentary 2025-05-11 22:36:16 -04:00
Wilson Snyder c9be36911f Cleanup documentated option sort order, and enforce with test 2025-04-26 17:14:49 -04:00
Bartłomiej Chmiel d6e52b9400
Support profiling nested hierarchical mtasks with verilator_gantt (#5956) 2025-04-24 07:50:07 -04:00
Bartłomiej Chmiel 84f26ed3d7
Add visualization of multi-threaded waiting time with verilator_gantt (#5929) 2025-04-10 10:03:58 -04:00
Wilson Snyder 0984fd045f Change `--trace` to `--trace-vcd`. 2025-04-05 10:46:39 -04:00
Wilson Snyder 6d1e82b908
Add numactl-like automatic assignment of processor affinity (#5911) 2025-04-02 08:27:23 -04:00
Bartłomiej Chmiel fabded95df
Support multi-thread hierarchical simulation (#2583) (#5871) 2025-03-24 18:39:29 -04:00
Tobias Jensen ae87df7a5d
Fix Windows paths in perl (#5858) (#5860)
Add colon to no escape list, for windows paths
2025-03-15 14:22:10 -04:00
Mateusz Gancarz 9b4509f7d9
Add `--trace-saif` for SAIF power traces (#5812) 2025-03-07 10:41:29 -05:00
Kamil Rakoczy 2e1fa8f338
Add `--preproc-resolve` for modules in preprocessor output (#5789)
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2025-02-22 04:47:54 +10:00
Todd Strader 34ced254c0
Support expression coverage (#5719) 2025-02-19 16:42:23 -05:00
Krzysztof Bieganski 283f6c7433
Add `--preproc-token-limit` (#5768) 2025-02-07 10:32:12 -05:00
Wilson Snyder 6281385ee8 Commentary/Internals: Sort option names. No functional change. 2025-01-24 21:31:57 -05:00
Andrew Nolte f8dd65c7cd Add `--public-ignore` to ignore public metacomments (#7819) 2025-01-11 12:29:39 -05:00
Wilson Snyder 19258ee18a Commentary 2025-01-03 10:00:56 -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 3ffea76e11 Add `--no-std-waiver` and default reading of standard lint waivers file (#5607). 2024-11-12 22:11:19 -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