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

GPL-2.0Auto-check passedDevelopment

Install Vivado Sim

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

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

GitHub CLI
$ gh skill install Shinei-Nouzen-Arch/FPGA-Agent vivado-sim --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-sim .claude/skills/vivado-sim && 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-sim
GitHub stars
180
Token cost
~2.9k tokens
SKILL.md length
577 words
Files
5
Skills in repo
10
Repo updated
First seen
Licence
GPL-2.0

At a glance

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

  • Works in 3 steps: Compile Simulation Libraries (One-Time) → Set Target Simulator → Export Simulation Scripts
  • The user needs help with Vivado simulation strategy
  • SKILL.md covers Simulation Flow Overview, Vivado Simulator (xsim) —…, Vivado Simulator (xsim) —… and xsim Runtime / Debug Commands, plus 4 more sections
  • Runs Shell scripts from its folder

What it does

Vivado Sim is an agent skill from Shinei-Nouzen-Arch/FPGA-Agent. Use this skill when the user needs help with Vivado simulation strategy, flow selection, and debugging. This includes behavioral simulation (RTL functional verification), post-synthesis simulation (netlist functional verification), post-implementation timing simulation (SDF back-annotation, timing verification), Vivado Simulator xsim usage (xvlog/xvhdl/xelab/xsim three-step flow, launchsimulation Project Mode), third-party simulator integration (Questa/ModelSim/VCS/Xcelium/Riviera/ActiveHDL, compilesimlib…

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

It sits in Development, covering Experimental design and Debugging. The licence is GPL-2.0.

When your agent uses it

  • The user needs help with Vivado simulation strategy
  • Tasks that involve Experimental design
  • Tasks that involve Debugging

Example prompts

  • “/vivado-sim”

Requirements

  • A Bash shell

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Compile Simulation Libraries (One-Time)
  2. Set Target Simulator
  3. Export Simulation Scripts

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

    Ships script files (Shell), which the agent can run.

    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 Sim loads about 2.9k tokens when it runs. Until then it costs about 243 tokens; SKILL.md has 577 words of instructions outside code blocks.

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

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). 577 words, ~2,941 tokens.

Download SKILL.mdSave it as .claude/skills/vivado-sim/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
vivado-sim
description
Use this skill when the user needs help with Vivado simulation strategy, flow selection, and debugging. This includes behavioral simulation (RTL functional verification), post-synthesis simulation (netlist functional verification), post-implementation timing simulation (SDF back-annotation, timing verification), Vivado Simulator xsim usage (xvlog/xvhdl/xelab/xsim three-step flow, launch_simulation Project Mode), third-party simulator integration (Questa/ModelSim/VCS/Xcelium/Riviera/ActiveHDL, compile_simlib, export_simulation), SAIF/VCD power simulation (open_saif/log_saif, open_vcd/log_vcd, read_saif + report_power), simulation netlist generation (write_verilog -mode funcsim/timesim, write_sdf), xsim debugging commands (add_force, add_wave, log_wave, add_bp, step, run, restart, get_objects, get_value), simulation properties and settings, glbl.v usage, or any question about choosing the right simulation approach for verification or power analysis.

Vivado Simulation Decision Guide

Based on UG900 (v2025.2). For complete command syntax and property tables, see REFERENCE.md.

Simulation Flow Overview

RTL + Testbench ──→ Behavioral Sim (functional verification, fastest)
       ↓ synth_design
Synthesized Netlist ──→ Post-Synth Sim (synthesis correctness, optional)
       ↓ place_design + route_design
Implemented Netlist + SDF ──→ Timing Sim (timing verification, slowest)
       ↓
SAIF/VCD ──→ report_power (power analysis)
Three Simulation Stages
StageInputPurposeSpeedAccuracy
Behavioral (RTL)RTL source + TBFunctional verificationFastestNo timing
Post-SynthesisSynth netlistVerify synthesis correctnessMediumFunctional only
Post-ImplementationImpl netlist + SDFTiming verificationSlowestFull timing
When to Use Each Stage
  • Daily development → Behavioral sim only
  • Functional mismatch after synthesis → Post-synthesis sim to isolate
  • Timing closure verification → Post-implementation timing sim
  • Power estimation → Any stage + SAIF dump → report_power

Vivado Simulator (xsim) — Project Mode

Recommended for interactive development with Vivado GUI/project.

tcl
# Configure simulation settings
set_property -name {xsim.simulate.runtime} -value {1000ns} -objects [get_filesets sim_1]
set_property -name {xsim.simulate.log_all_signals} -value {true} -objects [get_filesets sim_1]
set_property -name {xsim.elaborate.debug_level} -value {typical} -objects [get_filesets sim_1]

# Launch behavioral simulation
launch_simulation
run 100ns
close_sim
Simulation Modes in Project Mode
tcl
launch_simulation -mode behavioral          ;# RTL sim (default)
launch_simulation -mode post-synthesis -type functional   ;# Post-synth functional
launch_simulation -mode post-synthesis -type timing       ;# Post-synth timing
launch_simulation -mode post-implementation -type functional  ;# Post-impl functional
launch_simulation -mode post-implementation -type timing      ;# Post-impl timing
Generate Scripts Without Running
tcl
launch_simulation -scripts_only             ;# Generate sim scripts only
launch_simulation -scripts_only -absolute_path  ;# With absolute paths

Vivado Simulator (xsim) — Non-Project Mode (Scripted)

Three-step flow: Compile → Elaborate → Simulate

tcl
# Step 1: Compile
exec xvlog design.v tb.v                    ;# Verilog
exec xvlog -sv design.sv                    ;# SystemVerilog
exec xvhdl design.vhd                       ;# VHDL
exec xvhdl -2008 design.vhd                 ;# VHDL-2008

# Step 2: Elaborate (link)
exec xelab -debug typical tb_top -s sim_snap

# Step 3: Simulate
exec xsim sim_snap -runall
exec xsim sim_snap -t run.tcl               ;# With TCL script
exec xsim sim_snap -gui                     ;# With GUI
xelab Debug Level Decision
ScenarioOptionEffect
Waveform + breakpoints-debug typicalStandard debugging (recommended)
All signals observable-debug allFull visibility, slower elaboration
Fastest simulation-debug offNo debug, maximum speed
Line stepping-debug lineSource-level stepping
xelab Key Options
OptionPurpose
-d MACRO=valueVerilog `define
-i <path>Verilog include search path
-L <library>Library search order
-s <snapshot>Output snapshot name
-timescale 1ns/1psDefault timescale
-mt <N>Multi-threading (2, 4, 8, off)
-transport_int_delaysTransport delay mode (timing sim)
-pulse_r 0 -pulse_e 0Pulse rejection/error (timing sim)
-sdfroot <instance>SDF annotation root instance
-generic_top <param=val>Override top-level generics (VHDL)
-override_timeunitOverride module timeunit with -timescale

xsim Runtime / Debug Commands

CommandDescription
run <time>Run simulation for specified time
run -allRun until $finish or breakpoint
restartReset simulation to time 0
step / step <N>Single-step (N statements)
current_timeReturn current simulation time
add_force <signal> <value> [<time> <value>...]Force signal value (supports sequences)
remove_forces <signal>Remove forced values
add_wave <signal>Add signal to waveform viewer
log_wave -r /Log all signals to WDB (waveform database)
add_bp <file> <line>Add breakpoint at source line
add_bp -condition {<expr>}Conditional breakpoint
remove_bp <id>Remove breakpoint
get_objects -r *List all objects (hierarchical)
get_value <signal>Read current signal value
set_value <signal> <value>Set signal value (non-persistent)
report_valuesReport all signal values
add_force Examples
tcl
# Constant force
add_force clk 0
# Clock pattern: 0 at 0ns, 1 at 5ns, repeat every 10ns
add_force clk {0} {1 5ns} -repeat_every 10ns
# Reset pulse: 1 at 0ns, 0 at 100ns
add_force rst {1} {0 100ns}
# With radix
add_force -radix hex data_in 0xFF

Timing Simulation (Post-Implementation)

Netlist Generation
tcl
# Post-synthesis functional netlist
open_checkpoint post_synth.dcp
write_verilog -mode funcsim -force post_synth_func.v

# Post-implementation timing netlist + SDF
open_checkpoint post_route.dcp
write_verilog -mode timesim -sdf_anno true -force post_impl_timing.v
write_sdf -force post_impl_timing.sdf

# VHDL variants
write_vhdl -mode funcsim -force post_synth_func.vhd
Show full SKILL.md (237 more words)Show less
write_verilog -mode Options
ModePurpose
funcsimFunctional simulation netlist (no timing)
timesimTiming simulation netlist (with SDF annotation)
designDesign netlist (non-simulation)
synth_stubSynthesis stub for OOC
pin_planningI/O pin planning
SDF Back-Annotation

xelab handles SDF automatically when -sdf_anno true is used in write_verilog:

tcl
# xelab with timing simulation netlist
exec xelab -debug typical tb_top glbl \
    -transport_int_delays \
    -pulse_r 0 -pulse_e 0 \
    -s timing_sim_snap

For manual SDF specification:

tcl
exec xelab -debug typical tb_top glbl \
    -sdfroot /tb_top/uut \
    -transport_int_delays \
    -pulse_r 0 -pulse_e 0 \
    -s timing_sim_snap
Process Corner Selection
tcl
write_sdf -process_corner fast -force fast_corner.sdf   ;# Best case
write_sdf -process_corner slow -force slow_corner.sdf   ;# Worst case (default)
glbl.v Requirements
Stageglbl.v Needed?Reason
BehavioralOnly if using MMCM/PLL/GT primitivesGlobal set/reset signals
Post-SynthesisYesNetlist references global signals
Timing SimRequiredSDF annotation depends on it

Path: $XILINX_VIVADO/data/verilog/src/glbl.v

tcl
# Include glbl.v in compilation and elaboration
exec xvlog $::env(XILINX_VIVADO)/data/verilog/src/glbl.v
exec xelab tb_top glbl -debug typical -s sim_snap

Third-Party Simulator Integration

Supported Simulators
Simulator-simulator valueVendor
Questa Advanced SimulatorquestaSiemens EDA
ModelSimmodelsimSiemens EDA
VCSvcsSynopsys
XceliumxceliumCadence
Riviera-PROrivieraAldec
Active-HDLactivehdlAldec
Step 1: Compile Simulation Libraries (One-Time)
tcl
compile_simlib -simulator questa -directory /path/to/compiled_libs \
    -family all -language all
Step 2: Set Target Simulator
tcl
set_property target_simulator Questa [current_project]
# Or: ModelSim, VCS, Xcelium, Riviera, ActiveHDL
Step 3: Export Simulation Scripts
tcl
# Option A: export_simulation (flexible, supports Non-Project)
export_simulation -simulator questa -directory ./sim_scripts \
    -use_ip_compiled_libs

# Option B: launch_simulation -scripts_only (Project Mode only)
launch_simulation -scripts_only
export_simulation vs launch_simulation -scripts_only
Featureexport_simulationlaunch_simulation -scripts_only
Custom output dirYesProject default
Non-Project ModeYesNo
IP compiled libs-use_ip_compiled_libsAutomatic
All sim typesYesCurrent mode only

SAIF/VCD Power Simulation

tcl
# During simulation (xsim)
open_saif /path/to/output.saif
log_saif [get_objects -r *]       ;# Or specific hierarchy
run 1000ns
close_saif

# Power analysis
open_checkpoint post_route.dcp
read_saif /path/to/output.saif
report_power -file power.rpt
VCD Collection
tcl
open_vcd /path/to/output.vcd
log_vcd [get_objects -r *]
run 1000ns
close_vcd
SAIF vs VCD
FeatureSAIFVCD
File sizeSmall (statistical summary)Large (full waveform)
report_power supportDirect read_saifNeeds conversion
Best forVivado power analysisThird-party tools / waveform viewing
RecommendedYes (for power)When waveform needed

Simulation Properties Quick Reference

tcl
# Runtime
set_property -name {xsim.simulate.runtime} -value {1000ns} -objects [get_filesets sim_1]

# Log all signals
set_property -name {xsim.simulate.log_all_signals} -value {true} -objects [get_filesets sim_1]

# Debug level: typical | all | off
set_property -name {xsim.elaborate.debug_level} -value {typical} -objects [get_filesets sim_1]

# Additional xsim options
set_property -name {xsim.simulate.xsim.more_options} -value {-testplusarg FAST} -objects [get_filesets sim_1]

# Additional xelab options
set_property -name {xsim.elaborate.xelab.more_options} -value {-mt 4} -objects [get_filesets sim_1]

# Waveform database file
set_property -name {xsim.simulate.wdb} -value {my_sim.wdb} -objects [get_filesets sim_1]

# Target simulator
set_property target_simulator Questa [current_project]
Simulation Fileset Management
tcl
# Add simulation source
add_files -fileset sim_1 tb_top.v

# Set top module
set_property top tb_top [get_filesets sim_1]

# Set top library
set_property top_lib work [get_filesets sim_1]

# Create additional sim fileset
create_fileset -simset sim_2
Language Support
LanguageStandardxsim Support
VerilogIEEE 1364-2001/2005Full
SystemVerilogIEEE 1800-2012 (partial 2017)Full
VHDLIEEE 1076-1993/2008Full
Mixed LanguageVerilog/SV + VHDLSupported

© 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 4 other files in vivado-sim of Shinei-Nouzen-Arch/FPGA-Agent.

  • SKILL.md
  • REFERENCE.md
  • agents/openai.yaml
  • evals/run_eval.sh
  • evals/trigger_eval.json

Open the folder on GitHubat commit b60a52e

Compare with similar skills

Vivado Sim 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 Sim compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vivado Sim this skillShinei-Nouzen-Arch/FPGA-Agent180—~2.9kAutomated safety check: PassGPL-2.0
Plugin Improveglittercowboy/plugin-freedom-system217—~4.2kAutomated safety check: NotesNone
Web Debug Searchwanshuiyin/Auto-claude-code-research-in-sleep17k1 repos~3.7kAutomated safety check: PassMIT
Causal Inferencesundial-org/awesome-openclaw-skills663—~1.9kAutomated safety check: PassNone
Gsd Debuggerallgpt-co/QuickVoice488—~5.2kAutomated safety check: PassMIT
Trellis Session Insightmindfold-ai/Trellis15k4 repos~1.7kAutomated safety check: PassAGPL-3.0

Similar skills

  • Plugin Improve

    glittercowboy/plugin-freedom-system

    Fix bugs, add features to completed plugins. An agent skill from glittercowboy/plugin-freedom-system.

    217 GitHub stars~4.2k tokensUpdated 10 mo ago
    DevelopmentAuto-check: notes
  • Web Debug Search

    wanshuiyin/Auto-claude-code-research-in-sleep

    Search GitHub, Stack Exchange, Chinese technical communities, official documentation, and general developer web sources for software errors, compatibility problems, API usage questions, and…

    17k GitHub starsUsed in 1 repo~3.7k tokens
    DevelopmentAuto-check passed
  • Causal Inference

    sundial-org/awesome-openclaw-skills

    Add causal reasoning to agent actions. An agent skill from sundial-org/awesome-openclaw-skills.

    663 GitHub stars~1.9k tokensUpdated 7 mo ago
    DevelopmentAuto-check passed
  • Gsd Debugger

    allgpt-co/QuickVoice

    Investigates bugs using scientific method, manages debug sessions, handles checkpoints.

    488 GitHub stars~5.2k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Trellis Session Insight

    mindfold-ai/Trellis

    Reach into past AI conversation history through the trellis mem CLI.

    15k GitHub starsUsed in 4 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes

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 Analysis

    Shinei-Nouzen-Arch/FPGA-Agent

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

    180 GitHub stars~3.3k 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 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

Questions about Vivado Sim

What does Vivado Sim do?

A skill your agent uses when the user needs help with Vivado simulation strategy, flow selection, and debugging. Vivado Sim is an agent skill from Shinei-Nouzen-Arch/FPGA-Agent. Use this skill when the user needs help with Vivado simulation strategy, flow selection, and debugging.

When should I use Vivado Sim?

Vivado Sim fits situations like: the user needs help with Vivado simulation strategy; tasks that involve Experimental design; tasks that involve Debugging.

How do I install Vivado Sim in Claude Code?

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

How do I install Vivado Sim in Codex?

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

Can I use Vivado Sim 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-sim -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-sim, .gemini/skills/vivado-sim, .github/skills/vivado-sim and .opencode/skills/vivado-sim in your project.

What does Vivado Sim need to run?

Going by SKILL.md and its folder, Vivado Sim needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Vivado Sim 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 Sim 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 Sim use?

Vivado Sim 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 Sim use?

About 2.9k 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 Vivado Sim?

Skills that share tags, products or a category with Vivado Sim: Plugin Improve (glittercowboy/plugin-freedom-system, 217 stars), Web Debug Search (wanshuiyin/Auto-claude-code-research-in-sleep, 17k stars), Causal Inference (sundial-org/awesome-openclaw-skills, 663 stars) and Gsd Debugger (allgpt-co/QuickVoice, 488 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vivado Sim?

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.