Skip to content

Ordinary RTL lint baseline on the 14 reset-gap candidates

Run date: 2026-08-06

Result

Neither ordinary open-source linter identified the frozen RDC mechanism in any of the 14 functionally passing REF-RDC-001 candidates:

Tool RDC-specific detection in 14 gaps Any diagnostic Non-filename diagnostic
Verilator 5.050, --lint-only --Wall 0 / 14 14 / 14 0 / 14
Verible v0.0-4121-gc2ec3416, default rules 0 / 14 14 / 14 3 / 14
Union 0 / 14 14 / 14 3 / 14

All 14 candidates parsed successfully in both tools. The apparently universal diagnostic rate is entirely explained by both linters objecting that the shared artifact filename design.sv does not match each task-specific module name. That packaging convention is unrelated to reset behavior.

Verible additionally reported undersized-binary-literal on three openai-frontier-a reset_counter candidates. Each uses 8'b1 instead of an eight-digit, zero-padded literal. This is a style finding, not detection of raw asynchronous reset reaching ordinary state.

Comparator result

The same commands were run on the other 43 candidates that passed both the functional oracle and the frozen structural oracle:

Tool RDC-specific detection Any diagnostic Non-filename diagnostic
Verilator 0 / 43 43 / 43 15 / 43
Verible 0 / 43 43 / 43 0 / 43

Verilator emitted SYNCASYNCNET on 15 structural-pass comparators and zero gap members. Manual inspection confirmed that these warnings target reset_sync/rst_sync: the synchronizer state is clocked synchronously and its released output is used in an asynchronous-reset context. The warning therefore points at the recognized synchronized-reset implementation, not at the unsafe raw-reset bypass that defines REF-RDC-001. It must not be counted as detection of the gap merely because its name contains “async” and “sync.”

The comparator is descriptive. A frozen structural pass is not an independently established clean-design label, and the 57 functional passes are not a representative population sample.

Method

The protocol was written locally before inspecting candidate lint output. The primary population was selected mechanically from the frozen artifact as functional == pass && structural == fail; the runner verified all 14 reports carry gap_member: true and the error rule REF-RDC-001. The remaining 43 functional passes served as structural-pass comparators.

Only manifest-declared design sources were linted. Testbenches, waivers, project configuration, and candidate-specific options were excluded. Commands were:

verilator --lint-only --Wall --Wno-fatal --top-module <top> <design sources>
verible-verilog-lint --ruleset=default <design sources>

“Detected” required a diagnostic that actually identified a reset-domain crossing, unsafe asynchronous-reset release/deassertion, raw-reset reachability, or synchronizer bypass. Syntax, filename, literal-style, and generic synchronous/asynchronous-use warnings did not qualify. Every unique diagnostic class was manually checked under that rubric.

Reproduction and evidence

The exact tool versions, executable hashes, candidate source hashes, commands, return codes, and raw-output paths are recorded in results.json.

Defensible claim

Under default Verilator 5.050 and Verible v0.0-4121-gc2ec3416 lint configurations, neither tool emitted an RDC-specific diagnostic for any of the 14 functionally passing candidates detected by SVGAP's frozen REF-RDC-001 oracle.

This shows that the configured SVGAP reset-intent check contributes orthogonal coverage relative to these two ordinary open-source lint baselines on this taskpack. It does not establish that all lint tools miss the condition. Commercial lint decks and dedicated CDC/RDC signoff tools are outside this study, as are tuned rule configurations and other reset task families.

How the result is represented in SV-Gap

Schema v2 can now run lint-verilator or lint-verible as an explicit oracle_class = "lint". The backend coverage metadata records this frozen 0/14 calibration boundary. Lint diagnostics stay tool-attributed (LINT-VERILATOR-* or LINT-VERIBLE-*) and do not become REF-RDC-* findings. The recommended profile sets contributes_to_gap = false, retaining the lint result beside structural evidence without allowing it to redefine the structural-gap metric.