uvm-methodology
// Deep expertise in Universal Verification Methodology (IEEE 1800.2) for FPGA verification
$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameuvm-methodology
descriptionDeep expertise in Universal Verification Methodology (IEEE 1800.2) for FPGA verification
allowed-toolsRead,Write,Edit,Glob,Grep,Bash
UVM Methodology Skill
Overview
Expert skill for Universal Verification Methodology (UVM) development following IEEE 1800.2 standards for comprehensive FPGA verification.
Capabilities
- Generate UVM agent architecture (driver, monitor, sequencer)
- Create UVM environments and scoreboards
- Implement uvm_sequence and virtual sequences
- Configure UVM factory and config_db
- Implement functional coverage with covergroups
- Design UVM register models (RAL)
- Apply UVM phasing and objections correctly
- Debug UVM testbenches effectively
Target Processes
- uvm-testbench.js
- constrained-random-verification.js
- testbench-development.js
Usage Guidelines
Agent Architecture
- Driver: Converts sequence items to pin-level activity
- Monitor: Observes DUT interface and creates transactions
- Sequencer: Routes sequence items to driver
- Agent: Contains driver, monitor, sequencer; configurable active/passive
Environment Structure
- Top-level environment contains agents and scoreboard
- Scoreboard performs reference model comparison
- Config objects distribute configuration
- Virtual sequencer coordinates multiple agents
Sequence Development
- Extend from uvm_sequence#(item_type)
- Use
start_item()/finish_item()paradigm - Create layered sequences for complex scenarios
- Use virtual sequences for multi-agent coordination
Coverage Strategy
- Embed covergroups in monitors
- Sample on transaction completion
- Cross functional coverage points
- Track coverage closure progress
Best Practices
- Use factory for all component creation
- Configure via config_db, not constructors
- Raise/drop objections properly
- Use UVM reporting macros consistently
Dependencies
- UVM 1.2 or UVM IEEE 1800.2 library
- SystemVerilog expertise
- Verification methodology knowledge