com um clique
com um clique
| name | sva-audit |
| description | 环境分析技能。Checker 已自动解析日志并生成骨架,LLM 仅需通过脚本填写分析详情。 |
本技能指导如何分析验证结果并通过 update_analysis.py 脚本 将分析写入 .formal_records.yaml。
注意:得益于自动化升级,Checker 在执行验证后已自动在
.formal_records.yaml中为所有异常属性生成了[LLM-TODO]骨架。你不再需要手动运行初始化脚本。
首先运行以下命令,查看有哪些属性需要分析(标记为 ❌ 的条目):
python3 .ucagent/skills/formal/sva-audit/scripts/update_analysis.py -action show
对于日志中出现的 TRIVIALLY_TRUE 属性(通常是由于 Assume 过约束导致),使用以下命令填写:
python3 .ucagent/skills/formal/sva-audit/scripts/update_analysis.py \
-type tt -id TT-001 \
-root_cause ASSUME_TOO_STRONG \
-related_assume M_CK_API_INPUT_KNOWN \
-analysis "输入约束过强导致属性永真" \
-action_val FIXED \
-action_detail "放宽 assume 约束条件"
root_cause 枚举值: ASSUME_TOO_STRONG / SIGNAL_CONSTANT / WRAPPER_ERROR / DESIGN_EXPECTED
action 枚举值: FIXED / ACCEPTED
对于 FALSE 属性(断言失败或 Cover 失败),使用以下命令分类:
python3 .ucagent/skills/formal/sva-audit/scripts/update_analysis.py \
-type fa -id FA-001 \
-resolution RTL_BUG \
-analysis "RTL 中 sum 位宽定义错误导致断言失败" \
-action_detail "修改 output [WIDTH-2:0] 为 [WIDTH-1:0]"
resolution 枚举值: RTL_BUG / ENV_FIXED / ENV_PENDING / COVER_EXPECTED_FAIL
如果你修改了 SVA 代码或约束并重跑了验证,Checker 会自动检测新异常并追加骨架。若需手动触发同步,可运行:
python3 .ucagent/skills/formal/sva-audit/scripts/env_analysis.py -mode update
Checker 会验证所有条目是否已填写完整(无 [LLM-TODO]),通过后自动重燃 07_{DUT}_env_analysis.md 文档。
如果在运行 EDA 工具时遇到语法错误(Syntax Error),请按以下优先级修复:
WIDTH 未定义)禁止直接修改 wrapper.sv! 改动会被系统自动渲染覆盖。
应使用 update_spec.py 将参数记录在 YAML 中:
python3 .ucagent/skills/formal/func-spec/scripts/update_spec.py -action set_param -id WIDTH -value 64
完成后重新调用 Check,系统会自动渲染生成带参数定义的 SV 环境。
禁止直接修改 wrapper.sv!
应使用 add_signal 动作:
python3 .ucagent/skills/formal/func-spec/scripts/update_spec.py -action add_signal -desc "logic [WIDTH-1:0] my_internal_sig"
ACCEPTED 的 TRIVIALLY_TRUE 比例不应过高,优先尝试通过修改约束来修复 (FIXED)。ENV_PENDING 状态的属性会阻止工作流推进,必须修复环境后改为 ENV_FIXED。UCAgent是基于大语言模型的自动化任务执行AI代理,支持通用工作流配置和执行。本技能提供配置文件编写规范、自定义Checker开发指南、--emulate-config配置校验工具使用方法,帮助用户快速创建、验证和运行各类任务工作流。
从 analysis 中提取 RTL_BUG 属性,LLM 通过脚本将 Bug 详细信息写入 .formal_records.yaml。
自动解析环境分析文档和 wrapper.sv,为每个 RTL_BUG 生成 Python 测试函数框架,LLM 填写引脚驱动和断言逻辑。
提取和分析被测模块(DUT)的功能规格和形式化检测点
在 YAML 中编写 SVA 属性检测代码
指导解释覆盖率报告并优化未覆盖死角的技能