Verification closure

SpecLink

An evidence-based verification-closure system that connects specification requirements to tests, checks, simulation evidence, and regression runs.

01

Understanding the project

The idea in plain language.

SpecLink is designed for the question every verification project eventually faces: can the team prove that each requirement has actually been verified? It creates traceable mappings between requirements, tests, runtime checks, and evidence from real simulation runs.

The tool is simulator-independent. It generates a small SystemVerilog reporting package, reads a machine-readable summary from the simulator log, converts that summary to evidence JSON, and recomputes whether each requirement is closed, partial, failed, or open.

02

Core capabilities

What the project can do.

  • 01

    Organizes requirements into projects and categories, with active-state and closure tracking.

  • 02

    Maps each requirement to the tests and checks required to prove it.

  • 03

    Generates SystemVerilog APIs such as pass_check, fail_check, and hit_check for use in scoreboards, assertions, monitors, and callbacks.

  • 04

    Parses simulation logs into vendor-neutral evidence JSON and ingests that evidence into regression runs.

  • 05

    Shows closure at dashboard, snapshot, regression-run, and individual-requirement levels.

03

Typical workflow

How someone uses it.

  1. 1

    Enter requirements, tests, and checks, then define which evidence each requirement needs.

  2. 2

    Generate the SystemVerilog package and call its reporting methods from the verification environment.

  3. 3

    Run simulation, parse the resulting log, and upload the evidence JSON.

  4. 4

    Review the recalculated closure state and investigate missing or failed evidence.

04

Under the hood

Technology and design choices.

  • Python
  • Django
  • SystemVerilog
  • JSON evidence protocol
  • Tailwind CSS
  • Preline

05

Important considerations

What to know before using it.

  • A requirement closes only when every required mapped test and check has passing evidence for the selected run.
  • Failed evidence produces a failed state, incomplete evidence produces partial, and no meaningful evidence leaves the requirement open.
  • The current frontend loads Tailwind and Preline from public CDNs.