en un clic
aves-script-builder
从 MD 函数定义和 Python 代码自动生成 AVES 寄存器配置脚本
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
从 MD 函数定义和 Python 代码自动生成 AVES 寄存器配置脚本
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
LiteLLM Gateway Management - Official API Implementation
执行深度检索调研工作流。当用户需要系统性研究复杂主题、多源信息验证、或生成分维度研究报告时使用。采用检查点模式增强参与感,支持多轮迭代补充检索,并发数限制为4个subagent以保证质量和稳定性。
芯片PSD3测试执行器,由Agent主导PSD3测试的执行,提供库函数索引
通过配置文件驱动生成芯片级 XML 寄存器定义文件
重新生成 ic_psd3/library,从 XML 和 AVES 脚本生成 auto_class 和 aves_class
| name | aves-script-builder |
| description | 从 MD 函数定义和 Python 代码自动生成 AVES 寄存器配置脚本 |
| license | MIT |
| compatibility | opencode |
| metadata | {"author":"Agent","version":"2.0.0"} |
该 Skill 旨在帮助验证工程师将高层次的函数描述转换为可执行的 AVES 脚本。 它采用 "MD -> Python Template -> Mock Execution -> AVES" 的流转模式,利用 IDE 的自动补全能力减少手动查表。
核心优势:
if/for/while 等复杂逻辑。.w() 调用都会生成独立的 B0 行,清晰展示时序。用户需要提供一个包含函数名和描述的 Markdown 文件。
例如 func_define.md:
# func_reset_clock
复位所有 clock domain
# func_start_saradc
启动 SARADC
Agent 读到这个文件之后进行解析,提取函数定义并生成 Python 模板。
Agent 调用工具生成模板文件:
python3 ic_psd2/src/aves_generator.py \
--md <YOUR_MD_PATH> \
--template ic_psd2/output/aves_template.py
在用户开始编写逻辑前,Agent 必须在 ic_psd2/output 构建临时 auto_class.py,以便 IDE 提供准确的自动补全,且不影响 ic_psd3/library 的状态。
Agent 调用 ic_psd2/src/generate_local_autoclass.py:
python3 ic_psd2/src/generate_local_autoclass.py <PATH_TO_YOUR_CHIP_XML> ic_psd2/output/auto_class.py
完成后检查 ic_psd2/output/auto_class.py 是否存在。用户在编写逻辑时,IDE 会识别同目录下的库。
Agent搜索要使用的寄存器:
只能使用脚本在*.json/*.XML/*.xlsx里搜索
禁止直接读取所有*.json/*.XML/*.xlsx的内容,会造成用户token消耗量过大
如果Agent不能给出使用的寄存器:
告知用户:"本地补全库已准备就绪,请在 IDE 中打开 aves_template.py 并利用 AutoClass 补全功能编写代码。完成后请告诉我。”
如果Agent能给出使用的寄存器:
告知用户:"本地补全库已准备就绪,以下是您需要使用的寄存器:\n{REGISTER_LIST}\n
用户在 IDE 中打开 aves_template.py,使用 AutoClass 编写逻辑:
def func_reset_clock():
"""复位所有 clock domain"""
AutoClass.Misc_Inst.i2c_xtal_domain_rst.w(1)
AutoClass.Misc_Inst.i2c_240m_domain_rst.w(1)
# ... 更多写入
AutoClass.Misc_Inst.i2c_xtal_domain_rst.w(0) # 解除复位
AutoClass.Misc_Inst.i2c_240m_domain_rst.w(0)
支持的功能:
.w(0) 或 .w(1).w(0xFF).r()(用于 read-modify-write)if/else、for 循环、变量计算Agent 使用 MockExecutor 实际执行 Python 代码并生成 AVES:
python3 ic_psd2/src/mock_executor.py \
--state ic_psd2/output/xml_state.json \
--py ic_psd2/output/aves_template.py \
--aves ic_psd2/output/generated_aves.txt \
--per-func
生成的 AVES 格式:
:16-01 func_reset_clock:
; AutoClass commands:
; AutoClass.Misc_Inst.i2c_xtal_domain_rst.w(1)
; AutoClass.Misc_Inst.i2c_240m_domain_rst.w(1)
; AutoClass.Misc_Inst.i2c_xtal_domain_rst.w(0)
; AutoClass.Misc_Inst.i2c_240m_domain_rst.w(0)
B0 2000 02;
B0 2000 06;
B0 2000 02;
B0 2000 00;
End
特点:
.w() 调用生成一行 B0(不合并); 结尾询问 MD 路径:
"请提供包含函数定义的 Markdown 文件路径(例如 ic_psd2/output/func.md)"
生成模板并准备本地库:
生成模板后,主动执行或询问用户执行 generate_local_autoclass.py,确保输出到 ic_psd2/output/auto_class.py。
告知用户:"模板已生成到 ic_psd2/output/aves_template.py,且本地 IDE 补全库已在 ic_psd2/output 准备就绪(不影响 psd3 库)。请在 IDE 中打开并利用 AutoClass 补全功能填写代码。完成后请告诉我。"
构建脚本: 接收到用户确认后,执行 mock_executor 并展示生成的 AVES 内容(前几行或全量)。
mock_executor.py 而非旧的 aves_generator.py,支持完整 Python 语法。.w() 都生成独立的 B0 行,如需延时请在代码中显式控制。xml_state.json(由 chip_builder 生成)作为默认值来源。ic_psd2/src/aves_generator.py - 仅用于从 MD 生成 Python 模板ic_psd2/src/mock_driver.py - 虚拟 I2C 驱动器,维护内存状态ic_psd2/src/mock_executor.py - 执行 Python 脚本并生成 AVESic_psd2/src/generate_local_autoclass.py - 生成本地 IDE 补全库