Skip to content
Back to skills

Chip Arch Verification

ASecurity

Use when verifying chip arch. UVM, formal, assertions.

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 10, 2026
ai-agentsgit

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add LoopyLuci/Skills --skill chip-arch-verification --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Chip Arch Verification?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Chip Arch Verification
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/loopyluci-chip-arch-verification/badge)](https://www.skillsdirectory.com/skills/loopyluci-chip-arch-verification)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: chip-arch-verification
description: "Use when verifying chip arch. UVM, formal, assertions."
version: 1.0.0
author: Hermes Agent
license: MIT
platforms: [linux, macos, windows]
metadata:
  hermes:
    tags: [chip, arch-verification, uvm, formal, assertions]
    related_skills: [rtl-design-verilog, timing-analysis-digital]
---

# Chip Architecture Verification

## Overview
Verify semiconductor chip architectures using UVM methodology, formal verification, and assertion-based verification. Covers testbench infrastructure, constrained random stimulus, coverage closure, and debug workflows for complex SoC designs.

## When to Use
- "Set up UVM testbench for chip verification"
- "Verify chip architecture components"
- "Achieve coverage closure on RTL"
- "Debug assertion failures in simulation"
- "Perform formal verification of critical blocks"

## UVM Testbench Template
```systemverilog
class arch_verification_env extends uvm_env;
    bus_agent bus_agent;
    mem_agent mem_agent;
    arch_scoreboard scoreboard;
    
    `uvm_component_utils(arch_verification_env)
    
    function void build_phase(uvm_phase phase);
        super.build_phase(phase);
        bus_agent = bus_agent::type_id::create("bus_agent", this);
        mem_agent = mem_agent::type_id::create("mem_agent", this);
        scoreboard = arch_scoreboard::type_id::create("scoreboard", this);
    endfunction
    
    function void connect_phase(uvm_phase phase);
        bus_agent.monitor.ap.connect(scoreboard.bus_in);
        mem_agent.monitor.ap.connect(scoreboard.mem_in);
    endfunction
endclass
```

## Assertion Patterns
```systemverilog
// No deadlock in arbiter
property no_deadlock_p;
    @(posedge clk) disable iff (!rst_n)
    (!grant_all |-> ##1 (!grant_all)[*1:$]);
endproperty
```

## Formal Verification Setup
```tcl
dut -gate -auto-wire
clock -exp 'posedge clk' -rst -exp '!rst_n'
set_max_time 300
prove -all
```

## Coverage Targets
- Code coverage: ≥95% lines, ≥90% branches
- Functional coverage: ≥100% on critical paths
- Assertion coverage: ≥100%

## Common Pitfalls
1. Assertions too strict — account for pipeline delays
2. Incomplete constraints — waste coverage points
3. No disable iff in assertions — false failures during reset
4. Insufficient coverage models
5. Formal proof timeouts — over-constrain
6. X propagation in simulators

## Verification Checklist
- [ ] UVM agents for all interfaces implemented
- [ ] Scoreboard validates against reference model
- [ ] ≥95% line coverage achieved
- [ ] ≥90% branch coverage achieved
- [ ] Functional coverage ≥100% on critical paths
- [ ] Formal verification passes on critical blocks
- [ ] All assertions covered in at least one test
- [ ] Coverage closure report generated
- [ ] Random stimulus ≥1000 sequences

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.