with one click
sva-gen
在 YAML 中编写 SVA 属性检测代码
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
在 YAML 中编写 SVA 属性检测代码
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
从 analysis 中提取 RTL_BUG 属性,LLM 通过脚本将 Bug 详细信息写入 .formal_records.yaml。
自动解析环境分析文档和 wrapper.sv,为每个 RTL_BUG 生成 Python 测试函数框架,LLM 填写引脚驱动和断言逻辑。
提取和分析被测模块(DUT)的功能规格和形式化检测点
环境分析技能。Checker 已自动解析日志并生成骨架,LLM 仅需通过脚本填写分析详情。
指导解释覆盖率报告并优化未覆盖死角的技能
功能规格分析与测试点定义阶段及其子阶段专属技能,用于指导{DUT}_functions_and_checks.md的写入工作
| name | sva-gen |
| description | 在 YAML 中编写 SVA 属性检测代码 |
本技能指导如何将 .formal_records.yaml 中的 sva_body 占位符翻译为完整的 SVA 断言代码。
SVA 编码规范参见
Guide_Doc/sva_property.md
UCAgent 采用 YAML 作为唯一事实来源 (SSOT) 的架构。
.sv 文件:checker.sv 和 wrapper.sv 是由系统自动根据 YAML 渲染生成的只读产物。update_sva_body.py 技能脚本更新检测点的实现代码。Check 工具进行验证时,系统会自动将 YAML 中的代码渲染到 .sv 文件中。针对 .formal_records.yaml 中标记为 [LLM-TODO] 的 sva_body 字段,构思对应的 SVA 逻辑。
确认注释中标注的 Style(Assume / Seq / Comb / Cover),选择 Guide_Doc/sva_property.md 中对应的代码模板。
使用 update_sva_body.py 脚本将代码注入 YAML。
python3 .ucagent/skills/formal/sva-gen/scripts/update_sva_body.py <CK-ID> "<SVA_CODE_BODY>"
示例:
python3 .ucagent/skills/formal/sva-gen/scripts/update_sva_body.py CK-ADD-CORE-EQUATION "##0 ({cout, sum} == a + b + cin);"
调用 ucagent.checkers.formal.PropertyStructureChecker。
checker.sv 和 wrapper.sv 供后续 EDA 工具使用。checker.sv 的修改都会在下次 Check 时被覆盖。property 内部的逻辑体,外层的 property ... endproperty 和标签实例化由模板自动生成。|-> 1'b1 占位符断言:必须实现真实逻辑。; 结尾。