with one click
static-bug-analysis
RTL源码静态Bug分析阶段专属技能,用于指导 static_bug_analysis.md 文件的编写以及格式规范
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
RTL源码静态Bug分析阶段专属技能,用于指导 static_bug_analysis.md 文件的编写以及格式规范
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 仅需通过脚本填写分析详情。
在 YAML 中编写 SVA 属性检测代码
指导解释覆盖率报告并优化未覆盖死角的技能
| name | static-bug-analysis |
| description | RTL源码静态Bug分析阶段专属技能,用于指导 static_bug_analysis.md 文件的编写以及格式规范 |
对于 {DUT}_RTL 目录下的所有源文件(.v,.sv,.scals),按照以下步骤,依次对每个源文件进行静态Bug分析:
对于待分析的一个源文件,结合{OUT}/{DUT}_functions_and_checks.md中的功能组<FG->,功能点<FC->和检测点<CK->,逐个<CK->检查源文件实现,系统排查常见设计缺陷:
对于存在潜在Bug的检测点<CK-*>,以下述结构记录其细节:
FG: <CK->所属的<FG->, 必须是FG-前缀. 示例: FG-BASIC-ARITHMETICFGD: 功能组描述,可直接复用{OUT}/{DUT}_functions_and_checks.md中的描述(10字以内)FC: <CK->所属的<FC->, 必须是FC-前缀. 示例: FC-SPECIAL-ADDFCD: 功能点描述,可直接复用{OUT}/{DUT}_functions_and_checks.md中的描述(10字以内)CK: 存在潜在Bug的检测点<CK-*>, 必须是CK-前缀. 示例: CK-ADD-ZERO-INPUTCKD: 检测点描述,可直接复用{OUT}/{DUT}_functions_and_checks.md中的描述(10字以内)BG: Bug标签,格式为BG-STATIC-NNN-NAME,其中NNN为三位数字递增(001开始,保持序号的连续),NAME为简要描述. 示例: BG-STATIC-001-CARRY-INPUTBD: 潜在Bug的简要描述,描述中不允许存在空格FILE: 潜在Bug涉及的源文件路径和相关代码的行数范围,格式为"Adder_RTL/文件.v:L1-L2",其中L1和L2分别是起始行和结束行,可以是单行或多行. 示例: "Adder_RTL/Adder.v:10-14"(代码务必高度相关且简洁,只列出与潜在Bug相关的代码)CL: Bug置信度,描述对该Bug存在的确信程度. 示例: "高"、"中"、"低"分析完一个源文件后,使用RunSkillScript工具一次性记录该文件中所有的潜在Bug,命令行如下(其中script替换为recordbug.py脚本的路径,其他参数值替换为每个Bug记录内容):
python3 script -FG 'FG' -FGD 'FGD' -FC 'FC' -FCD 'FCD' -CK 'CK' -CKD 'CKD' -BG 'BG' -FILE 'FILE' -BD 'BD' -CL 'CL'
python3 script -FG 'FG' -FGD 'FGD' -FC 'FC' -FCD 'FCD' -CK 'CK' -CKD 'CKD' -BG 'BG' -FILE 'FILE' -BD 'BD' -CL 'CL'
...
潜在Bug汇总,详细分析,批次分析进度),每次修改只在对应栏目下进行追加或者修改操作,不要修改或删除其他栏目的内容,不要添加新的栏目,不要改变栏目顺序.潜在Bug汇总和详细分析下的内容要相互一致,如果潜在Bug汇总中已经有了某个BG条目,则详细分析中必须有对应的BG条目,反之亦然.RunSkillScript工具来记录潜在Bug,不允许直接修改{OUT}/{DUT}_static_bug_analysis.md文件来添加或修改BG条目,且该文件的创建也必须通过脚本完成.批次分析进度中必须使用和标签标记文件路径{DUT}_static_bug_analysis.md 文档结构(供修改参考)# {DUT} RTL 源码静态分析报告
## 一、潜在Bug汇总
| 序号 | Bug标签 | 功能路径 | 描述摘要 | 置信度 | 涉及文件 | 动态Bug关联 |
|------|---------|----------|----------|--------|----------|-------------|
| 001 | BG-STATIC-001-NAME | FG-XXX/FC-YYY/CK-ZZZ | Bug描述 | 高 | ALU754_RTL/ALU754.v | LINK-BUG-[BG-TBD] |
## 二、详细分析
### <FG-XXX> 功能组描述
#### <FC-YYY> 功能点描述
##### <CK-ZZZ> 检测点描述
- <BG-STATIC-001-NAME> Bug描述
- <LINK-BUG-[BG-TBD]>
- <FILE-ALU754_RTL/ALU754.v:xx-yy>
```verilog
xx: ...
yy: ...
```
## 三、批次分析进度
| 源文件 | 发现疑似Bug数 | 状态 |
|--------|---------------|------|
| <file>ALU754_RTL/ALU754.v</file> | 1 | ✅ 完成 |
本阶段检查发现问题,需要修改时,依照上述模板的格式进行修改,并且务必遵守核心原则和关键规则,保证文档结构完整,内容一致,格式规范.
RunSkillScript使用说明RunSkillScript工具允许一次性输入多条命令,若有多个记录内容,则列出多条命令,命令中只允许使用定义的参数,禁止额外参数,且参数值必须符合格式要求,每个参数必须使用单括号''括起来.RunSkillScript工具时,若输入了10条命令行,前5条命令行执行正常,成功记录,但第6条命令执行失败时,根据反馈信息修改第6条命令以及后续命令中存在的相同问题,并且使用RunSkillScript工具重新执行第6条命令以及后续命令,已经成功的命令不需要重新执行,只需要执行未完成的命令.