Apply assertion-based and property-driven reasoning to RTL, interfaces, FIFOs, arbiters, and control logic. Use when writing SystemVerilog assertions, planning SymbiYosys checks, proving safety and liveness properties, or strengthening an RTL module beyond simulation-only confidence.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Apply assertion-based and property-driven reasoning to RTL, interfaces, FIFOs, arbiters, and control logic. Use when writing SystemVerilog assertions, planning SymbiYosys checks, proving safety and liveness properties, or strengthening an RTL module beyond simulation-only confidence.
Hardware Formal Verification
Use this skill when simulation is not enough to rule out corner-case protocol or state bugs.
Core Workflow
Define the block contract and environment assumptions.
Choose properties:
reset safety,
protocol safety,
ordering,
exclusivity,
eventual progress.
Use references/formal-checklist.md to separate assumptions, assertions, and covers.
If sby or yosys exists, run the smallest proof target first.
Report proof limits and abstraction assumptions explicitly.
Execution Rules
Do not bury assumptions inside assertions.
Prefer a few meaningful invariants over many weak properties.
Use simulation counterexamples to refine formal properties and vice versa.
State whether a failure is a design bug, a property bug, or an environment-model bug.