Skip to main content

Production-evidence profiles for AI-generated digital RTL

Project description

SV-Gap

CI Documentation PyPI DOI License: Apache-2.0

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.

SV-Gap turns an offline pass into an evidence profile

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
Create and interpret a local evidence profile svgap study quickstart --output my-first-svgap-study after installation 2 minutes
Evaluate one model or agent Run the packaged smoke study about 10 minutes after prerequisites
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 browser result above is the fastest path from a new visit to the research idea. The container includes the complete open RTL toolchain, but its first large image pull depends on network speed; the demo itself runs in under two minutes once the image is cached:

docker run --rm ghcr.io/shsridhar-beep/svgap:v0.3.0-alpha.6 demo

For a native macOS installation:

brew install yosys icarus-verilog
python3 -m venv .venv
.venv/bin/python -m pip install svgap==0.3.0a6
.venv/bin/svgap doctor
.venv/bin/svgap study quickstart --output my-first-svgap-study

quickstart evaluates a clearly labelled bundled unsafe fixture, writes a portable HTML evidence profile, and prints the exact report to pass to svgap explain. It teaches the workflow; it is not a model result. Run .venv/bin/svgap demo for the paired safe/unsafe executable witness.

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.

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

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 independently fetched and scanned alpha.5 archive is doi:10.5281/zenodo.21226232. The all-versions DOI always resolves to the latest archived release.

Apache-2.0. External tools and imported datasets retain their own licenses.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

svgap-0.3.0a6.tar.gz (88.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

svgap-0.3.0a6-py3-none-any.whl (101.8 kB view details)

Uploaded Python 3

File details

Details for the file svgap-0.3.0a6.tar.gz.

File metadata

  • Download URL: svgap-0.3.0a6.tar.gz
  • Upload date:
  • Size: 88.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svgap-0.3.0a6.tar.gz
Algorithm Hash digest
SHA256 37073424a54d5285a348075e07030bf8f13198248cddc8362b29cdf620fd081c
MD5 ba666795b88ccd59516733f8e676c9ba
BLAKE2b-256 5a72c32751add63776f929a22d26fea1814eb700b4c850bf1196dd079c641ece

See more details on using hashes here.

Provenance

The following attestation bundles were made for svgap-0.3.0a6.tar.gz:

Publisher: release.yml on shsridhar-beep/svgap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file svgap-0.3.0a6-py3-none-any.whl.

File metadata

  • Download URL: svgap-0.3.0a6-py3-none-any.whl
  • Upload date:
  • Size: 101.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for svgap-0.3.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 b4443250e574111c1bbc81f66bb761083c9c7e3bdb30cc4319f70b4f1e0db659
MD5 e91331d5ec68b7695dd5553b57967039
BLAKE2b-256 18fd7177275e8a10b2e8c4f654f0d288dcd9b34d8559295a47313ee160e7fbf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for svgap-0.3.0a6-py3-none-any.whl:

Publisher: release.yml on shsridhar-beep/svgap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page