sta-review

Triage static timing analysis reports and propose setup, hold, and skew fixes.

26|8|Updated Jun 13, 2026
One-click install
npx skills add https://github.com/vibeic/vibe-ic --skill sta-review-vibeic
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: sta-review
Source: https://github.com/vibeic/vibe-ic/tree/main/vibe-ic-marketplace/plugins/vibe-ic/skills/sta-review
Command: npx skills add https://github.com/vibeic/vibe-ic --skill sta-review-vibeic

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Reading raw STA reports and deciding how to close timing is slow and error-prone, especially across multiple PVT corners. This Skill runs deterministic triage programs that classify every violating endpoint into five categories and map each to a concrete fix strategy, so WNS/TNS numbers and corner coverage are never guessed or fabricated. ## Core Features & Use Cases - Deterministic endpoint triage: Runs sta_triage_classify.py to bucket violations into cell-delay, net-delay, logic-depth, clock-skew, and hold categories, each with a fix strategy (upsize, buffer insertion, pipelining, useful skew). - Multi-corner sign-off auditing: Verifies SS/FF corner coverage, corner-to-liberty resolution, and DRV queries so a typ-only pass is never recorded as multi-corner closure. - PnR repair completeness gating: Fails OpenROAD scripts that run hold-only repair without set_wire_rc, repair_design, and repair_timing -setup. - Use Case: After post-route STA on a GF180MCU design shows WNS of -2.5 ns at the slow corner, run this Skill to classify the failing endpoints, identify a loop-bound iterative datapath, and produce a fix list handed off to RTL repair or ECO planning. ## Quick Start Review the STA report at sta/worst_setup.rpt, triage all violating endpoints, and tell me which fixes close timing at the slow sign-off corner.

Frequently Asked Questions about sta-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I triage setup and hold violations in an STA report?▼

Run the sta_triage_classify.py program with the endpoints JSON, WNS, and TNS values. It categorizes every violating endpoint into cell-delay, net-delay, logic-depth, clock-skew, or hold buckets and returns a fix strategy per category, such as upsizing, buffer insertion, or RTL pipelining.

What causes setup violations after routing in OpenROAD?▼

A common cause is a PnR script that runs only repair_timing -hold without set_wire_rc, repair_design, and repair_timing -setup, leaving STA optimistic. The pnr_timing_repair_completeness_check.py gate fails any script missing that chain.

Does this Skill support multi-corner timing sign-off?▼

Yes. It requires SS and FF corner coverage and audits corner-to-liberty resolution, so a run that reads one library three times is flagged as SINGLE_CORNER_ONLY rather than recorded as multi-corner closure. DRV queries via report_check_types are also verified.

Why does retiming fail to fix a single-register feedback loop?▼

A self-loop with one register has a minimum period equal to the full combinational cone delay, and retiming preserves register count per cycle, so the bound is invariant. The fix, when the spec allows, is splitting the recurrence into a multi-cycle round across two or more clocked sub-stages.

Can a synthesis-level timing improvement be trusted before place and route?▼

No. Measured cases show pre-PnR gains reversing after routing because added area becomes wire delay, and OpenROAD already resizes post-placement. Always re-run the post-route A/B on the shipped SPEF before adopting any synthesis QoR knob.