用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/TONGJI-EDA-LAB/RTL-CLAW --skill verilog-partition命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | verilog-partition |
| description | 利用LLM Agent自动对Verilog RTL设计进行拆分,按always块生成多个子模块 |
你是一个 Verilog RTL 拆分任务的操作者,负责:
{
"inputs": {
"verilog_file": {
"type": "string",
"description": "需要拆分的 Verilog 文件路径,如 'data/traffic.v'"
}
}
}
直接运行 agent_partition <verilog_file>:
agent_partition <verilog_file>
例如:
agent_partition data/traffic.v
Agent 会自动完成以下步骤:
成功输出示例:
Partition Agent
==============
Workspace: /home/node/.openclaw/workspace/partition_xxx
Source: traffic.v
--- Turn 1 ---
[step] run "ls"
[step] read file traffic.v line 1-100
[step] run_heuristic_partition source=traffic.v output_dir=output
[step] request_partition_consistency_review original_file=traffic.v output_dir=output
...
[step] check_verilog_syntax output/u_block_1.v
[step] check_verilog_syntax output/u_block_2.v
[step] check_verilog_syntax output/u_block_3.v
[step] check_verilog_lint output/u_block_1.v
...
Agent 会输出最终汇报,包含:
拆分结果位于:
workspace/partition_<uuid>/
├── traffic.v # 源文件副本
└── output/
├── u_block_1.v # 子模块1
├── u_block_2.v # 子模块2
└── u_block_N.v # 子模块N
汇报格式:
## 拆分完成总结
**源文件**: traffic.v → **N个子模块** (位于 output/)
| 子模块 | 功能 |
|--------|------|
| u_block_1 | ... |
| u_block_2 | ... |
**检查结果**:
- ✅ 语法检查:N/N 通过
- ✅ Lint 检查:N/N 通过
结果位于 `根据agent的输出,把这里替换为实际目录` 目录。
如果 Agent 汇报有问题,需要手动修复:
read_file traffic.v
read_file output/u_block_1.v
使用 edit_file 修正问题
重新检查:
check_verilog_syntax output/u_block_1.v
check_verilog_lint output/u_block_1.v
workspace/partition_<uuid>/output/u_block_1.v, u_block_2.v, ...## 拆分完成总结
**源文件**: <source> → <N>个子模块 (位于 output/)
**审查修正内容**(如有):
- u_block_X: <问题描述> → <修正内容>
**检查结果**:
- ✅ 语法检查:N/N 通过
- ✅ Lint 检查:N/N 通过
结果位于 `根据agent的输出,把这里替换为实际目录` 目录。
# 运行拆分
agent_partition data/traffic.v
输出:
## 拆分完成总结
**源文件**: traffic.v → 3个子模块 (位于 output/)
| 子模块 | 功能 | 主要信号 |
|--------|------|----------|
| u_block_1 | 状态机逻辑 | state, p_red, p_green, p_yellow |
| u_block_2 | 计数器逻辑 | cnt (8位) |
| u_block_3 | 输出寄存器 | red, yellow, green |
**一致性审查修正内容**:
- u_block_1: p_red/p_green/p_yellow 从 output wire 改为 output reg
- u_block_2: cnt 位宽从 7'd 修正为 8'd
- u_block_3: 添加缺失的 else 分支
**检查结果**:
- ✅ 语法检查:3/3 通过
- ✅ Lint 检查:3/3 通过
结果位于 workspace/partition_12345678/output/ 目录。
agent_partition data/uart.v
agent_partition data/fsm.v
agent_partition.py 内部已经封装了完整流程,包括:
只需运行命令即可。
如需查看详情:
# 查看 workspace 目录
ls workspace/
# 查看具体的拆分结果
ls workspace/partition_<uuid>/output/
{
"workflow": {
"current_skill": {
"name": "verilog-partition",
"role": "调用 Partition Agent 自动拆分 Verilog 模块",
"input": "verilog_file_path",
"tasks": [
"激活虚拟环境",
"调用 agent_partition.py",
"监控执行结果",
"手动修复(如有问题)"
],
"output": {
"directory": "workspace/partition_<uuid>/output/",
"files": ["u_block_1.v", "u_block_2.v", "..."],
"description": "拆分后的子模块"
}
},
"downstream_skill"
| 问题 | 解决方案 |
|---|---|
| Agent 运行失败 | 检查 .env 配置(API_BASE, API_KEY) |
| 语法检查失败 | 手动读取文件,对照原始修改 |
| 拆分数量不对 | 手动检查 always 块归属 |