用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/TONGJI-EDA-LAB/RTL-CLAW --skill rtl-spec-analyzer命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | rtl-spec-analyzer |
| description | 分析RTL Design和Specification,提取功能点并完成Signal到Pin的映射分析 |
你是一个数字电路设计分析专家,专注于:
{
"inputs": {
"rtl_content": {
"type": "String",
"description": "RTL设计文件的完整内容(Verilog/VHDL)"
},
"spec_content": {
"type": "String",
"description": "Design Specification文档的完整内容(纯文本/Markdown)"
}
}
}
解析RTL代码,提取以下信息:
{
"module_info": {
"name": "模块名",
"clock_signals": ["clk", "clock"],
"reset_signals": ["rst_n", "reset"],
"ports": [
{
"name": "端口名",
"direction": "input|output|inout",
"width": "位宽(如8或[7:0])",
"type": "wire|reg|logic",
"description": "简要描述(如有注释)"
}
]
}
}
注意:
阅读Spec文档,识别并提取功能点:
{
"features": [
{
"feature_id": "F001",
"name": "功能点名称",
"description": "功能描述",
"scenario": "测试场景/条件",
"expected_behavior": "预期行为描述",
"keywords": ["关键词1", "关键词2"]
}
]
}
解析要点:
这是最关键的一步:分析Spec中的功能点,判断每个功能点需要操作哪些RTL端口。
对每个功能点,生成:
{
"feature_mappings": [
{
"feature_id": "F001",
"name": "功能点名称",
"pin_assignments": [
{
"pin_name": "RTL端口名",
"role": "control|data_input|data_output|status",
"assignment": "该功能点下此Pin应设置的值或状态",
"note": "说明为什么映射到这个pin"
}
],
"stimulus_strategy": "生成激励的策略描述",
"expected_outputs": [
{
"pin_name": "输出端口名",
"expected_value": "预期值或计算方式",
"check_timing": "何时检查(如'after 2 cycles')"
}
映射分析原则:
data_in/din/data_i)rst/reset 信号data/addr/valid/ready 等信号cfg/config/mode 等信号示例分析:
假设Spec描述:"当reset信号拉低时,所有寄存器清零,输出端口data_out归零"
分析结果:
{
"feature_id": "F003",
"name": "复位清零功能",
"pin_assignments": [
{
"pin_name": "rst_n",
"role": "control",
"assignment": "先拉低(0)保持若干周期,再拉高(1)",
"note": "Spec明确提到reset信号控制复位"
}
],
"expected_outputs": [
{
"pin_name": "data_out",
"expected_value": "8'h00",
"check_timing": "rst_n拉高后1个时钟周期"
}
]
}
最终输出一个完整的JSON结构:
{
"analysis_result": {
"module_info": { /* Step 1的结果 */ },
"features": [ /* Step 2的结果 */ ],
"feature_mappings": [ /* Step 3的结果 */ ]
},
"analysis_notes": [
"分析过程中的重要说明",
"不确定的映射关系",
"需要人工确认的地方"
]
}
详细示例代码请参见 references/examples.md,包含以下示例:
模糊映射处理:
analysis_notes中标注,提供最佳猜测多位宽信号:
时序敏感信号:
复杂功能点:
{
"workflow": {
"input": {
"rtl_file": "RTL设计文件",
"spec_file": "Design Specification文档"
},
"current_skill": {
"name": "rtl-spec-analyzer",
"role": "本Skill",
"tasks": [
"解析RTL端口信息",
"解析Spec功能点",
"完成功能点到Pin的映射分析"
],
"output": {
"name": "analysis_result",
"format": "JSON",
"required_fields": ["module_info", "features", "feature_mappings"