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
UCAgent是基于大语言模型的自动化任务执行AI代理,支持通用工作流配置和执行。本技能提供配置文件编写规范、自定义Checker开发指南、--emulate-config配置校验工具使用方法,帮助用户快速创建、验证和运行各类任务工作流。
通过脚本把 DUT 基本信息写入 .formal_records.yaml 的 basic_info 字段,并由系统自动渲染 02 基本信息文档。
从 analysis 中提取 RTL_BUG 属性,LLM 通过脚本将 Bug 详细信息写入 .formal_records.yaml。
自动解析环境分析文档和 wrapper.sv,为每个 RTL_BUG 生成 Python 测试函数框架,LLM 填写引脚驱动和断言逻辑。
基于 basic_info.clock_reset 与 extra_config.tcl 渲染 wrapper/checker/formal.tcl。
提取和分析被测模块(DUT)的功能规格和形式化检测点
| name | sva-gen |
| description | 在 YAML 中编写 SVA 属性检测代码 |
本技能指导如何将 .formal_records.yaml 中的 sva_body 占位符翻译为完整的 SVA 断言代码。
本阶段的唯一事实来源是 .formal_records.yaml.spec.*.check_points[*].sva_body。
SVA 编码规范参见
Guide_Doc/sva_property.md
UCAgent 采用 YAML 作为唯一事实来源 (SSOT) 的架构。
.sv 文件:checker.sv 和 wrapper.sv 是由系统自动根据 YAML 渲染生成的只读产物。update_sva_body.py 技能脚本更新检测点的实现代码。Check 工具进行验证时,系统会自动将 YAML 中的代码 full refresh 渲染到 .sv 文件中。RunSkillScript 调用技能脚本,不要假设宿主 python3 环境具备所有依赖。针对 .formal_records.yaml 中标记为 [LLM-TODO] 的 sva_body 字段,构思对应的 SVA 逻辑。
确认注释中标注的 Style(Assume / Seq / Comb / Cover),选择 Guide_Doc/sva_property.md 中对应的代码模板。
使用 RunSkillScript 调用 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 占位符断言:必须实现真实逻辑。; 结尾。