用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/babyworm/rtl-agent-team --skill rtl-p5s-sva-policy命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Initialize RTL project workspace: directory structure, coding rules, phase guides. Run once per project. Triggers: 'init project', 'new project'.
Internal reference: rtl p5 verify policy (agent-loaded; do not invoke).
P5 formal verification: SVA proof via SymbiYosys BMC/induction on lint-clean RTL. Triggers 'formal verification', 'prove property', 'SVA'.
正在显示 SKILL.md
| name | rtl-p5s-sva-policy |
| description | Internal reference: rtl p5s sva policy (agent-loaded; do not invoke). |
| user-invocable | false |
SVA property files MUST follow the project coding conventions (CLAUDE.md):
i_ prefix for inputs, o_ prefix for outputs (e.g., i_valid, o_ready)clk (single domain) or {domain}_clk (multiple domains, e.g., sys_clk) — NOT clk_irst_n (single domain) or {domain}_rst_n (multiple domains, e.g., sys_rst_n) — NOT rst_nilogic in helper code (NOT reg/wire)no_fifo_overflow, valid_handshake)SVA property extraction must iterate at least 3 times to strengthen assertion quality. Each round builds upon the previous:
cover properties to verify reachability. Check for vacuous assertions.##[1:N] bounded eventually). Verify assume/assert balance (not over-constrained). Add cross-module interface properties if applicable.Each round produces a review note at .rat/scratch/phase-5/sva-iteration-r{N}.md.
/rtl-agent-team:rat-setup; use the official OSS CAD Suite or source installation guide (https://yosyshq.readthedocs.io/projects/sby/en/latest/install.html)formal/*_props.sv written with meaningful concurrent SVA properties for commercial formal toolsformal/*_formal_harness.sv written with Yosys-compatible procedural immediate checks for OSS SBYi_/o_ prefix, {domain}_clk/{domain}_rst_n)formal/formal_verify_{module}.json produced with task-level result statusUse assume statements to constrain inputs to legal protocol ranges before proving.
Principle: assume inputs, assert outputs. Inputs are constrained with assume; outputs are verified with assert.
Target properties: no deadlock, no overflow, interface protocol compliance, data integrity.
Assertion clock: @(posedge sys_clk) disable iff (!sys_rst_n) for synchronous properties.
See {plugin_root}/skills/rtl-p5s-sva-check/examples/handshake-assertions.sv for valid/ready handshake SVA patterns.
See {plugin_root}/skills/rtl-p5s-sva-check/examples/fifo-assertions.sv for FIFO overflow/underflow assertion patterns.
SymbiYosys engine guide:
| Engine | Mode | Best For |
|---|---|---|
smtbmc boolector | BMC, prove | General purpose (default) |
smtbmc yices | BMC, prove | Bitvector-heavy, often fastest |
smtbmc z3 | BMC, prove | Arithmetic-heavy designs |
abc pdr | prove only | Unbounded proof via PDR |
See {plugin_root}/skills/rtl-p5s-sva-check/references/sva-patterns.md for complete temporal operator reference and pattern library.
sv2v conversion note:
SymbiYosys relies on Yosys for reading design files. Yosys has limited SystemVerilog
support, so DUT RTL .sv files need explicit Verilog conversion before sby.
Run sv2v on DUT RTL only:
sv2v --write=formal/{module}_v2v.v rtl/{module}/*.sv
test -s formal/{module}_v2v.v
sby -f formal/{module}.sby bmc
sby -f formal/{module}.sby prove
sby -f formal/{module}.sby cover
Do NOT run sv2v on full concurrent SVA property files (formal/*_props.sv);
sv2v can remove assertions/covers. For OSS SBY, generate a dedicated
formal/*_formal_harness.sv from yosys-formal-harness-template.sv and use
procedural immediate assert(...), assume(...), and cover(...) in that harness.
Keep concurrent SVA assets as commercial-formal input.