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.