mcp4eda
Una colección de servidores MCP para flujos de trabajo de Automatización de Diseño Electrónico (EDA), que incluye herramientas para el cálculo de rendimiento de obleas y análisis de Verilog/SystemVerilog.
Documentación
mcp4eda - Servidores MCP para Automatización de Diseño Electrónico
Una colección completa de servidores de Protocolo de Contexto de Modelo (MCP) diseñados para mejorar los flujos de trabajo de EDA en Claude Desktop y otros clientes compatibles con MCP.
🚀 Servidores MCP Disponibles (8 en Total)
1. Servidor MCP de Yosys
Propósito: Síntesis y optimización de diseño para circuitos digitales
Ubicación: yosys-mcp/
Características:
- Sintetizar Verilog/SystemVerilog a netlists a nivel de compuertas
- Soporte para múltiples objetivos FPGA (Xilinx, Intel/Altera, Lattice)
- Análisis de diseño (jerarquía, recursos, estadísticas)
- Generación de visualización de circuitos
- Caché inteligente para rendimiento
Herramientas:
yosys_synth- Síntesis con múltiples formatos de salidayosys_analyze- Análisis de diseño y estadísticasyosys_show- Generar diagramas visuales de circuitos
2. Servidor MCP de Verilator
Propósito: Simulación y verificación RTL de alto rendimiento
Ubicación: verilator-mcp/
Características:
- Simulación rápida de Verilog/SystemVerilog
- Generación automática de testbenches
- Interfaz de depuración en lenguaje natural
- Recopilación y análisis de cobertura
- Soporte de generación de formas de onda
Herramientas:
verilator_compile- Compilar diseños a C++verilator_simulate- Ejecutar simulaciones con testbench automáticoverilator_testbenchgenerator- Creación inteligente de testbenchesverilator_naturallanguage- Consultas en lenguaje natural
3. Servidor MCP de Verible
Propósito: Linting, formateo y análisis de SystemVerilog/Verilog
Ubicación: verible-mcp/
Características:
- Linting de estilo integral con corrección automática
- Formateo de código con reglas personalizables
- Análisis y visualización de árboles de sintaxis
- Análisis de registros y módulos
- Análisis de dependencias a nivel de proyecto
- Interfaz en lenguaje natural
Herramientas:
verible_lint- Verificación de estilo y correccionesverible_format- Formateo de códigoverible_syntax- Análisis de ASTverible_analyze- Análisis de diseñoverible_natural_language- Consultas en lenguaje natural
4. Servidor MCP de GTKWave
Propósito: Visualización de formas de onda y automatización de análisis
Ubicación: gtkwave-mcp/
Características:
- Visualización programática de formas de onda
- Conversión de formatos (VCD, FST, LXT2)
- Extracción de jerarquía de señales
- Análisis de temporización y mediciones
- Generación de capturas de pantalla
- Generación de scripts TCL
Herramientas:
gtkwave_open- Abrir formas de onda con configuracionesgtkwave_convert- Convertir entre formatosgtkwave_extract_signals- Extraer jerarquías de señalesgtkwave_analyze_timing- Mediciones de temporizacióngtkwave_capture_screenshot- Generar imágenes de formas de onda
5. Servidor MCP de KLayout
Propósito: Visualización, edición y análisis de layout de CI
Ubicación: klayout-mcp/
Características:
- Soporte multi-formato (GDS, OASIS, DXF, CIF, MAG, DEF/LEF)
- Verificación de Reglas de Diseño (DRC) con motor potente
- Extracción y manipulación de capas
- Conversión de formatos con escalado
- Scripting personalizado en Python/Ruby
- Interfaz en lenguaje natural
- Biblioteca de recursos enriquecida
Herramientas:
klayout_layout_info- Analizar archivos de layoutklayout_convert_layout- Conversión de formatosklayout_run_drc- Verificación de reglas de diseñoklayout_extract_layers- Extracción de capasklayout_execute_script- Scripting personalizadoklayout_natural_language- Consultas en lenguaje natural
6. Servidor MCP de AnySilicon
Propósito: Cálculos de fabricación de semiconductores
Ubicación: anysilicon/
Características:
- Cálculos de chips por oblea
- Soporte para múltiples tamaños de oblea (150mm-450mm)
- Parámetros de exclusión de borde y calles de separación
- Integración con la calculadora web de AnySilicon
- Soporte de estimación de rendimiento
Herramientas:
calculate_die_per_wafer- Calcular rendimiento de chipsvalidate_parameters- Validar parámetros de entradaget_standard_wafer_sizes- Obtener estándares de obleas
7. MCP de Cadena de Suministro de Semiconductores
Propósito: Inteligencia de adquisición de núcleos IP y servicios ASIC
Ubicación: semiconductor-supply-chain-mcp/
Características:
- Encontrar proveedores de IP por categoría y tecnología
- Localizar servicios de diseño y fabricación ASIC
- Estimación de precios para servicios de semiconductores
- Comparación multi-proveedor
- Consultas en lenguaje natural para búsquedas complejas
Herramientas:
find_ip_vendors- Buscar proveedores de núcleos IPfind_asic_services- Encontrar servicios ASICget_price_estimation- Estimar costoscompare_vendors- Comparar múltiples proveedoresnatural_language_query- Interfaz en lenguaje natural
8. Servidor MCP de OpenLane
Propósito: Automatización completa del flujo RTL a GDSII
Ubicación: openlane-mcp/
Características:
- Flujo completo de RTL a GDSII usando OpenLane
- Ejecución basada en contenedores (Docker/Podman)
- Control de etapas individuales (síntesis, ubicación, enrutamiento)
- Gestión y configuración de PDK
- Interfaz en lenguaje natural para flujos complejos
Herramientas:
openlane_run_flow- Flujo completo de RTL a GDSIIopenlane_run_synthesis- Síntesis lógicaopenlane_run_floorplan- Planificación del piso y ubicación de E/Sopenlane_run_placement- Ubicación de celdas estándaropenlane_run_cts- Síntesis de árbol de relojopenlane_run_routing- Enrutamiento global y detalladoopenlane_natural_language- Interfaz en lenguaje natural
🌟 Soporte de Lenguaje Natural
Los 8 servidores MCP ahora incluyen interfaces de lenguaje natural integrales, lo que le permite interactuar con herramientas EDA usando comandos en inglés sencillo:
"Synthesize my design for Xilinx FPGA"
"Run simulation for 1 microsecond"
"Check my Verilog for errors"
"Generate testbench for my CPU module"
"Show waveform of clock signals"
"Convert layout to OASIS format"
"Calculate dies per wafer for 10x10mm chip"
"Find DDR5 IP vendors"
"Run complete RTL to GDSII flow"
Consulte la Guía de Soporte de Lenguaje Natural para ver ejemplos y patrones completos.
📋 Requisitos Previos
- Node.js 18+ y npm
- Aplicación Claude Desktop
- Herramientas EDA (según sea necesario):
- Yosys (para síntesis)
- Verilator (para simulación)
- Verible (para linting)
- GTKWave (para formas de onda)
- KLayout (para visualización de layout)
🔧 Instalación Rápida
1. Clonar el Repositorio
git clone https://github.com/ssql2014/mcp4eda.git
cd mcp4eda
2. Instalar Todos los Servidores
# Install script for all servers
for dir in yosys-mcp verilator-mcp verible-mcp gtkwave-mcp klayout-mcp anysilicon semiconductor-supply-chain-mcp openlane-mcp; do
echo "Installing $dir..."
cd $dir && npm install && npm run build && cd ..
done
3. Configurar Claude Desktop
Agregue a su configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Ejemplo de configuración para todos los servidores:
{
"mcpServers": {
"yosys": {
"command": "node",
"args": ["/path/to/mcp4eda/yosys-mcp/dist/index.js"],
"env": {
"YOSYS_PATH": "/opt/homebrew/bin/yosys",
"LOG_LEVEL": "info"
}
},
"verilator": {
"command": "node",
"args": ["/path/to/mcp4eda/verilator-mcp/dist/index.js"],
"env": {
"VERILATOR_PATH": "/opt/homebrew/bin/verilator",
"LOG_LEVEL": "info"
}
},
"verible": {
"command": "node",
"args": ["/path/to/mcp4eda/verible-mcp/dist/index.js"],
"env": {
"LOG_LEVEL": "info"
}
},
"gtkwave": {
"command": "node",
"args": ["/path/to/mcp4eda/gtkwave-mcp/dist/index.js"],
"env": {
"GTKWAVE_PATH": "/opt/homebrew/bin/gtkwave",
"LOG_LEVEL": "info"
}
},
"klayout": {
"command": "node",
"args": ["/path/to/mcp4eda/klayout-mcp/dist/index.js"],
"env": {
"KLAYOUT_PATH": "/opt/homebrew/bin/klayout",
"LOG_LEVEL": "info"
}
},
"anysilicon": {
"command": "node",
"args": ["/path/to/mcp4eda/anysilicon/dist/index.js"]
},
"semiconductor-supply-chain": {
"command": "node",
"args": ["/path/to/mcp4eda/semiconductor-supply-chain-mcp/dist/index.js"]
},
"openlane": {
"command": "node",
"args": ["/path/to/mcp4eda/openlane-mcp/dist/index.js"],
"env": {
"CONTAINER_EXECUTABLE": "docker",
"OPENLANE_IMAGE": "efabless/openlane:latest",
"WORK_DIR": "/path/to/openlane-workspace",
"LOG_LEVEL": "info"
}
}
}
}
🎯 Ejemplos de Uso
Flujo Completo de RTL a Layout
User: "Analyze my Verilog design in /project/rtl"
Claude: [Uses Verible to lint and format code]
User: "Synthesize the design for Xilinx FPGA"
Claude: [Uses Yosys to synthesize and optimize]
User: "Simulate the synthesized design"
Claude: [Uses Verilator to run simulation]
User: "Show me the waveform"
Claude: [Uses GTKWave to display results]
Flujo de Diseño de CI
User: "Check DRC on my layout.gds"
Claude: [Uses KLayout to run design rules]
User: "Calculate die yield for 10x10mm chip on 300mm wafer"
Claude: [Uses AnySilicon for yield calculation]
User: "Find DDR5 PHY IP vendors"
Claude: [Uses Supply Chain MCP to search vendors]
🔍 Solución de Problemas
Ver Registros (macOS)
tail -f ~/Library/Logs/Claude/mcp-server-*.log
Problemas Comunes
- Servidor desconectado: Verifique la instalación de herramientas y las rutas
- Herramienta no encontrada: Reinicie Claude Desktop después de los cambios de configuración
- Errores de permisos: Asegúrese de que las herramientas tengan permisos de ejecución
- Errores de compilación: Verifique la versión de Node.js (requiere 18+)
Verificar Instalación
# Check all tools
which yosys verilator verible gtkwave klayout
# Test MCP servers
for server in */dist/index.js; do
echo "Testing $server"
timeout 2 node "$server" 2>&1 | head -n 5
done
🚧 Hoja de Ruta
Próximamente
- Magic MCP: Integración de editor de layout
- OpenROAD MCP: Flujo completo de RTL a GDS
- ngspice MCP: Simulación de circuitos
- Icarus MCP: Simulador Verilog alternativo
Características Futuras
- Automatización de flujos de trabajo entre herramientas
- Síntesis y simulación en la nube
- Plantillas y asistentes de proyectos
- Integración CI/CD para hardware
🤝 Contribuciones
¡Damos la bienvenida a las contribuciones! Por favor:
- Haga un fork del repositorio
- Cree una rama de características (
git checkout -b feature/NewMCP) - Implemente su servidor MCP siguiendo los patrones existentes
- Agregue documentación completa
- Envíe una solicitud de extracción
Consulte CONTRIBUTING.md para obtener pautas detalladas.
📄 Licencia
Licencia MIT: consulte los directorios de proyectos individuales para conocer las licencias específicas.
🔗 Enlaces
- Sitio web de MCP4EDA
- Documentación del Protocolo de Contexto de Modelo
- Claude Desktop
- Repositorio de GitHub
🌟 Historial de Estrellas
Si encuentra útiles estas herramientas, ¡por favor dé una estrella al repositorio para ayudar a otros a descubrirlo!
Construido con ❤️ para la comunidad EDA