用途:为 silicon-crew SoC 项目准备并运行 OpenROAD-flow-scripts(ORFS)物理设计交接,适用于 Codex 需要生成 ORFS 配置与 SDC 约束、执行物理设计流程的场景。
主要能力:通过已注册的 soc-openroad MCP 服务器提供三个工具。soc_openroad_init 依据项目 filelist 生成可移植的 config.mk 与 constraint.sdc;soc_openroad_run 运行 ORFS Make 阶段,stage 可为 synth、floorplan、place、cts、route、finish 或 all;soc_openroad_status 汇总 pd/openroad/work_local 下的结果、报告与日志文件。
使用方式:默认走本地 ORFS 执行路径,即 backend=local、orfs_dir=${SILICON_CREW_ORFS_DIR}、jobs=1,并使用 pd/openroad/work_local 存放本地日志与产物。仅当显式指定 backend=auto、docker 或 podman 时才使用 Docker/Podman。容器运行时 MCP 将 SoC 项目挂载到 /work,因此 config.mk 与 work 目录须保持在项目内。文件布局为 pd/openroad/<platform>/<design>/ 放置 config.mk 与 constraint.sdc,work_local 默认被 Git 忽略。
关键约束:ORFS 与 OpenROAD 源码树须与 SoC 仓库相互独立,不要把 RTL 复制进 OpenROAD-flow-scripts;config.mk 通过 $(PROJECT_ROOT)/... 路径指回项目 RTL。须先确保 RTL/lint/synthesis 交接通过 soc-build 有效,且模块构建 filelist de/run/rtl.f 存在,若缺失应停止配置生成并报告,不得回退到 de/rtl/filelist.f。生成后需人工复核 config.mk 与 constraint.sdc,时钟/复位约束应依据设计需求而非猜测。本地后端下若存在 config.local.mk 应优先使用。OpenROAD 执行须保持在注册的 MCP 工具内,不得用直接 shell make 或 openroad 命令替代。PD 不是 pipeline_state.json 阶段。
限制:资料未提供支持的平台范围、容器镜像版本、性能与许可等细节,暂未提供。