Production-evidence profiles for AI-generated digital RTL
Project description
SV-Gap
Make the gap between “passes the benchmark” and “reviewable by a chip-design team” explicit.
SV-Gap is an open evaluation layer for AI-generated digital RTL. It preserves the functional result, adds declared design intent and structural evidence, and reports which production questions are answered, failed, or still unknown.
Supply RTL and evaluation evidence. Receive a reviewable account of what that evidence establishes, what it contradicts, and what evidence would resolve the remaining uncertainty.
Choose your first step
| Goal | Start here | Time |
|---|---|---|
| Understand the result without installing anything | Inspect the controlled result or a public model profile | 2 minutes |
| See the gap execute | docker run --rm ghcr.io/shsridhar-beep/svgap:v0.3.0-alpha.5 demo |
2 minutes |
| Evaluate one model or agent | Run the packaged smoke study | 15 minutes |
| Scope a qualification experiment | Request a research call or email the maintainer | 30 minutes |
Do not send proprietary RTL or confidential constraints through GitHub or email. A public or synthetic artifact is enough for the first experiment.
What the demo proves
candidate functional structural finding
safe pass pass none
unsafe pass fail REF-RDC-001
Both implementations pass the supplied functional test. Declared reset-release intent and configured structural evidence distinguish them. This is an executable existence result: it is not a defect-rate estimate, certification, or silicon signoff.
Supported today
| Surface | Current support | Boundary |
|---|---|---|
| Domain | AI-generated digital RTL | Analog and mixed-signal design are out of scope |
| Initial properties | Documented CDC/RDC structural patterns | Not comprehensive CDC/RDC signoff |
| Research tracks | Generation, diagnosis, and repair | Profiles remain multidimensional; no scalar leaderboard |
| Functional evidence | Executed commands or digest-bound imported results | Evidence quality remains visible |
| Structural backend | Narrow open Yosys reference backend | Backend pass means no configured finding, not a true negative |
| Outcomes | pass, fail, unknown, tool_error |
Missing intent or coverage never becomes pass |
| Platforms | Python 3.11–3.13; tested on macOS and Linux | Native Windows is not tested; use Docker Desktop or WSL2 |
Read the full methodology, limitations, and scope boundary before making claim-bearing use of a profile.
Trust and security boundary
- SV-Gap runs locally and performs no telemetry or artifact uploads. A model generator command supplied by the user may contact its configured provider.
- Generated RTL and functional commands are untrusted input. Do not evaluate them on a workstation containing credentials or sensitive source trees.
- The recommended two-stage workflow generates in the credentialed environment and evaluates saved responses in a network-disabled, read-only container.
- Only open-source runtime tools are assumed by default. Tool versions, provenance, unknowns, and errors remain in the evidence record.
- SV-Gap is evidence infrastructure, not a replacement for organizational review, commercial verification, or signoff.
- GitHub's automatic contributor graph reflects commit authors, including disclosed AI assistance; it is not a roster of verified human researchers. Maintainer accountability and accepted contributions are documented in CONTRIBUTORS.md.
Follow the isolated evaluation recipe for model or contributor outputs you have not reviewed.
Run locally
The container is the shortest reproducible path and includes the open RTL toolchain:
docker run --rm ghcr.io/shsridhar-beep/svgap:v0.3.0-alpha.5 demo
For a native macOS installation:
brew install yosys icarus-verilog
python3 -m venv .venv
.venv/bin/python -m pip install svgap==0.3.0a5
.venv/bin/svgap doctor
.venv/bin/svgap demo
Ubuntu, Debian, CI, and troubleshooting instructions are in
Linux installation and doctor checks.
If doctor finds a missing prerequisite, it prints the installation command
or container fallback rather than leaving the user at a missing-tool report.
Evaluate a model or existing RTL
Any model harness can participate: read a prompt from stdin and write the model response to stdout.
svgap study run reset-release-v0.2 \
--command "python3 my_generate.py" \
--label my-model-a \
--smoke \
--output my-first-svgap-study
The run produces a portable summary, evidence-file list, reports, and static
HTML profile. Replace --smoke with --full for the frozen eight-task,
three-sample protocol. See Evaluate your model.
For existing RTL, use svgap init, validate, check, and explain; the
bring-your-own-RTL tutorial includes an executable
manifest and imported-result path. Python integrations can call
svgap.evaluate(manifest); see the Python API.
Current evidence
- Four controlled CDC/RDC witness pairs have identical functional outcomes and different configured structural outcomes.
- A frozen 72-call reset-release study contains 57 functional passes; at least 14 contain the declared raw-reset pattern.
- A heuristic inventory covers 508 public RTL-generation tasks across VerilogEval, RTLLM, and CVDP.
- Two reproducible open-weights profiles demonstrate the public submission path; they are maintainer-produced anchors, not independent replications.
Controlled result · Reset result · Benchmark audit · Evidence profiles · Compact research note
These are bounded existence, taskpack-conditional, and heuristic results. They are not a population defect estimate, general model ranking, or signoff claim.
Collaborate
The preferred entry point is one question a functional RTL evaluation leaves unanswered. A 30-minute scoping call should end with a bounded qualification experiment, explicit claim boundary, and go/revise/stop decision.
- Research-call intake
- Private maintainer email
- Design-partner workflow
- One-page experiment contract
- Replication and co-design discussion
Joining a call is not contributor status. Named credit follows accepted, attributable protocol design, redistributable evidence, task design, analysis, validation, documentation, or code. See Contributors and Contributing.
Extend and integrate
- Submit a result
- Write a checker backend
- Integrate an existing benchmark
- Use the GitHub Action or container
- Good first issues
- Roadmap
Project status and citation
SV-Gap is early research software maintained by Shraddha S, who is accountable for project direction, incorporated changes, research claims, and releases. Material AI development assistance is disclosed in CONTRIBUTORS.md.
SV-Gap is an independent open-source research project. It is not an NVIDIA product or an official statement by NVIDIA. Cite the exact release used. The version-specific alpha.5 archival DOI will be recorded after Zenodo ingests the tag; the all-versions DOI is doi:10.5281/zenodo.21198938.
Apache-2.0. External tools and imported datasets retain their own licenses.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file svgap-0.3.0a5.tar.gz.
File metadata
- Download URL: svgap-0.3.0a5.tar.gz
- Upload date:
- Size: 85.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bbdad93e11b91209d714c385c2a9ef9388bc989aa0557a0445ef875a5c01ec1
|
|
| MD5 |
d1c9f06059937c03ab5de1f60ba7a4a5
|
|
| BLAKE2b-256 |
1ba712d6c62512ebcb4230ea2ba50d192ecb5f63be68618878125067552526ab
|
Provenance
The following attestation bundles were made for svgap-0.3.0a5.tar.gz:
Publisher:
release.yml on shsridhar-beep/svgap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
svgap-0.3.0a5.tar.gz -
Subject digest:
2bbdad93e11b91209d714c385c2a9ef9388bc989aa0557a0445ef875a5c01ec1 - Sigstore transparency entry: 2087696747
- Sigstore integration time:
-
Permalink:
shsridhar-beep/svgap@8c15abed975045158572bf61fe881961dd9005af -
Branch / Tag:
refs/tags/v0.3.0-alpha.5 - Owner: https://github.com/shsridhar-beep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c15abed975045158572bf61fe881961dd9005af -
Trigger Event:
push
-
Statement type:
File details
Details for the file svgap-0.3.0a5-py3-none-any.whl.
File metadata
- Download URL: svgap-0.3.0a5-py3-none-any.whl
- Upload date:
- Size: 99.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ec66f3e5327ebdf563fe7c0b1008b9ba8b657c62bad2622bb6342bb5c435722
|
|
| MD5 |
ab4d867f1c7abe418baf289f4f9cf774
|
|
| BLAKE2b-256 |
45580e8ddb5630ab021b6328138dc39a8fe67d5c581fda5c8a640b5a53233a30
|
Provenance
The following attestation bundles were made for svgap-0.3.0a5-py3-none-any.whl:
Publisher:
release.yml on shsridhar-beep/svgap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
svgap-0.3.0a5-py3-none-any.whl -
Subject digest:
5ec66f3e5327ebdf563fe7c0b1008b9ba8b657c62bad2622bb6342bb5c435722 - Sigstore transparency entry: 2087696852
- Sigstore integration time:
-
Permalink:
shsridhar-beep/svgap@8c15abed975045158572bf61fe881961dd9005af -
Branch / Tag:
refs/tags/v0.3.0-alpha.5 - Owner: https://github.com/shsridhar-beep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c15abed975045158572bf61fe881961dd9005af -
Trigger Event:
push
-
Statement type: