Verilator open-source SystemVerilog simulator and lint system
This report summarizes scanner evidence for verilator/verilator, a SystemVerilog project with 4,005 GitHub stars. SynthScan examined 384,684 lines of code across 5248 source files, recording 5944 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 15.7 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1412 finding(s).
Are imports declared and package/API names verified? 4513 finding(s).
Are wrappers, guards, and repeated structures necessary? 24 finding(s).
Which changes need focused human review? 5944 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5944 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodist/fastcov.py | 30 | CODE | |
| LOW | test_regress/t/t_gantt_numa_default_threads.py | 12 | CODE | |
| LOW | test_regress/t/t_lint_paramnodefault_top_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_cover_sequence_unsup.py | 10 | CODE | |
| LOW | test_regress/t/t_tri_compass_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_array_non_blocking_loop.py | 10 | CODE | |
| LOW | test_regress/t/t_lint_unused_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_interface_virtual_func_wait.py | 10 | CODE | |
| LOW | test_regress/t/t_math_red_noexpand.py | 10 | CODE | |
| LOW | test_regress/t/t_enum_bad_cell.py | 10 | CODE | |
| LOW | test_regress/t/t_stream_bitqueue.py | 10 | CODE | |
| LOW | test_regress/t/t_debug_sigsegv_bt_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_sys_fstrobe.py | 10 | CODE | |
| LOW | test_regress/t/t_assign_deassign_concat.py | 10 | CODE | |
| LOW | test_regress/t/t_process.py | 10 | CODE | |
| LOW | test_regress/t/t_param_default.py | 10 | CODE | |
| LOW | test_regress/t/t_display_enum_protect_ids.py | 10 | CODE | |
| LOW | test_regress/t/t_flag_csplit_off.py | 10 | CODE | |
| LOW | test_regress/t/t_var_static.py | 10 | CODE | |
| LOW | test_regress/t/t_func_const2_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_display_impure.py | 10 | CODE | |
| LOW | test_regress/t/t_randomize_dist_foreach.py | 10 | CODE | |
| LOW | test_regress/t/t_dpi_import_mix_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_flag_make_gmake.py | 10 | CODE | |
| LOW | test_regress/t/t_var_types.py | 10 | CODE | |
| LOW | test_regress/t/t_clk_concat4.py | 10 | CODE | |
| LOW | test_regress/t/t_covergroup_with_lint.py | 10 | CODE | |
| LOW | test_regress/t/t_inside_queue_elem.py | 10 | CODE | |
| LOW | test_regress/t/t_nba_partial_late.py | 10 | CODE | |
| LOW | test_regress/t/t_constraint_countones.py | 10 | CODE | |
| LOW | test_regress/t/t_constraint_real_array_eq_unsup.py | 10 | CODE | |
| LOW | test_regress/t/t_altera_lpm_compare.py | 10 | CODE | |
| LOW | test_regress/t/t_opt_dedupe_clk_gate.py | 10 | CODE | |
| LOW | test_regress/t/t_trace_wide_struct.py | 10 | CODE | |
| LOW | test_regress/t/t_interface_array_loop_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_interface_down_inlab.py | 10 | CODE | |
| LOW | test_regress/t/t_dpi_display_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_package_export_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_trace_var_kind_cc_saif.py | 10 | CODE | |
| LOW | test_regress/t/t_case_huge.py | 10 | CODE | |
| LOW | test_regress/t/t_queue_var_slice.py | 10 | CODE | |
| LOW | test_regress/t/t_module_input_default_value_3_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_vpi_get.py | 10 | CODE | |
| LOW | test_regress/t/t_union_unpacked.py | 10 | CODE | |
| LOW | test_regress/t/t_assert_disable_iff.py | 10 | CODE | |
| LOW | test_regress/t/t_debug_gate.py | 10 | CODE | |
| LOW | test_regress/t/t_interface_modport_inl.py | 10 | CODE | |
| LOW | test_regress/t/t_static_task_args_bad.py | 10 | CODE | |
| LOW | test_regress/t/t_enum_param_xref_with.py | 10 | CODE | |
| LOW | test_regress/t/t_bitsel_struct3.py | 10 | CODE | |
| LOW | test_regress/t/t_func_void.py | 10 | CODE | |
| LOW | test_regress/t/t_vpi_public_depthn_3.py | 10 | CODE | |
| LOW | test_regress/t/t_always_ff_never.py | 10 | CODE | |
| LOW | test_regress/t/t_lint_unused_werror_bad.py | 10 | CODE | |
| LOW | …t_class_param_extends_static_member_function_access.py | 10 | CODE | |
| LOW | test_regress/t/t_altera_lpm_divide.py | 10 | CODE | |
| LOW | test_regress/t/t_package_struct.py | 10 | CODE | |
| LOW | test_regress/t/t_interface_modportlist.py | 10 | CODE | |
| LOW | test_regress/t/t_inst_nansi_param.py | 10 | CODE | |
| LOW | test_regress/t/t_lint_incabspath.py | 10 | CODE | |
| 4448 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | #***************************************************************************** | COMMENT |
| LOW | .codecov.yml | 1 | --- | COMMENT |
| LOW | python-dev-requirements.txt | 1 | # This program is free software; you can redistribute it and/or modify it | COMMENT |
| LOW | nodist/fuzzer/wrapper.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | ci/ci-rtlmeter-report.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ci/ci-install.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ci/ci-rtlmeter-cases.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | ci/ci-pages-notify.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ci/ci-pages.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ci/ci-coverage-report.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | include/verilated_saif_c.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_saif_c.h | 21 | #ifndef VERILATOR_VERILATED_SAIF_C_H_ | COMMENT |
| LOW | include/verilated_cov_model.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_cov_model.h | 61 | // CONSTRUCTORS | COMMENT |
| LOW | include/verilated_threads.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_threads.cpp | 21 | /// | COMMENT |
| LOW | include/verilated.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated.cpp | 21 | /// | COMMENT |
| LOW | include/verilated.cpp | 41 | // * Or, use types that are multi-constructor safe. | COMMENT |
| LOW | include/verilated.cpp | 61 | #include <chrono> | COMMENT |
| LOW | include/verilated.cpp | 81 | #ifdef __GLIBC__ | COMMENT |
| LOW | include/verilated.cpp | 101 | COMMENT | |
| LOW | include/verilated_fst_sc.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_fst_sc.cpp | 21 | COMMENT | |
| LOW | include/verilated_intrinsics.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_intrinsics.h | 21 | /// the target-specific headers. We provide macros to check for availability | COMMENT |
| LOW | include/verilated_threads.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_threads.h | 21 | //============================================================================= | COMMENT |
| LOW | include/verilated_threads.h | 61 | // On even cycles, _upstreamDepsDone increases as upstream | COMMENT |
| LOW | include/verilated_covergroup.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_covergroup.cpp | 21 | COMMENT | |
| LOW | include/verilated_cov.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_cov.h | 21 | /// coverage information. | COMMENT |
| LOW | include/verilated_cov.h | 41 | /// The remaining arguments occur in pairs: A string key, and a value. | COMMENT |
| LOW | include/verilated_cov.h | 141 | COMMENT | |
| LOW | include/verilated_cov.h | 161 | void write(const std::string& filename) VL_MT_SAFE; | COMMENT |
| LOW | include/verilated_cov.h | 181 | // We could have just the maximum argument version, but this compiles | COMMENT |
| LOW | include/verilated_cov.h | 221 | COMMENT | |
| LOW | include/verilated_vpi.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_vpi.cpp | 21 | /// | COMMENT |
| LOW | include/verilated_vpi.cpp | 41 | #include <cstring> | COMMENT |
| LOW | include/verilated_timing.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_cov_key.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_cov_key.h | 61 | #define VL_CIK_COLUMN "n" | COMMENT |
| LOW | include/verilated_trace.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_trace.h | 21 | COMMENT | |
| LOW | include/verilated_trace.h | 361 | EData* const m_sigs_enabledp; // Bit vector of enabled codes (nullptr = all on) | COMMENT |
| LOW | include/verilated_vcd_c.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_vcd_c.h | 301 | bool isOpen() const override VL_MT_SAFE { return m_sptrace.isOpen(); } | COMMENT |
| LOW | include/verilated_vcd_c.h | 321 | /// Flush dump | COMMENT |
| LOW | include/verilated_vcd_sc.cpp | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated_vcd_sc.cpp | 21 | COMMENT | |
| LOW | include/verilated_fst_c.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated.h | 1 | // -*- mode: C++; c-file-style: "cc-mode" -*- | COMMENT |
| LOW | include/verilated.h | 21 | /// User wrapper code may need to include this to get appropriate | COMMENT |
| LOW | include/verilated.h | 41 | // clang-format off | COMMENT |
| LOW | include/verilated.h | 61 | #include <set> | COMMENT |
| LOW | include/verilated.h | 461 | # define VL_VPRINTF vprintf ///< Print ala vprintf, called from main thread; redefine if desired | COMMENT |
| LOW | include/verilated.h | 481 | class VlExecutionProfilerBase VL_NOT_FINAL : public VerilatedVirtualBase { | COMMENT |
| LOW | include/verilated.h | 721 | int randReset() const VL_MT_SAFE { return m_s.m_randReset; } | COMMENT |
| 1239 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodist/fastcov.py | 450 | CODE | |
| LOW | nodist/fastcov.py | 509 | CODE | |
| LOW | nodist/fastcov.py | 756 | CODE | |
| LOW | nodist/fastcov.py | 789 | CODE | |
| LOW | nodist/fastcov.py | 108 | CODE | |
| LOW | nodist/fastcov.py | 165 | CODE | |
| LOW | test_regress/driver.py | 2904 | CODE | |
| LOW | test_regress/driver.py | 2924 | CODE | |
| LOW | test_regress/driver.py | 222 | CODE | |
| LOW | test_regress/driver.py | 510 | CODE | |
| LOW | test_regress/driver.py | 671 | CODE | |
| LOW | test_regress/driver.py | 994 | CODE | |
| LOW | test_regress/driver.py | 1017 | CODE | |
| LOW | test_regress/driver.py | 1232 | CODE | |
| LOW | test_regress/driver.py | 1529 | CODE | |
| LOW | test_regress/driver.py | 1911 | CODE | |
| LOW | test_regress/driver.py | 2126 | CODE | |
| LOW | test_regress/driver.py | 2443 | CODE | |
| LOW | test_regress/driver.py | 2513 | CODE | |
| LOW | test_regress/driver.py | 2652 | CODE | |
| LOW | test_regress/driver.py | 2801 | CODE | |
| LOW | test_regress/t/trace_struct_alias_common.py | 10 | CODE | |
| LOW | test_regress/t/t_dist_docs_warnings.py | 24 | CODE | |
| LOW | test_regress/t/t_dist_docs_warnings.py | 50 | CODE | |
| LOW | test_regress/t/t_preproc.py | 16 | CODE | |
| LOW | test_regress/t/t_flag_csplit_groups.py | 62 | CODE | |
| LOW | test_regress/t/trace_hier_block_common.py | 13 | CODE | |
| LOW | test_regress/t/t_dist_cpp_members.py | 15 | CODE | |
| LOW | test_regress/t/randomize_solver_tamper.py | 137 | CODE | |
| LOW | test_regress/t/t_dist_docs_options.py | 46 | CODE | |
| LOW | test_regress/t/t_dist_docs_options.py | 74 | CODE | |
| LOW | test_regress/t/t_dist_docs_options.py | 119 | CODE | |
| LOW | test_regress/t/t_dist_ast_style.py | 15 | CODE | |
| LOW | test_regress/t/t_dump_inputs_rerun.py | 15 | CODE | |
| LOW | test_regress/t/t_dist_error_format.py | 18 | CODE | |
| LOW | test_regress/t/trace_struct_array_multi_inst_common.py | 12 | CODE | |
| LOW | test_regress/t/trace_struct_array_multi_inst_common.py | 34 | CODE | |
| LOW | test_regress/t/t_flag_csplit.py | 60 | CODE | |
| LOW | test_regress/t/trace_lib_common.py | 14 | CODE | |
| LOW | test_regress/t/t_dist_warn_coverage.py | 125 | CODE | |
| LOW | test_regress/t/t_dist_warn_coverage.py | 200 | CODE | |
| LOW | test_regress/t/t_flag_prefix.py | 27 | CODE | |
| LOW | test_regress/t/t_dist_ast_dump.py | 28 | CODE | |
| LOW | test_regress/t/t_dist_ast_dump.py | 74 | CODE | |
| LOW | test_regress/t/t_dist_ast_dump.py | 117 | CODE | |
| LOW | test_regress/t/t_dist_docs_style.py | 39 | CODE | |
| LOW | test_regress/t/t_gate_tree.py | 23 | CODE | |
| LOW | docs/guide/conf.py | 22 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test_regress/driver.py | 1096 | #---------------------------------------------------------------------- | COMMENT |
| MEDIUM | test_regress/driver.py | 1738 | #--------------------------------------------------------------- | COMMENT |
| MEDIUM | test_regress/driver.py | 1812 | #--------------------------------------------------------------- | COMMENT |
| MEDIUM | test_regress/driver.py | 1874 | #--------------------------------------------------------------- | COMMENT |
| MEDIUM | test_regress/driver.py | 1909 | #---------------------------------------------------------------------- | COMMENT |
| MEDIUM | test_regress/driver.py | 3006 | #--------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/guide/conf.py | 10 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/guide/conf.py | 43 | # ---------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/guide/conf.py | 60 | # ---------------------------------------------------------------------- | STRING |
| MEDIUM | docs/guide/conf.py | 110 | # ---------------------------------------------------------------------- | STRING |
| MEDIUM | docs/guide/conf.py | 164 | # ---------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | docs/guide/conf.py | 195 | # ---------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | docs/guide/conf.py | 205 | # ---------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | docs/guide/conf.py | 211 | # ---------------------------------------------------------------------- | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/V3Sched.cpp | 851 | // Step 2: Prepare external domains for timing and virtual interfaces | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 860 | // Step 3: Gather and classify all logic in the design | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 870 | // Step 4: Schedule static, initial and final logic classes in source order | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 880 | // Step 5: Break combinational cycles by introducing hybrid logic | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 896 | // Step 6: Create 'settle' region that restores the combinational invariant | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 900 | // Step 7: Partition the clocked and combinational (including hybrid) logic into pre/act/nba. | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 927 | // Step 9: Create the input combinational logic | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 932 | // Step 10: Create the triggers | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1068 | // Step 13: Create the 'obs' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1071 | // Step 14: Create the 'react' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1075 | // Step 15: Create the 'postponed' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1078 | // Step 16: Populate the eval entry point function of each region of a time step | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1081 | // Step 17: Add neccessary evaluation before awaits | COMMENT |
| LOW | src/V3Sched.cpp | 916 | // Step 8: Replicate combinational logic | COMMENT |
| LOW | src/V3Sched.cpp | 972 | // Step 11: Create the 'act' region evaluation function | COMMENT |
| LOW | src/V3Sched.cpp | 1052 | // Step 12: Create the 'nba' region evaluation function | COMMENT |
| LOW | src/V3Sched.cpp | 1118 | // Step 18: Clean up | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/V3Sched.cpp | 851 | // Step 2: Prepare external domains for timing and virtual interfaces | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 860 | // Step 3: Gather and classify all logic in the design | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 870 | // Step 4: Schedule static, initial and final logic classes in source order | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 880 | // Step 5: Break combinational cycles by introducing hybrid logic | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 896 | // Step 6: Create 'settle' region that restores the combinational invariant | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 900 | // Step 7: Partition the clocked and combinational (including hybrid) logic into pre/act/nba. | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 927 | // Step 9: Create the input combinational logic | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 932 | // Step 10: Create the triggers | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1068 | // Step 13: Create the 'obs' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1071 | // Step 14: Create the 'react' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1075 | // Step 15: Create the 'postponed' region evaluation function | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1078 | // Step 16: Populate the eval entry point function of each region of a time step | COMMENT |
| LOW⚡ | src/V3Sched.cpp | 1081 | // Step 17: Add neccessary evaluation before awaits | COMMENT |
| LOW | src/V3Sched.cpp | 916 | // Step 8: Replicate combinational logic | COMMENT |
| LOW | src/V3Sched.cpp | 972 | // Step 11: Create the 'act' region evaluation function | COMMENT |
| LOW | src/V3Sched.cpp | 1052 | // Step 12: Create the 'nba' region evaluation function | COMMENT |
| LOW | src/V3Sched.cpp | 1118 | // Step 18: Clean up | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ci/ci-rtlmeter-report.bash | 94 | # Create the PR notification | COMMENT |
| MEDIUM | ci/ci-coverage-report.bash | 37 | # Create the report. For a pull request, report patch coverage against the | COMMENT |
| MEDIUM | ci/ci-coverage-report.bash | 69 | # Create the PR notification | COMMENT |
| MEDIUM | ci/ci-coverage-report.bash | 103 | # Create the coverage status | COMMENT |
| MEDIUM | test_regress/t/trace_two_common.py | 67 | # Create the ALL.cpp for 'b' | COMMENT |
| MEDIUM | .github/workflows/coverage.yml | 189 | # Create the report artifact. Note there is no report if the patch is empty. | COMMENT |
| MEDIUM | .github/workflows/rtlmeter.yml | 412 | # Create the report artifact | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ci/ci-rtlmeter-report.py | 90 | # for wall clock and CPU time, ignore small values that just add noise | COMMENT |
| LOW | ci/ci-rtlmeter-cases.py | 226 | # Filter out hello tests on pull requests, these just add measurement noise | COMMENT |
| MEDIUM | test_regress/t/t_covergroup_inst_handle.py | 14 | # Hand-written harness: neither property is reachable from SystemVerilog -- an | COMMENT |
| MEDIUM | test_regress/t/t_covergroup_inst_handle.py | 38 | # may not free, the harness leaks the model it must not delete. Both are the | COMMENT |
| MEDIUM | src/V3ExecGraph.cpp | 418 | // To support scheduling tasks that utilize more than one thread, we introduce a wide | COMMENT |
| MEDIUM | src/V3EmitCBase.cpp | 195 | // This isn't very robust and may need cleanup for other data types | COMMENT |
| MEDIUM | src/V3Ast.h | 454 | // VNType is 2 bytes, so we can stick another 6 bytes after it to utilize what would | COMMENT |
| MEDIUM | src/V3EmitCModel.cpp | 363 | // This isn't very robust and may need cleanup for other data types | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | nodist/fastcov.py | 495 | except UnicodeDecodeError: | CODE |
| HIGH | test_regress/driver.py | 118 | except FileExistsError: | CODE |
| HIGH | test_regress/driver.py | 141 | except OSError: | CODE |
| HIGH | test_regress/driver.py | 1053 | except (VtErrorException, VtSkipException): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test_regress/driver.py | 238 | out = VtOs.run_capture('(z3 --help || cvc5 --help || cvc4 --help) 2>/dev/null', | CODE |
| HIGH | test_regress/driver.py | 810 | self.pli_flags += ["-Wl,-undefined,dynamic_lookup"] | CODE |
| HIGH | test_regress/t/t_flag_main_vpi_multi.py | 31 | pli2_cmd += (["-Wl,-undefined,dynamic_lookup"] if platform.system() == 'Darwin' else ["-rdynamic"]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/V3Decompose.cpp | 456 | // Warn on the variable only, a component is split as far as possible, as requested | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | nodist/fastcov.py | 529 | # Check if branch coverage should be deleted based on CLI options | COMMENT |
| LOW | ci/ci-rtlmeter-report.py | 122 | # Print results | COMMENT |
| LOW | ci/ci-pages.bash | 266 | # Set output to all affected unique PR run IDs (comma separated, no trailing comma) | COMMENT |
| LOW | ci/docker/run/verilator-wrap.sh | 17 | # Check if user set an obj_dir | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | include/fstcpp/fstcpp_assertion.h | 115 | // TODO: implement MSVC version | COMMENT |
| LOW | include/fstcpp/fstcpp_stream_write_helper.h | 41 | // TODO: implement MSVC version | COMMENT |
| LOW | include/fstcpp/fstcpp_variable_info.h | 34 | // TODO: implement MSVC version | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_regress/driver.py | 1765 | def get_default_vltmt_threads(self) -> int: | CODE |
| LOW | test_regress/driver.py | 1806 | def wno_unopthreads_for_few_cores(self) -> str: | CODE |
| LOW | test_regress/t/coverage_covergroup_common.py | 12 | def covergroup_coverage_report(test, outfile=None): | CODE |
| LOW | test_regress/t/randomize_uniform_common.py | 19 | def jensen_shannon_divergence_pct(observed_counts, solutions): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_regress/t/t_a2_first_sc.py | 11 | # after building so we make sure to run with --gdbbt, so if it dumps we'll | COMMENT |
| LOW | test_regress/t/t_a1_first_cc.py | 11 | # after building so we make sure to run with --gdbbt, so if it dumps we'll | COMMENT |
| LOW | src/V3SplitVar.cpp | 787 | UASSERT(m_refs.empty(), "Don't forget to call split()"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_regress/t/t_vpi_var.cpp | 1771 | {"text", "Verilog Test module", "lorem ipsum"}, | CODE |
| LOW | test_regress/t/t_vpi_force.cpp | 301 | {.str = "lorem ipsum"}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/guide/conf.py | 33 | except Exception: # pylint: disable=broad-except | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test_regress/driver.py | 1911 | CODE |