agentleFS
chipweaverchipweaver/veripower/skills/timing-analysis/SKILL.md

timing-analysis

Skill10 starsChanged 53 days agoMITView on GitHub

Assess post-synthesis setup and hold timing with PrimeTime and determine what the evidence establishes under the task's constraints.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write under {workdir}; upstream inputs remain read-only.

    line 14
  2. Very specific:

    Use --fail-reason for invalid or incomplete analysis even if a report contains numbers.

    line 57

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Static Timing Analysis

Assess the implementation under the required timing conditions. Read dispatch.json, original intent, requirements, the synthesized netlist and SDC, and the materials carried into {workdir}. Determine the necessary work from what changed. An existing report may support a new judgment when its implementation, conditions and analysis scope still apply. The implementation input is the complete synthesis out/ directory, including supporting constraints; a changed package calls for reassessment.

Write under {workdir}; upstream inputs remain read-only. The framework carries previously published setup and products into this directory, without the old verdict. Keep useful analysis and comparison material in evidence/.

Tools

<skill> is this skill's directory. Prepare missing editable setup when needed:

python3 <skill>/scripts/timing/__main__.py bootstrap --workdir {workdir}

Bootstrap locates the netlist and matching SDC, installs missing run_sta.tcl and config.tcl, and preserves authored files. Set the actual cell library as LIB_DB in config.tcl and inspect the calculation settings. Run the required analysis:

cd {workdir}
python3 <skill>/scripts/timing/__main__.py run --workdir .

The entrypoint computes in a temporary directory using the current setup. Scripts write outputs relative to their working directory: timing-report.txt and any supplementary reports/ tree. Old reports are withdrawn and replaced only after successful, readable output. The log and failed calculation remain available until retry. Wait for completion and inspect warnings, effective constraints and the libraries used.

Judge and close

Review the reported endpoints, port delays, clocks and untested reasons against the task and applicable exceptions. These native reports are in timing-report.txt; the CLI's setup/hold measurements cover the reported paths, not the completeness or validity of the analysis scope. report_units in the same report supplies the conversion to ns. Numerical timing_slack_ns rows compare the minimum worst setup/hold slack with their own bounds; VIOLATED identifies negative slack even when displayed as zero. Overall STA acceptance separately requires both directions to be MET. Give evidence-based judgments for other timing requirements.

python3 <skill>/scripts/timing/__main__.py finalize --workdir {workdir} \
  [--requirements '[{"id":"R-1","met":true,"actual":"measured value","measured":"report and scope"}]'] \
  [--fail-reason "unresolved cause"] [--fix-owner <rule>]

Use --fail-reason for invalid or incomplete analysis even if a report contains numbers. Name the owner from the defect: local analysis errors belong here; incorrect implementation or constraints belong to their producer. Resolve local problems and retry the affected work. Acceptance changes follow the user's actual authorization.

Finalize withdraws the previous result before judging. Exit 0 means a pass/fail result was written; return STATUS: DONE. On a nonzero exit, resolve the cause or return STATUS: BLOCKED <cause>.

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.