SuperAPI AI 工具集

crg-req-to-design

设计与创作

查看项目

更新于 10-16 08:49

技能介绍

用途:把 CRG 需求表(子系统、IP、时钟/复位信号名、备注/频率)转换为时钟树设计表与复位树设计表,并推荐 PLL 数量与时钟树架构。生成结果可作为 cr_tree_diag_gen 的输入,形成“需求表 → crg_req_to_design → 设计表 → cr_tree_diag_gen → drawio / excalidraw”流水线。

主要能力:支持 Excel(.xlsx/.xls)与 CSV 解析,列名中英双语模糊匹配;从备注提取频率并归一化为 MHz;按信号后缀(如 _clk、_rst_n)区分时钟与复位;依据信号名或备注识别 pad 外部时钟源;基于整数分频关系优先用 pad 时钟推导内部时钟,无法推导时按频率聚类推荐 PLL;生成含 SRC0、DIV、DIV_WIDTH、DIV_DFLT 的时钟树设计表;复位树以 PORESETn 为根自动生成各子系统复位输出节点;输出架构报告。

使用方式:命令行运行 python scripts/main.py <req_table.xlsx> [output_dir],示例 python scripts/main.py examples/input/req_table.xlsx output/。输出目录生成 clock_design.xlsx、reset_design.xlsx、crg_report.txt。也可通过 MCP Server 调用,在 .kimi/mcp.json 配置 command 为 python3、args 指向 mcp_server.py,暴露工具 crg_req_to_design,参数 input_path 与 output_dir,返回生成文件列表、PLL 推荐和分频链路摘要。与 cr_tree_diag_gen 联动时依次用设计表生成时钟树和复位树的 .drawio。

依赖与限制:独立运行需 pip install pandas openpyxl,启用 MCP 还需 pip install mcp;纯 Python,不依赖 EDA 工具,零侵入。多频率 pad 备注只取第一个频率作主频,完整字符串保留在 NOTE 列;无频率时钟不创建 PLL 且 SRC0 留空;ICG/OCC 列留空需手动补充;不同子系统的同名 pad_clk 视为独立输入节点。本 skill 只负责需求表到设计表与报告,可视化需另用 cr_tree_diag_gen。