Skip to main content

Local-first Git-native verification evidence layer for RTL projects, EDA reports, and CI review.

Project description

LazyUVM

LazyUVM checked PyPI release

Latest release: v1.9.0 | PyPI: lazyuvm 1.9.0

Turn existing EDA reports into local PR evidence, and catch stale requirement evidence before merge.

LazyUVM is a local-first Git-native verification knowledge layer for teams that want reviewable evidence without replacing their simulator or sign-off flow.

LazyUVM static report bundle overview

pip install lazyuvm
lazyuvm demo quickstart

Already have a coverage report?

lazyuvm pilot evidence \
  --coverage-report reports/vcs_urg.txt \
  --config lazyuvm.toml \
  --out LazyUVM_Report

That writes local Markdown/JSON evidence plus LazyUVM_Report/index.html. It is artifact-only, warning-first, redacts local paths by default, and does not edit lazyuvm.toml.

What It Is

LazyUVM is a sidecar evidence layer for RTL verification workflows:

existing EDA output
  -> local LazyUVM JSON / Markdown / HTML evidence
  -> PR review, CI artifacts, onboarding, and stale-evidence checks

It keeps requirement/spec/register/behavior/coverage/waiver traceability in reviewable local files instead of a hidden spreadsheet or private dashboard.

LazyUVM is not a simulator.

LazyUVM is not a vManager replacement.

LazyUVM is not sign-off verification.

It makes VCS, Xcelium, Questa, Verilator, vManager, LCOV, and internal-script outputs easier to review in Git and CI. The enterprise flow stays in place.

Why Use It

  • Review without opening huge logs. Coverage holes, waivers, packs, and requirements become local PR artifacts.
  • Keep verification memory in Git. lazyuvm.toml records requirement source, owner, revision, and linked coverage/assertion/waiver evidence.
  • Catch stale evidence early. Spec changed. Did verification follow? A green regression is useful, but it is not enough evidence by itself.

The report bundle includes a Stale Evidence Focus section before the raw requirement map. It highlights cases like:

requirement: revB
coverage: revA
assertion: missing
owner: system
next action: DV owner must review coverage update

That is the core question:

Spec changed. Regression still green. Which evidence followed?

10-Minute EDA/CI Pilot

Try LazyUVM beside your current flow first. Do not change merge gates or sign-off processes on day one.

lazyuvm pilot evidence \
  --coverage-report reports/vcs_urg.txt \
  --config lazyuvm.toml \
  --out LazyUVM_Report

The command runs:

coverage parse -> gate -> req trace/doctor/draft -> report bundle

The output path is local:

LazyUVM_Pilot_Evidence/
LazyUVM_Report/index.html

See docs/pilot_evidence_command.md for the full command boundary.

Requirement Drafts

Do not start by hand-writing every requirement record. Generate a draft, review it, then copy only approved entries into Git.

lazyuvm req draft \
  --spec-trace-json LazyUVM_Spec_Trace.json \
  --gate-json LazyUVM_Gate.json \
  --eda-report-json LazyUVM_EDA_Report.json \
  --out LazyUVM_Requirement_Draft.toml

lazyuvm req draft-review \
  --draft LazyUVM_Requirement_Draft.toml \
  --out LazyUVM_Requirement_Draft_Review.md

req draft emits review-only candidates such as owner = "TODO" and revision = "TODO". It uses local evidence, does not infer private PDF contents, and does not edit project files. The schema is lazyuvm.requirement_draft.v1.

req draft-review reports missing owner, missing revision, linked evidence counts, and candidates that need human review. The schema is lazyuvm.requirement_draft_review.v1.

Use lazyuvm req doctor after reviewed requirements exist:

lazyuvm req doctor --config lazyuvm.toml
lazyuvm req doctor --config lazyuvm.toml --json --out LazyUVM_Requirement_Doctor.json

The first v1.8 requirement map focuses on requirement source, owner, revision, and linked coverage/assertion/waiver evidence, so stale-evidence review starts from a small Git-friendly record instead of a hidden spreadsheet.

v1.9.0 adds lazyuvm.requirement_issue_taxonomy.v1, so doctor warnings can be grouped as missing owner, missing revision, orphan requirement, stale coverage, stale assertion, or stale waiver while keeping the older warning codes stable.

Docs: docs/requirement_draft_workflow.md, docs/requirement_draft_review.md, docs/requirement_issue_taxonomy.md, docs/requirement_ownership.md, docs/requirement_map_v1_draft.md, docs/requirement_stale_scenario_demo.md, docs/stale_evidence_for_beginners.md, docs/v1.8_readiness_checklist.md.

Feedback

Have private-company workflow feedback but do not want to open a public GitHub issue? Use the anonymous workflow feedback form. No login is required, contact is optional, file uploads are disabled, and anonymized workflow shape is enough.

Useful feedback:

  • which EDA report family you tried;
  • who owns the requirement when the spec changes;
  • where verification evidence can go stale;
  • whether the report made review faster or confusing;
  • what would make a warning-first pilot safe to try.

Docs: docs/anonymous_feedback_form.md, docs/pilot_feedback_request.md, docs/pilot_feedback_summary.md, docs/anonymized_requirement_feedback.md, docs/v1.7_eda_ci_pilot_hardening.md.

Docs

The full documentation index is docs/README.md. Start here:

Goal Link
Install docs/install.md
Understand the sidecar boundary docs/not_a_vmanager_replacement.md
Run a pilot docs/pilot_evidence_command.md
Parse EDA reports docs/eda_ci_recipes.md
Review stale evidence docs/stale_evidence_for_beginners.md
Use local AI safely docs/facts_only_ai.md
Reuse packs docs/pack_reuse_workflow.md
Read release notes CHANGELOG.md
More docs and demo commands

Core demos:

lazyuvm demo quickstart
lazyuvm demo gallery
lazyuvm demo pilot
lazyuvm demo pilot-case
lazyuvm demo eda-samples
lazyuvm demo case-study
lazyuvm demo fixture-kit
lazyuvm demo artifact-names
lazyuvm demo reviewer-noise
lazyuvm demo artifact-qa
lazyuvm demo artifact-stability
lazyuvm demo friction
lazyuvm report redact-check

Reviewer assistant commands:

lazyuvm review summarize --gate-json LazyUVM_Gate.json --out LazyUVM_Review_Summary.md
lazyuvm review checklist --gate-json LazyUVM_Gate.json --out LazyUVM_Review_Checklist.md
lazyuvm review next-actions --checklist-json LazyUVM_Review_Checklist.json --out LazyUVM_Review_Next_Actions.md
lazyuvm review toml-draft --next-actions-json LazyUVM_Review_Next_Actions.json --out LazyUVM_Review_TOML_Draft.md
lazyuvm review pilot-safe --next-actions-json LazyUVM_Review_Next_Actions.json --out LazyUVM_Review_Pilot_Safe.md
lazyuvm review explain --next-actions-json LazyUVM_Review_Next_Actions.json --facts-out LazyUVM_Review_AI_Facts.json --prompt-out LazyUVM_Review_AI_Prompt.txt --out LazyUVM_Review_AI_Explanation.md
lazyuvm report bundle --review-summary-json LazyUVM_Review_Summary.json

Detailed docs:

Who It Is For

LazyUVM is a practical fit for students, open-source RTL projects, small teams, and teams that already have simulator output but want lighter PR evidence.

If your company already has a mature enterprise sign-off flow, keep it. Use LazyUVM only as local review evidence beside that flow.

Release Status

Current repository version: 1.9.0

Latest tagged release: 1.9.0

Latest release note: docs/releases/v1.9.0.md

See RELEASE_CHECKLIST.md before cutting a tag. For small public-safe contributions, see CONTRIBUTING.md. For sensitive reports and private design-data boundaries, see SECURITY.md.

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

lazyuvm-1.9.0.tar.gz (390.8 kB view details)

Uploaded Source

Built Distribution

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

lazyuvm-1.9.0-py3-none-any.whl (361.0 kB view details)

Uploaded Python 3

File details

Details for the file lazyuvm-1.9.0.tar.gz.

File metadata

  • Download URL: lazyuvm-1.9.0.tar.gz
  • Upload date:
  • Size: 390.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lazyuvm-1.9.0.tar.gz
Algorithm Hash digest
SHA256 abc8d954e92accadfd9a471d497ff9ccae763707ef83d0ebcae6a755d0929f17
MD5 7d09bf43f3cef89de61ae393db4995e5
BLAKE2b-256 8670c33254613698e01b4c62e4ecf4a9a4a3c4956c61b0feb1bb542e27a8dbb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyuvm-1.9.0.tar.gz:

Publisher: release.yml on jeonghunx/LazyUVM

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

File details

Details for the file lazyuvm-1.9.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for lazyuvm-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbfbb2717f9041ef63c893347ed09f5c3dbe486f8982e47dc132f9290299048a
MD5 eb0bb4aa18fb7ec0d43cb86ac1fc8740
BLAKE2b-256 0fddf12755b5fcc6fb98cd6f875de5f2588ebc60b45482de86c7a4c80092864d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lazyuvm-1.9.0-py3-none-any.whl:

Publisher: release.yml on jeonghunx/LazyUVM

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