MCP.so
Sign In

MCP‑EDA Example Flow

@AndyLu666

About MCP‑EDA Example Flow

Server for EDA Tools, Duke University

Basic information

Category

Other

Runtime

sourcepawn

Transports

stdio

Publisher

AndyLu666

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

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.

Comments

More Other MCP servers