Agent Skills: HDL Simulation Skill

Multi-simulator expertise for functional verification of FPGA designs

UncategorizedID: a5c-ai/babysitter/hdl-simulation

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/plugins/babysitter/skills/babysit/process/specializations/fpga-programming/skills/hdl-simulation

Skill Files

Browse the full folder contents for hdl-simulation.

Download Skill

Loading file tree…

plugins/babysitter/skills/babysit/process/specializations/fpga-programming/skills/hdl-simulation/SKILL.md

Skill Metadata

Name
hdl-simulation
Description
Multi-simulator expertise for functional verification of FPGA designs

HDL Simulation Skill

Overview

Expert skill for HDL simulation across multiple simulators, enabling comprehensive functional verification of FPGA designs.

Capabilities

  • Generate simulation scripts (do files, tcl)
  • Configure ModelSim/Questa simulations
  • Configure Vivado Simulator (xsim)
  • Configure VCS and Xcelium simulations
  • Analyze waveforms for debugging
  • Generate VCD and FSDB dumps
  • Configure code coverage collection
  • Support mixed-language simulation

Target Processes

  • functional-simulation.js
  • testbench-development.js
  • uvm-testbench.js
  • constrained-random-verification.js

Usage Guidelines

Simulator Setup

  • Create project-specific compilation scripts
  • Configure library mappings
  • Set up include paths and search paths
  • Define simulation options
  • Configure waveform dump formats

ModelSim/Questa

vlib work
vlog -sv +incdir+../rtl ../rtl/*.sv
vsim -voptargs="+acc" tb_top
add wave -recursive /*
run -all

Vivado Simulator (xsim)

xvlog --sv ../rtl/*.sv
xelab -debug typical tb_top -s tb_sim
xsim tb_sim -runall

VCS

vcs -sverilog -debug_access+all -f filelist.f -o simv
./simv +vcs+vcdpluson

Waveform Analysis

  • Identify timing relationships
  • Trace signal propagation
  • Compare expected vs. actual
  • Use markers for measurements
  • Create protocol decoders

Coverage Collection

  • Statement coverage
  • Branch coverage
  • Toggle coverage
  • FSM coverage
  • Functional coverage (SystemVerilog)

Mixed-Language

  • Compile VHDL and Verilog separately
  • Use proper interface binding
  • Handle type conversions
  • Configure library order
  • Test boundary conditions

Dependencies

  • Simulator CLI integration
  • Waveform viewer knowledge
  • Coverage analysis tools