MCP‑EDA Example Flow
@AndyLu666
About MCP‑EDA Example Flow
Server for EDA Tools, Duke University
Basic information
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
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.
FAQ from MCP‑EDA Example Flow
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.
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.
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.
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.
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.
More Other MCP servers
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
Awesome Mcp Servers
punkpeyeA collection of MCP servers.
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
ICSS
chokcoco不止于 CSS
AutoBrowser MCP
autobrowser-aiBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Comments