MCP.so
登录

MCP‑EDA Example Flow

@AndyLu666

基本信息

分类

其他

传输方式

stdio

作者

AndyLu666

关于 MCP‑EDA Example Flow

Server for EDA Tools, Duke University

#eda#design-automation#fastapi

MCP‑EDA Example Flow 配置

暂无标准配置

该服务器的 README 中没有可解析的 MCP 配置块,请前往代码仓库查看安装说明。

代码仓库

MCP‑EDA Example Flow 工具

工具列表暂未提供

当前收录暂时没有可展示的工具列表,不代表服务没有工具。请查阅项目文档了解支持的能力。

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

What is MCP‑EDA Example Flow?

MCP‑EDA Example Flow is an end‑to‑end digital implementation reference that combines Synopsys Design Compiler for RTL‑to‑gate synthesis and Cadence Innovus for physical implementation, wrapped in lightweight Python/FastAPI micro‑services and automation scripts. It is intended for chip designers who want a fully scripted, version‑controlled, and repeatable RTL‑to‑GDS flow.

How to use MCP‑EDA Example Flow?

Install the prerequisites (Synopsys Design Compiler V‑2023.12‑SP2, Cadence Innovus 21.1, Python 3.9+, and FreePDK45). Run ./run_pipeline.sh to execute all eight stages in sequence, or manually start individual REST servers on ports 3333‑3340 and send POST requests to their /run endpoints with JSON parameters. Configuration is managed via CSV files in the config/ directory.

Key features of MCP‑EDA Example Flow

  • Single‑command pipeline runs all stages from setup to save.
  • Each stage is a stateless, idempotent REST micro‑service.
  • All tunable parameters live in CSV files under version control.
  • QOR metrics are collected and returned as JSON for CI pipelines.
  • Supports reuse for custom designs by adding RTL and minimal config.

Use cases of MCP‑EDA Example Flow

  • Automated RTL‑to‑GDS synthesis and place‑and‑route with one command.
  • Debugging or tuning individual steps (e.g., placement) via direct REST calls.
  • Exploring parameter sweeps by modifying CSV rows and rerunning affected stages.
  • Adapting the flow to a new design by placing RTL and editing a single config.tcl.

常见问题

1

What are the prerequisites to run MCP‑EDA Example Flow?

Synopsys Design Compiler V‑2023.12‑SP2, Cadence Innovus 21.1, Python 3.9+, and the FreePDK45 (Nangate OpenCell v1.3) library, which is already included. Valid licenses for DC and Innovus are required.

2

How do I run the full flow?

Execute `./run_pipeline.sh` from the root directory. It starts all eight REST services in order, calls their endpoints sequentially, and logs output to `./logs/`. A success message indicates a routed and saved GDS/V file.

3

How can I tune parameters without editing TCL scripts?

Edit the CSV files in `config/` (e.g., `placement.csv`, `cts.csv`). At runtime the Python server picks a row by index, exports the values as environment variables, and the stage‑specific TCL scripts reference them via `$env(...)`. Change a CSV cell, commit, and rerun the affected stage.

4

How do I reuse this flow for my own design?

Place your RTL under `designs/<name>/rtl/*.v`, add a minimal `config.tcl` under `designs/<name>/` defining `TOP_NAME` and `RTL_LIST`, then update the REST calls or `run_pipeline.sh` with `design="<name>"`. No other path hard‑coding is required.

5

What happens if a stage fails?

Each stage logs its full tool stdout to `logs/<stage>/` with timestamps. The REST services return error messages (e.g., “enc.dat not found”) and indicate the dependency that likely caused the failure. Check the appropriate log file to diagnose and fix the issue before retrying.

评论

其他 分类下的更多 MCP 服务器