agentleFS
chipweaverchipweaver/veripower/skills/env-precheck/SKILL.md

env-precheck

Skill10 starsChanged 53 days agoMITView on GitHub

Use when checking whether this machine's Python, EDA tools and licenses can actually run VeriPower's stages; not for any pipeline stage, module state, or design work.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

Environment Pre-check

Pre-pipeline, own session: you report, and change nothing — no module file, no event, no kernel.py. Nothing in the pipeline depends on this having run.

<skill> is this skill's own base directory, named on the first line of this file.

1. Presence

<skill>/../../docs/eda-env.md lists what must be true and what each miss costs. Probe every row of it, and timeout every probe: an unreachable license server hangs the tool.

2. Smoke

Presence is not a checkout. Ask which stages to cover, then per row write the smallest input that forces the checkout and run it in a temp dir. A row passes iff it produces the file below — a tool that took the license and did nothing still exits 0.

CheckoutHinges onProducesGates
Design Compilercompile_ultra (the DC-Ultra checkout — the flow runs no plain compile), then writethe netlistsynthesis
PrimeTimereport_timing on that netlistthe timing reporttiming-analysis
PrimeTime-PXset power_enable_analysis TRUE + report_powerthe power reportpower-analysis
VCS + UVMcompiling uvm_pkg.sv and uvm_dpi.cc from UVM_HOME, then running simvwhatever the TB writessimulation, power-analysis
VCS coverage-cm line+cond+branch+tgl+fsm, then urg -report cov_merge -format textcov_merge/dashboard.txtsimulation coverage gate
Verdi / FSDB-debug_access+all -kdb -lca + a ucli $fsdbDumpvars, then fsdbreportthe fsdbreport outputsimulation waveform, simulation-triage
SpyGlass Lintcurrent_goal lint/lint_rtl + run_goalthat goal's moresimple.rptlint-cdc
SpyGlass CDCcdc/cdc_setup, cdc/cdc_setup_check, cdc/cdc_verify_struct, each run_goaleach goal's moresimple.rptlint-cdc

The three VCS rows each compile their own simv: coverage and FSDB instrumentation take effect at compile time. A row whose tool or variable already failed §1 is skipped, not failed.

3. Report

Per row: pass or fail, and the stages it costs. Close with the stage list runnable now.

  • lmstat explains, the smoke decides: a feature the server lists can still fail to check out, and lmstat missing or timing out is not a failure.
  • Print export lines for the user; never edit their shell config.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.