Agent skill

Vivado Analysis

by Shinei-Nouzen-Arch in Shinei-Nouzen-Arch/FPGA-Agent

A skill your agent uses when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis.

GPL-2.0Auto-check passedDevelopment

Install Vivado Analysis

skills CLI
$ npx skills add Shinei-Nouzen-Arch/FPGA-Agent --skill vivado-analysis -a claude-code

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

GitHub CLI
$ gh skill install Shinei-Nouzen-Arch/FPGA-Agent vivado-analysis --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/Shinei-Nouzen-Arch/FPGA-Agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/vivado-analysis .claude/skills/vivado-analysis && 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
vivado-analysis
GitHub stars
180
Token cost
~3.3k tokens
SKILL.md length
1,117 words
Files
3
Skills in repo
10
Repo updated
First seen
Licence
GPL-2.0

At a glance

A skill your agent uses when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis.

  • The user needs Vivado design analysis
  • SKILL.md covers Timing Path Fundamentals, Max/Min Delay Analysis Corner…, Report Selection Guide and Timing Report Header Fields, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Timing report interpretation

What it does

Vivado Analysis is an agent skill from Shinei-Nouzen-Arch/FPGA-Agent. Use this skill when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis. Covers reporttiming/reporttimingsummary, slack and path analysis, clock skew/uncertainty, reportqorassessment/suggestions, reportdesignanalysis for congestion and complexity, reportmethodology, utilization, CDC/DRC/bus skew reports, message severity, waivers, and setup/hold closure strategy. This skill interprets reports and recommends next analysis steps. For TCL execution use vivado-tcl, for…

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `REFERENCE.md` and `agents/openai.yaml`).

It sits in Development. The licence is GPL-2.0.

When your agent uses it

  • The user needs Vivado design analysis
  • Timing report interpretation
  • Timing-closure diagnosis

Example prompts

  • “/vivado-analysis”

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    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 verilog).

    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

Vivado Analysis loads about 3.3k tokens when it runs. Until then it costs about 172 tokens; SKILL.md has 1,117 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 Shinei-Nouzen-Arch/FPGA-Agent at commit b60a52e, republished under its GPL-2.0 licence (© Shinei-Nouzen-Arch). 1,117 words, ~3,319 tokens.

Download SKILL.mdSave it as .claude/skills/vivado-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
vivado-analysis
description
Use this skill when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis. Covers report_timing/report_timing_summary, slack and path analysis, clock skew/uncertainty, report_qor_assessment/suggestions, report_design_analysis for congestion and complexity, report_methodology, utilization, CDC/DRC/bus skew reports, message severity, waivers, and setup/hold closure strategy. This skill interprets reports and recommends next analysis steps. For TCL execution use vivado-tcl, for constraint changes use vivado-constraints, for implementation directives use vivado-impl, for full timing closure workflows use vivado-timing-closure.

Vivado Design Analysis & Timing Closure Guide

Based on UG906 (v2025.2). This skill helps interpret analysis reports and make timing closure decisions. For complete command syntax, see REFERENCE.md. For TCL execution, use vivado-tcl. For constraint changes, use vivado-constraints. For implementation strategies, use vivado-impl.

Timing Path Fundamentals

Four common path types:

1. Input Port → Register       (constrained by set_input_delay)
2. Register → Register         (constrained by clock period)
3. Register → Output Port      (constrained by set_output_delay)
4. Input Port → Output Port    (combinational, set_max_delay)

Path structure (three sections):

Source Clock Path → Data Path → Destination Clock Path
(clock source      (launch pin    (clock source
 to launch cell)    to capture     to capture
                    cell input)    cell)

Slack formula:

  • Max delay (Setup/Recovery): slack = data_required_time - data_arrival_time
  • Min delay (Hold/Removal): slack = data_arrival_time - data_required_time

Max/Min Delay Analysis Corner Selection

Analysis TypeSource ClockData PathDestination Clock
Setup/Recovery (max delay)Slow_maxSlow_maxSlow_min
Setup/Recovery (max delay)Fast_maxFast_maxFast_min
Hold/Removal (min delay)Slow_minSlow_minSlow_max
Hold/Removal (min delay)Fast_minFast_minFast_max

Key rule: Delays from different corners are NEVER mixed on same path during slack calculation.

Report Selection Guide

GoalCommandWhen to Use
Quick timing signoffreport_timing_summaryAfter implementation, mandatory before bitstream
Analyze specific pathsreport_timing -from/-to/-throughDebugging specific failing paths
Overall QoR score (1-5)report_qor_assessmentAfter routing, assess closure likelihood
Auto optimization hintsreport_qor_suggestionsWhen stuck on timing closure
Path characteristicsreport_design_analysisDeep analysis of logic levels, fanout, physical spread
Methodology compliancereport_methodologyEarly in flow to catch methodology violations
Resource usagereport_utilizationAfter synthesis or implementation
CDC checksreport_cdcAfter synthesis, verify clock domain crossings
Congestion analysisreport_design_analysis -congestionAfter placement, if timing degraded
Design rule checksreport_drcBefore bitstream generation
Bus skewreport_bus_skewIf set_bus_skew constraints exist (NOT in report_timing_summary)

Timing Report Header Fields

FieldMeaning
SlackPositive = meets timing. Negative = violation
SourceStartpoint cell + launch clock (edge, name, period)
DestinationEndpoint cell + capture clock (edge, name, period)
Path GroupClock group containing endpoint (async pins → async_default)
Path TypeMax (setup/recovery) or Min (hold/removal); corner (Slow/Fast)
RequirementClock period (same clock) or smallest positive delta (different clocks)
Data Path DelayTotal delay through logic section
Logic LevelsCount of each primitive type in data path
Clock Path SkewDestination - Source insertion delay + CPR
CPRClock Pessimism Removal — shared clock circuitry correction
Clock UncertaintyTSJ + TIJ + DJ + PE + UU (see below)
Clock Uncertainty Components
ComponentSource
TSJ (Total System Jitter)Combined system jitter on both clocks
TIJ (Total Input Jitter)From set_input_jitter constraint
DJ (Discrete Jitter)Hardware primitives (MMCM/PLL)
PE (Phase Error)Phase variation between clock signals
UU (User Uncertainty)From set_clock_uncertainty constraint
Delay Type in Path Details
ValueMeaning
UnplacedCell not placed, delay estimated
EstimatedCell placed but not routed
RoutedFinal routed delay

Clock Phase Shift Mode (Device Defaults)

Device FamilyDefault ModeBehavior
7 SeriesWAVEFORMModifies clock waveform edges
UltraScaleWAVEFORMModifies clock waveform edges
UltraScale+LATENCYModels as MMCM/PLL insertion delay
VersalLATENCYModels as MMCM/PLL insertion delay

Warning: Migrating 7 Series/UltraScale designs to UltraScale+ changes phase shift modeling. Review and remove legacy multicycle path constraints used for phase shift.

QoR Assessment Interpretation (report_qor_assessment)

Score Meaning
ScoreInterpretationAction
1Design will likely NOT complete implementationMajor redesign needed
2Will complete but will NOT meet timingSignificant optimization required
3Will likely NOT meet timingTargeted optimization needed
4Will likely meet timingMinor adjustments may suffice
5Favorable timing-closure assessmentPerform final verification; generate a bitstream only if it is part of the requested deliverable and the applicable checks pass
Five Assessment Categories
CategoryWhat It Checks
UtilizationResource usage across device, SLR, Pblock levels
NetlistLogical structure, DONT_TOUCH properties, high fanout nets
ClockingClock skew on setup and hold paths
CongestionNetlist structures causing routing congestion
TimingWNS/TNS/WHS/THS per clock group, net/LUT budget

Each shows OK or REVIEW status. Items with asterisk (*) don't directly affect score but impact closure.

A QoR score predicts closure likelihood; it does not replace checks on the final design. For closure requests, use the full timing acceptance criteria, including constraint coverage and applicable bus-skew, CDC, DRC, and methodology checks. For report-only requests, explain the evidence and any verification gaps without automatically starting implementation or bitstream generation.

ML Strategy Availability

Available when ALL conditions met:

  • opt_design ran with Explore or Default directive
  • phys_opt_design enabled
  • Design fully routed
  • UltraScale or UltraScale+ device family
Auto-Termination

Set MIN_RQA_SCORE property (1-5) to auto-terminate runs scoring below threshold.

Show full SKILL.md (445 more words)Show less

QoR Suggestions Workflow

report_qor_suggestions          ← Generate suggestions
        ↓
write_qor_suggestions file.rqs  ← Export to file
        ↓
read_qor_suggestions file.rqs   ← Import in next run
        ↓
Suggestions auto-apply          ← If AUTOMATIC=Yes
Suggestion Classification
DimensionValues
OriginGENERATED (current run) / EXISTING (imported from .rqs)
StatusAPPLIED / FAILED TO APPLY
Stage generatedopt_design / place_design / phys_opt_design / route_design
Stage applicableWhere suggestion should be applied
AutomaticYes (auto-apply) / No (manual action needed)
Suggestion Categories

Clocking, Congestion, Utilization, Timing, Netlist, XDC, Strategy

Design Analysis Interpretation (report_design_analysis)

Timing Path Characteristics — Five Categories
CategoryFields
TimingPath Type, Requirement, Slack, Timing Exception
LogicStart/End Pin Primitives, Pins, Logic Levels, Routes
PhysicalArch Boundary Crossings (IO/RAM/DSP/NOC), Pblock restrictions, Bounding Box, Net Fanout/Detour
PropertyCombined LUT pairs, MARK_DEBUG, DONT_TOUCH, Fixed constraints
DFXDFX Path Type, Boundary Nets, Boundary Fanout
Complexity (Rent Exponent) Interpretation
Rent ExponentComplexityAction
< 0.65Low to NormalNo action needed
0.65 - 0.85HighReview hierarchy, consider floorplanning
> 0.85Very HighRedesign hierarchy, reduce connectivity

Average Fanout: < 4 normal, 4-5 placement difficulty, > 5 implementation failure risk.

Congestion Level Interpretation
LevelImpactAction
3-4MinorUsually acceptable unless timing budget is tight
5+Significant QoR impactApply congestion mitigation strategies

Timing Closure Decision Tree

Setup Violation Resolution
Setup violation detected
  ├─ Check Logic Levels (report_design_analysis)
  │   └─ High logic levels → Pipeline registers / retiming (vivado-synth: -global_retiming)
  ├─ Check Fanout (report_design_analysis)
  │   └─ High fanout → MAX_FANOUT attribute / phys_opt replication (vivado-impl)
  ├─ Check Physical Spread (report_design_analysis -congestion)
  │   └─ Large bounding box → Pblock floorplanning (vivado-constraints)
  ├─ Check Clock Skew
  │   └─ Negative skew → Review clock tree, BUFG placement
  └─ Check Timing Exception
      └─ Missing/wrong constraint → Fix in XDC (vivado-constraints)
Hold Violation Resolution
Hold violation detected
  ├─ Check fast-corner delay
  │   └─ Very short data path → Add delay cells (phys_opt_design hold fix)
  ├─ Check Clock Skew
  │   └─ Large positive skew → Review clock tree balance
  └─ Check Inter-SLR paths (SSI devices)
      └─ SLR crossing → SLR-aware placement (vivado-impl)
Congestion Mitigation
Congestion Level ≥ 5
  ├─ Check utilization (report_utilization)
  │   └─ > 80% LUT → Reduce design size or use area-optimized synthesis
  ├─ Check high-fanout nets
  │   └─ Replicate drivers (phys_opt_design fanout optimization)
  ├─ Try congestion-focused strategies
  │   └─ vivado-impl: Congestion_* strategies
  └─ Floorplanning
      └─ Spread logic across device (Pblocks, vivado-constraints)

Message Severity Levels

SeverityMeaningAction Required
StatusGeneral processing feedbackNone
InfoProcess/design feedbackNone
WarningConstraints not applied as intended, sub-optimal results possibleReview
Critical WarningInput/constraints failing best practices, often leads to errorsFix recommended
ErrorProblem stopping design flowMust fix

Tip: Promote warning severity: set_msg_config -id "Common 17-81" -new_severity "CRITICAL WARNING"

Design Check Waiver System

When to Waive
  • Known-safe CDC crossings with external synchronization
  • DRC checks not applicable to your design
  • Methodology checks overridden by design intent
Waiver Wildcards
KeywordMatches
*CELLAny cell
*NETAny net
*PINAny pin
*PORTAny port
*CLOCKAny clock
*Any string

Waivers auto-saved in checkpoints. Export with write_waivers, import with read_xdc or source.

Cannot delete AMD IP waivers.

Synthesis Analysis & Closure Techniques

RTL Optimization: Integer Range Constraints

Explicitly define signal ranges to reduce logic depth:

verilog
// Before: 32-bit counter, deep comparator logic
reg [31:0] counter;
// After: range-constrained, smaller comparator
reg [9:0] counter;  // if max value < 1024
Deep Memory Decomposition
AttributePurposeEffect
RAM_DECOMPControl memory decomposition strategypower vs area tradeoff
CASCADE_HEIGHTGranular cascading depth controlLimits BRAM cascade chain depth
RAMB Utilization (Non-Power-of-2 Depth)

When memory depth is not a power of 2, synthesis may over-allocate BRAMs. Manually partition with address decoder for optimal utilization. Check report_utilization and synthesis log for memory mapping.

RAMB Output Register Inference

Multiple logic levels before BRAM output flip-flop prevent DOA register inference → timing degradation. Restructure RTL to allow BRAM output register usage (see vivado-impl examples/ug906/ for before/after).

Configurable Report Strategies

StrategyStageFocus
Vivado Synthesis DefaultSynthesisUtilization only
Vivado Implementation DefaultImplementationStandard reports
UltraFast Methodology ReportsImplementationMethodology compliance
Performance Explore ReportsImplementationTiming exploration
Timing Closure ReportsImplementationDetailed timing analysis
No ReportsBothSkip all reports

© Shinei-Nouzen-Arch, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in vivado-analysis of Shinei-Nouzen-Arch/FPGA-Agent.

  • SKILL.md
  • REFERENCE.md
  • agents/openai.yaml

Open the folder on GitHubat commit b60a52e

Compare with similar skills

Vivado Analysis 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.

Vivado Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vivado Analysis this skillShinei-Nouzen-Arch/FPGA-Agent180—~3.3kAutomated safety check: PassGPL-2.0
Vercel Composition Patternssupabase/supabase111k58 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 58 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from Shinei-Nouzen-Arch/FPGA-Agent

All 10 skills in this repo
  • Vivado Debug

    Shinei-Nouzen-Arch/FPGA-Agent

    A skill your agent uses when the user needs help with Vivado in-system debugging, hardware programming, or debug core configuration.

    180 GitHub stars~4.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Vivado Constraints

    Shinei-Nouzen-Arch/FPGA-Agent

    A skill your agent uses when the user needs help writing XDC/SDC timing or physical constraints for Vivado FPGA designs.

    180 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Vivado Impl

    Shinei-Nouzen-Arch/FPGA-Agent

    A skill your agent uses when the user needs Vivado implementation strategy selection or optimization.

    180 GitHub stars~3.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Vivado Sim

    Shinei-Nouzen-Arch/FPGA-Agent

    A skill your agent uses when the user needs help with Vivado simulation strategy, flow selection, and debugging.

    180 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Vivado Synth

    Shinei-Nouzen-Arch/FPGA-Agent

    A skill your agent uses when the user needs help with Vivado synthesis strategy selection, synthesis attribute configuration, synthdesign option tuning, resource inference control…

    180 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Vivado Tcl

    Shinei-Nouzen-Arch/FPGA-Agent

    Generate, review, explain, and execute Vivado/Vitis TCL scripts for FPGA design flows, and verify their execution results.

    180 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Vivado Analysis

What does Vivado Analysis do?

A skill your agent uses when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis. Vivado Analysis is an agent skill from Shinei-Nouzen-Arch/FPGA-Agent. Use this skill when the user needs Vivado design analysis, timing report interpretation, or timing-closure diagnosis.

When should I use Vivado Analysis?

Vivado Analysis fits situations like: the user needs Vivado design analysis; timing report interpretation; timing-closure diagnosis.

How do I install Vivado Analysis in Claude Code?

Run `npx skills add Shinei-Nouzen-Arch/FPGA-Agent --skill vivado-analysis -a claude-code`. Or copy the skill folder (vivado-analysis in Shinei-Nouzen-Arch/FPGA-Agent) into .claude/skills/vivado-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Vivado Analysis in Codex?

Run `npx skills add Shinei-Nouzen-Arch/FPGA-Agent --skill vivado-analysis -a codex`. Or copy the skill folder (vivado-analysis in Shinei-Nouzen-Arch/FPGA-Agent) into .agents/skills/vivado-analysis in your project. Codex loads it when a task matches its description.

Can I use Vivado Analysis 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 Shinei-Nouzen-Arch/FPGA-Agent --skill vivado-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vivado-analysis, .gemini/skills/vivado-analysis, .github/skills/vivado-analysis and .opencode/skills/vivado-analysis in your project.

What does Vivado Analysis need to run?

SKILL.md names no scripts, command-line tools or credentials: Vivado Analysis is instructions for the agent only.

Does Vivado Analysis 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 Vivado Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Vivado Analysis use?

Vivado Analysis is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vivado Analysis use?

About 3.3k tokens (SKILL.md is roughly 13k 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 Vivado Analysis?

Skills that share tags, products or a category with Vivado Analysis: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vivado Analysis?

Shinei-Nouzen-Arch (a GitHub user) maintains it in Shinei-Nouzen-Arch/FPGA-Agent, which has 180 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on September 5, 2026.

Source: Shinei-Nouzen-Arch/FPGA-Agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.