Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure.

MITAuto-check: notes

Install Sta

skills CLI
$ npx skills add hdl-tools/digital-chip-design-agents --skill sta -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hdl-tools/digital-chip-design-agents sta --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hdl-tools/digital-chip-design-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sta/skills/sta .claude/skills/sta && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sta
GitHub stars
212
Token cost
~3.1k tokens
SKILL.md length
1,375 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure.

  • Works in 2 steps: memory/sta/knowledge.md — known failure… → memory/sta/run_state.md — current run…
  • Running timing analysis on a design
  • SKILL.md covers Invocation, Pre-run Context, Purpose and Supported EDA Tools, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Sta is an agent skill from hdl-tools/digital-chip-design-agents. Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure. Use when running timing analysis on a design, reviewing timing violations, guiding ECO fixes, or performing timing sign-off for tape-out.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Digital HDL Design Full-stack Agents. The licence is MIT.

When your agent uses it

  • Running timing analysis on a design
  • Reviewing timing violations
  • Guiding ECO fixes
  • Performing timing sign-off for tape-out

Example prompts

  • “/sta”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Bash

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. memory/sta/knowledge.md — known failure patterns, successful tool flags, PDK/tool quirks.
  2. memory/sta/run_state.md — current run identity (run_id, design_name, tool,

What it can do on your machine

Read from SKILL.md and the folder at commit 38736b1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sta loads about 3.1k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 1,375 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hdl-tools/digital-chip-design-agents at commit 38736b1, republished under its MIT licence (© hdl-tools). 1,375 words, ~3,091 tokens.

Download SKILL.mdSave it as .claude/skills/sta/SKILL.md (or your agent's skills folder).
name
sta
description
Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure. Use when running timing analysis on a design, reviewing timing violations, guiding ECO fixes, or performing timing sign-off for tape-out.
allowed-tools
Read, Write, Bash
version
1.0.0
author
chuanseng-ng
license
MIT

Skill: Static Timing Analysis (STA)

Invocation

When this skill is loaded and a user presents a timing analysis task, do not execute stages directly. Immediately spawn the digital-chip-design-agents:sta-orchestrator agent and pass the full user request and any available context to it. The orchestrator enforces the stage sequence, loop-back rules, and sign-off criteria defined below.

Use the domain rules in this file only when the orchestrator reads this skill mid-flow for stage-specific guidance, or when the user asks a targeted reference question rather than requesting a full flow execution.

Pre-run Context

Before executing or advising on any stage, read the following files if they exist:

  1. memory/sta/knowledge.md — known failure patterns, successful tool flags, PDK/tool quirks. Incorporate its guidance into every stage decision. If absent, proceed without it.
  2. memory/sta/run_state.md — current run identity (run_id, design_name, tool, last_stage). Use this to resume correctly after interruption. If absent, a new run is starting; the orchestrator will create this file before the first stage.

This pre-run read applies whether this skill is loaded by a user or called by the orchestrator mid-flow. It ensures the fix database is consulted before any diagnosis step.

Purpose

Multi-corner, multi-mode timing analysis, exception review, ECO-guided closure, and timing sign-off. WNS ≥ 0 and TNS = 0 at all corners required for tape-out.


Supported EDA Tools

Open-Source
  • OpenSTA (sta) — standalone open-source STA; runs tcl scripts in batch mode (see sequential flow note below)
  • OpenROAD STA subsystem (openroad -no_init) — STA within the OpenROAD PD flow; runs sequentially via tcl script
Proprietary
  • Synopsys PrimeTime (pt_shell, dialect synopsys) — gold-standard multi-corner STA and power analysis
  • Cadence Tempus (tempus, dialect cadence) — concurrent multi-mode multi-corner STA with ECO guidance
Sequential Flow Log Review (OpenSTA / OpenROAD STA)

OpenSTA (sta) and the OpenROAD STA subsystem (openroad -no_init) execute tcl script commands sequentially. When run in batch mode the agent must parse the output log to extract timing results — there is no interactive prompt to query mid-run.

Key log patterns to parse after run completion:

  • report_timing output → extract WNS (worst negative slack) and critical path
  • report_tns output → extract TNS (total negative slack) per corner
  • report_clock_skew output → global skew and insertion delay per clock group
  • check_timing → missing constraints, unconstrained endpoints, loops

Batch invocation:

opensta -no_splash -exit timing_check.tcl > sta.log 2>&1
# or via OpenROAD:
openroad -no_init -exit sta.tcl > sta.log 2>&1

Parse sta.log after completion. Apply loop-back rules (ECO guidance stage) if setup/hold violations are found.


Stage: constraint_validation

Validation Checks
  1. All clocks defined with correct period and waveform
  2. All generated clocks: correct source and division/multiplication
  3. No unconstrained paths: verify with report_timing -unconstrained
  4. CDCs: correct false_path or max_delay applied
  5. Multicycle paths: both –setup N and –hold 1 specified
  6. Input/output delays: match system-level timing budget
  7. Timing exceptions: not overly broad (masking real violations)
  8. Propagated vs ideal clocks: correct mode (ideal pre-CTS, propagated post-CTS)
Common Constraint Errors
ErrorConsequence
MCP without hold correctionHold violations introduced
False path too broadReal timing issues masked
Generated clock missingPath unconstrained
Wrong clock periodOver/under-constraining
QoR Metrics to Evaluate
  • 0 unconstrained paths
  • 0 clock definition errors
  • All exceptions reviewed and documented
Output Required
  • Constraint QA report
  • Clock summary (all clocks, sources, periods)
  • Exception list with justifications

Stage: multi_corner_analysis

Required Corner Matrix

Corners are driven by design_state.constraints.pvt_corners[]. The table below shows the default corners used when pvt_corners is absent or contains no entries with non-null V/T:

ModeSetup CornerHold Corner
FunctionalSS/0.9V/125°C (default)FF/1.1V/−40°C (default)
Test (at-speed)SS/0.9V/125°C (default)FF/1.1V/25°C (default)
Low PowerSS/0.9V/125°C (default)FF/1.1V/25°C (default)

When pvt_corners is populated, use every entry with "checks": ["setup"] for setup and every entry with "checks": ["hold"] for hold; the defaults above are the fallback.

POCV/AOCV Application
  1. AOCV: apply depth and location-based derating (pre-POCV designs)
  2. POCV: apply parametric variation (sigma-based, per foundry agreement)
  3. Clock uncertainty: pre-CTS ideal values → post-CTS propagated
Path Analysis Priority
  1. WNS path per corner (most critical single path)
  2. TNS contribution (how many paths fail and by how much)
  3. CDC paths with max_delay constraints
  4. At-speed paths: launch/capture pair STA
QoR Metrics — Sign-off Targets
MetricTarget
Setup WNS≥ design_state.constraints.timing.wns_ns_target (default: 0) all corners
Setup TNS= design_state.constraints.timing.tns_ns_target (default: 0) all corners
Hold WNS≥ design_state.constraints.timing.wns_ns_target (default: 0) all corners
Hold TNS= design_state.constraints.timing.tns_ns_target (default: 0) all corners
Output Required
  • Timing report per corner (setup and hold)
  • WNS/TNS summary table across all corners
  • Top 100 violating paths

Stage: path_analysis

Domain Rules
  1. Group failing paths by root cause: long wire, weak driver, logic depth, high-Vt
  2. Separate setup violations from hold violations — different fix strategies
  3. At-speed violations: check launch/capture pair timing explicitly
  4. False paths: verify every exception is still valid after PD changes
  5. Reconvergent fanout: flag paths with reconvergence for careful ECO planning
Output Required
  • Failing path analysis (root cause per path group)
  • Paths requiring ECO vs paths requiring SDC correction

Stage: exception_review

Show full SKILL.md (594 more words)Show less
Domain Rules
  1. Review every timing exception for correctness and scope:
    • set_false_path: verify the path is truly non-functional (not just inconvenient)
    • set_multicycle_path: verify both -setup N and -hold 1 are set correctly
    • set_max_delay: verify value matches system-level timing budget
  2. Overly broad exceptions: any exception matching > 1% of all paths requires architect approval
  3. Exceptions masking real violations: revoke immediately and re-run path analysis
  4. Every exception must have a documented justification (design intent, async crossing, test mode)
  5. Post-ECO exceptions: verify any new exceptions added after ECO are still valid
Common Exception Errors
ErrorConsequence
set_false_path on functional CDCReal metastability risk hidden
MCP without hold correctionHold violations introduced silently
Exception too broad (glob match)Unintended paths unconstrained
Expired exception (removed logic)Stale SDC — may mask other issues
QoR Metrics to Evaluate
  • 0 exceptions without documented justification
  • 0 overly broad exceptions (flagged for architect review)
  • Exception list reviewed and signed off before ECO guidance begins
Output Required
  • Exception audit report (valid / revoked / needs-approval per exception)
  • Revised SDC with invalid exceptions removed
  • Exception sign-off record

Stage: eco_guidance

ECO Decision Tree
Setup violation:
  Logic depth > target?       → Retime / add pipeline stage
  Long wire (> 500μm)?        → Buffer insertion / reroute on upper metal
  Weak driver?                → Upsize driver cell
  High-Vt on critical path?   → Swap to SVT or LVT
  Reconvergent fanout?        → Clone cell / split net

Hold violation:
  Skew-induced (post-CTS)?    → Useful skew / targeted delay buffer
  Short path (< 1 cycle)?     → Insert HVT delay buffer
  New path from ECO?          → Targeted hold buffer at sink register
ECO Rules
  1. Minimum ECO footprint: fewest cell changes to fix the most violations
  2. Prefer resize over add new cell (less routing impact)
  3. ECO cells: place in pre-reserved ECO sites or free standard cell rows
  4. Re-run STA after every ECO batch — never accumulate blind
  5. LEC after every ECO: verify equivalence preserved
  6. Never introduce new hold violations while fixing setup (and vice versa)
QoR Metrics to Evaluate
  • ECO efficiency: violations fixed per change
  • ECO cell count: < 2% of total cells (flag if exceeded — upstream issue)
  • Post-ECO LEC: EQUIVALENT
Output Required
  • ECO change list (cell, action, justification)
  • Pre/post ECO timing comparison
  • ECO LEC result

Stage: sta_signoff

Sign-off Checklist
  • Setup WNS ≥ design_state.constraints.timing.wns_ns_target (default: 0) at all corners
  • Setup TNS = design_state.constraints.timing.tns_ns_target (default: 0) at all corners
  • Hold WNS ≥ design_state.constraints.timing.wns_ns_target (default: 0) at all corners
  • Hold TNS = design_state.constraints.timing.tns_ns_target (default: 0) at all corners
  • All exceptions valid and documented
  • POCV/AOCV applied per foundry spec
  • LEC clean post all ECOs
Output Required
  • Sign-off timing report (all corners, all modes)
  • ECO change summary
  • Timing sign-off record

Constraint Validation

See plugins/meta/skills/pipeline-orchestration/SKILL.md §Constraints Schema for the authoritative schema and stage-entry validation rule.

Required at entry (constraint_validation) — hard-fail if missing:

  • constraints.clock.clk_mhz — clock frequency used to interpret timing results
  • constraints.pvt_corners — at least one entry with non-null voltage_v and temp_c; missing or invalid entries should hard-fail during constraint_validation

Optional (schema defaults apply when absent):

  • constraints.timing.wns_ns_target (default: 0) — WNS sign-off threshold
  • constraints.timing.tns_ns_target (default: 0) — TNS sign-off threshold
  • constraints.timing.skew_ps_max (default: 100) — CTS skew limit
  • constraints.timing.transition_ps_max (default: 200) — max clock transition
  • constraints.timing.insertion_delay_ps_max (default: 500) — max insertion delay

Memory

Write on stage completion

After each stage completes (regardless of whether an orchestrator session is active), write or overwrite one JSON record in memory/sta/experiences.jsonl keyed by run_id. This ensures data is persisted even if the flow is interrupted or called without full orchestrator context.

Use run_id = sta_<YYYYMMDD>_<HHMMSS> (set once at flow start; reuse on each stage update). Set signoff_achieved: false until the final sign-off stage completes.

Run state (write before first stage, update after each stage)

Write memory/sta/run_state.md as the first action before launching any tool:

markdown
run_id:      sta_<YYYYMMDD>_<HHMMSS>
design_name: <design>
tool:        <primary tool>
start_time:  <ISO-8601>
last_stage:  <first stage name>

Update last_stage after each stage completes. This file lets wakeup-loop prompts and resumed sessions identify the correct run without relying on in-memory state. Create the file and parent directories if they do not exist.

Optional: claude-mem index

If mcp__plugin_ecc_memory__add_observations is available in this session, emit each applied fix as an observation to entity chip-design-sta-fixes after writing to experiences.jsonl. Skip silently if the tool is absent — JSONL is the canonical record.

© hdl-tools, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/sta/skills/sta of hdl-tools/digital-chip-design-agents.

Open the folder on GitHubat commit 38736b1

Compare with similar skills

Sta next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sta compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sta this skillhdl-tools/digital-chip-design-agents212—~3.1kAutomated safety check: NotesMIT
Time Trackingsickn33/agentic-awesome-skills47k1 repos~3.8kAutomated safety check: PassMIT
Time Ledgersickn33/agentic-awesome-skills47k1 repos~1.8kAutomated safety check: PassMIT
Timing AnalysisFastLED/FastLED7.5k—~484Automated safety check: PassMIT
Timely AutomationComposioHQ/awesome-claude-skills77k3 repos~727Automated safety check: PassNone
Azure Static Web Appsgithub/awesome-copilot40k1 repos~2.4kAutomated safety check: PassMIT

Similar skills

  • Time Tracking

    sickn33/agentic-awesome-skills

    Time entry register: employee, project, client, task, hours, billable flag, rate and amount, invoice and approver.

    47k GitHub starsUsed in 1 repo~3.8k tokens
    Productivity & AutomationAuto-check passed
  • Time Ledger

    sickn33/agentic-awesome-skills

    Natural-language time tracking: parse what the user says they did into Activity/Minutes/Date rows in their own Notion database — asking instead of guessing when unsure.

    47k GitHub starsUsed in 1 repo~1.8k tokens
    Productivity & AutomationAuto-check passed
  • Timing Analysis

    FastLED/FastLED

    Analyze real-time constraints, ISR latency, DMA transfer times, and LED protocol timing for embedded systems.

    7.5k GitHub stars~484 tokensUpdated today
    DevelopmentAuto-check passed
  • Timely Automation

    ComposioHQ/awesome-claude-skills

    Automate Timely tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~727 tokens
    Productivity & AutomationAuto-check passed
  • Azure Static Web Apps

    github/awesome-copilot

    Official

    Helps create, configure, and deploy Azure Static Web Apps using the SWA CLI.

    40k GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • Official

    A skill your agent uses when a user asks to wobble ty constraint ordering, check constraint-set or TDD ordering determinism, test reversed constraint/typevar IDs, or investigate nondeterministic ty…

    50k GitHub stars~838 tokensUpdated today
    Testing & QAAuto-check passed

More from hdl-tools/digital-chip-design-agents

All 17 skills in this repo
  • Architecture

    hdl-tools/digital-chip-design-agents

    Microarchitecture exploration, PPA estimation, risk assessment, and architecture sign-off for digital chip design.

    212 GitHub stars~3.7k tokensUpdated 5 days ago
    Auto-check: notes
  • Compiler Toolchain

    hdl-tools/digital-chip-design-agents

    Compiler toolchain development for custom processor ISAs — LLVM/GCC backend, assembler, linker scripts, runtime libraries, and regression validation.

    212 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check: notes
  • Dft

    hdl-tools/digital-chip-design-agents

    Design for Test — scan architecture planning, scan insertion, ATPG pattern generation, MBIST for embedded memories, and JTAG boundary scan.

    212 GitHub stars~3.3k tokensUpdated 5 days ago
    Auto-check: notes
  • Embedded Firmware

    hdl-tools/digital-chip-design-agents

    Embedded firmware and device drivers — BSP development, peripheral driver implementation (UART, SPI, I2C, GPIO, DMA, Timer), RTOS integration (FreeRTOS, Zephyr), and system validation.

    212 GitHub stars~2.6k tokensUpdated 5 days ago
    Auto-check: notes
  • Formal Verification

    hdl-tools/digital-chip-design-agents

    Formal property verification (FPV) and logical equivalence checking (LEC).

    212 GitHub stars~3.4k tokensUpdated 5 days ago
    Auto-check: notes
  • Fpga Emulation

    hdl-tools/digital-chip-design-agents

    FPGA prototyping — ASIC-to-FPGA RTL adaptation, multi-FPGA partitioning, synthesis and timing closure on FPGA, hardware bring-up, and software validation on the prototype.

    212 GitHub stars~3.4k tokensUpdated 5 days ago
    Auto-check: notes

Questions about Sta

What does Sta do?

Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure. Sta is an agent skill from hdl-tools/digital-chip-design-agents. Static timing analysis — multi-corner constraint validation, setup and hold analysis, timing exception review, and ECO guidance for closure.

When should I use Sta?

Sta fits situations like: running timing analysis on a design; reviewing timing violations; guiding ECO fixes; performing timing sign-off for tape-out.

How do I install Sta in Claude Code?

Run `npx skills add hdl-tools/digital-chip-design-agents --skill sta -a claude-code`. Or copy the skill folder (plugins/sta/skills/sta in hdl-tools/digital-chip-design-agents) into .claude/skills/sta in your project. Claude Code loads it when a task matches its description.

How do I install Sta in Codex?

Run `npx skills add hdl-tools/digital-chip-design-agents --skill sta -a codex`. Or copy the skill folder (plugins/sta/skills/sta in hdl-tools/digital-chip-design-agents) into .agents/skills/sta in your project. Codex loads it when a task matches its description.

Can I use Sta in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hdl-tools/digital-chip-design-agents --skill sta -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sta, .gemini/skills/sta, .github/skills/sta and .opencode/skills/sta in your project.

What does Sta need to run?

SKILL.md names no scripts, command-line tools or credentials: Sta is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Bash.

Does Sta access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Sta safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Sta use?

Sta is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sta use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sta?

Skills that share tags, products or a category with Sta: Time Tracking (sickn33/agentic-awesome-skills, 47k stars), Time Ledger (sickn33/agentic-awesome-skills, 47k stars), Timing Analysis (FastLED/FastLED, 7.5k stars) and Timely Automation (ComposioHQ/awesome-claude-skills, 77k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sta?

hdl-tools (a GitHub organization) maintains it in hdl-tools/digital-chip-design-agents, which has 212 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 3, 2026.

Source: hdl-tools/digital-chip-design-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.