EDA MCP
Gerçek EDA araçları, mühendis onaylı kapılarla — EDA_MCP
Kurulum — tek satır
claude mcp add eda-mcp -- python3 /absolute/path/to/EDA_MCP/server.pyDepoyu klonlayın, `pip3 install -r requirements.txt` çalıştırın ve `config/*.template` dosyalarını kendi SSH oturumlarınıza göre doldurun. Sonra:
Akış
Kapalı döngü: şemadan son yerleşime
01
Şema ve PDK boyutlama
Cadence Virtuoso — schCheck (0 0)
Ajana; W/L değerleri mikron dizgeleri olarak verilen LP/GP aygıtlarla şema kurulur, CDF callback’leri işlenir ve şema, netlist öncesinde sıfır hata sıfır uyarı kuralına tabi tutulur.
02
Layout XL üretimi
Cadence Virtuoso Layout XL — GFS, VSR
Şema–yerleşim bağlantısı kurulu bir Layout XL oturumu açılır; Generate From Source aygıtları ve Metal 1 pinleri üretir, yerleşim 5 nm imalat ızgarasına yapışır.
03
Fiziksel doğrulama (DRC)
Siemens Calibre DRC — resmi katman haritası, temiz SVRF
GDSII, resmi PDK katman haritasını ve case-korumayı içeren bir akışla yazılır (`strmout`); özel SVRF deck’i çalışır ve raporlar tamamen temiz hedefiyle düzeltilir.
04
Şema–yerleşim eşdeğerliği (LVS)
Siemens Calibre LVS — 0 uyuşmazlık hedefi
Şema veritabanından ve fiziksel GDSII’den yapısal SPICE netlistleri çıkarılıp karşılaştırılır; başarı ölçütü sıfır uyuşmazlık, sıfır kısa devre, sıfır açık devre, sıfır cihaz parametresi farkıdır.
05
Parazitik çıkarımı (PEX)
Siemens Calibre xRC — `.pex.spi` desteği
Tüm metal ve via katmanlarında parazitik R ve C ağı hesaplanır; son yerleşim simülasyonunun girdisi olan detaylı subcircuit desteği üretilir.
06
Son yerleşim simülasyonu
Siemens Eldo — AC / DC / Tran / Güç
PEX desteği ön-yerleşim şemasıyla birlikte benzetilir; kazanç, bant genişliği, faz payı, slew, güç ve gürültü ölçütleri işleme haneleriyle karşılaştırılır. Eldo, `.extract` raporunu ayrıştırır.
Mimari
Yerel ajan, SSH tüneli, uzak küme
Yerel — geliştirici + AI ajan
Claude Code, Claude Desktop, Cursor, Windsurf, Antigravity
agent →
stdio · IDE plugin
mcp_config: eda-mcp
EDA_MCP — FastMCP sunucusu
server.py + 5 modül
Uzak Linux kümesi
Cadence Virtuoso · Siemens Eldo · Siemens Calibre · PDK
- Cadence Virtuoso — SKILL FIFO (MCP.command)
- Siemens Eldo — `eldo -inter` REPL
- Siemens Calibre — DRC / LVS / xRC PEX
- Git çalışma alanı — WorkBoard sync
- İşlem PDK’sı (README örneği: cmos065)
Araçlar
Beş modülün yetenek matrisi
| Modül | Eylemler | Ne işe yarar |
|---|---|---|
| workboard | initialize, add, pull, push, export, diff, status, history | Çalışma alanı eşzamanlayıcı ve sürüm denetimi: uzak Linux kümesindeki EDA dosyalarını `./workboard/<name>/` altındaki yerel Git deposunda izler; uzak dosyalar geri yazılmadan önce satır satır unified diff hesaplar. |
| virtuoso | assisted_run, run, start_standalone, run_standalone, exit, run_terminal_command | Cadence Virtuoso SKILL ve Layout XL denetimi: açık bir GUI oturumunda canlı SKILL çalıştırır (`assisted_run`) veya grafiksiz oturum kurar (`start_standalone`); Layout XL üretimini, PDK kurallarını ve `schCheck` `\(0 0\)` doğrulamasını yürütür. |
| eldo | start_interactive, run_interactive, run_script, visualize_waveforms, run_terminal_command | Siemens Eldo SPICE benzetim motoru: toplu `.cir` çalıştırmaları, interaktif SPICE REPL akışı, `.extract` ölçüt ayrıştırma ve ön/son yerleşim PEX destekleri için dalga görselleştirme. |
| remote_control | run_command, read_file, write_file | Durumlu csh alt kabuğu motoru: uçbirim komutları, Calibre DRC/LVS toplu betikleri, GDSII akışı (`strmout`) ve kalıcı ortam oturumlarında (`/cadence/cshrc`) uzak dosya incelemesi. |
| report_issue | report_issue | Özerk meta-harness raporlayıcı: yürütme günlükleri, ajan başlıkları ve oturum kimlikleri otomatik iliştirilmiş GitHub hata/özellik kaydı açan, ajanlar arası haber hattı. |
10 ms’nin altında SSH gecikmesi
- Koşullar
- Kalıcı OpenSSH ControlMaster soketleri ve akış dosya aktarımı ile el sıkışma yükünün giderilmesi; üst deponun kendi bileşeni.
- Kaynak
- EDA_MCP README — “Sub-10ms SSH Multiplexing Engine”
793 parazitik öğe (347 R, 446 C)
- Koşullar
- Tek 65 nm op-amp yerleşiminden Calibre xRC çıkarımı; bu sayı örnekleme özgüsüdür, genel bir yoğunluk vaadi değildir.
- Kaynak
- EDA_MCP README — “Parasitic Extraction”
Tek kesintisiz oturumda uçtan uca akış
- Koşullar
- Üst deponun Issue #53 CheckPoint kilometre taşı: çok aşamalı bloğun kurulması, yerleşim, kural düzeltmesi, LVS eşleşmesi, 700+ parazitik çıkarımı ve son yerleşim doğrulaması tek oturumda tamamlandı.
- Kaynak
- EDA_MCP README — “Verified Full-Flow Baseline” (Issue #53)
Şema tamamlama ölçütü: schCheck \(0 0\)
- Koşullar
- Tasarımcı bağlam sözleşmesi: ajans, şemanın temiz olduğunu ancak gözlenen sıfır hata sıfır uyarı sonucuyla iddia edebilir; kanıt, ekran çıktısıdır.
- Kaynak
- EDA_MCP context/designer — “execution contract”
Koruyucular
Hızlı olan bir akış, denetlenebilir olduğu için güvenilir
Git’e bağlı WorkBoard: push’tan önce diff
Uzak küme dosyaları yerel Git depolarında yansılanır; ajansın her geri yazması satır satır unified diff ile gözden geçirilir ve SHA-256 toplamalarıyla doğrulanır — bozulmuş bir dosya gitmiş olur, geri alma geçmişi de tam kalır.
Tasarımcı/kodcu çift-iz bağlam yönlendirici
Ajans niyetini sınıflandırır ve ancak o izin operasyonel spec’ini okur: şema, yerleşim ve benzetim niyetleri `context/designer/` altındaki kuralları; kod tabanı ve PR işleri `context/coder/` altındakileri alır. Araç yok düşünsün: şema yok, PDK yok.
Otomatik birleştirme yok
Katı NO-AUTOMERGE politikası: kodcu ajanlar asla main’e push etmez, PR açar ve durur; karar insan incelemesine bırakılır. Ajanlar arası akran inceleme, `agent-landline` haber hattıyla PR öncesi çalışır.
Komut bekçisi ve denetim günlüğü
Her kabuk komutu ve dosya yazımı çalışmadan önce bir kara listeyle, izin verilen dizin kontrolüyle ve kuru-deneme bayrağıyla sınanır; kabul edilen komutlar JSONL denetim günlüğüne yazılır.
Oturum kaydı
İLLÜSTRATİFBir oturum; kapıda duran bir adım
Bu oturum kurgusaldır: bir EDA_MCP oturumunun izleyeni temsil eder; üst depodan gerçek bir oturum kaydı değildir.
KAPI — karar gerekiyor
DRC raporu temiz değil. Ajans ne yapacak? İllüstratif oturum: iki yol da meşru — ve kapatılacak kapı gerçek mühendisin.
Demo
Depletion-load inverter — canlı yürütme
Başlarken
Gereksinimler ve istemci yapılandırması
Gereksinimler
- Python 3.10+
- OpenSSH istemcisi — yerel sistemde
- Cadence Virtuoso, Siemens Eldo ve Calibre kurulu uzak Linux
İstemci yapılandırma parçaları
Claude Code — Uçbirim — bir kez çalıştırın
claude mcp add eda-mcp -- python3 /absolute/path/to/EDA_MCP/server.pyClaude Desktop — `claude_desktop_config.json` içine
{
"mcpServers": {
"eda-mcp": {
"command": "python3",
"args": [
"/absolute/path/to/EDA_MCP/server.py"
]
}
}
}Cursor / Windsurf — Stdio MCP sunucu kaydı
Server Name : EDA_MCP
Command : python3
Args : /absolute/path/to/EDA_MCP/server.py~/.ssh/config — Kalıcı soket: README’nin kendi örneği
Host eda-uni
HostName eda.university.edu
User chip_designer
ControlMaster auto
ControlPath ~/.ssh/control-%r@%h:%p
ControlPersist 15mÜst proje
EDA_MCP, vs34 tarafından dağıtılan bir açık kaynak projesidir (MIT). SiliCad ekosisteminin içinde doğmuştur.
https://github.com/vs34/EDA_MCP · MIT Lisansı
Ticari markalar
Cadence, Virtuoso ve SKILL Cadence Design Systems’ın; Siemens, Eldo ve Calibre Siemens’in ticari markalarıdır. EDA_MCP bu araçlarla birlikte çalışır; hiçbir marka sahibiyle ilişki veya onay ima etmez.
PDK verileri
README’de kullanılan PDK örneği (cmos065) dökümhane malıdır ve genellikle NDA altındadır. Bu sayfada PDK dosyası, katman haritası, kural deck’i veya PDK özgü geometri gösteren yerleşim görüntüsü yayımlanmaz; çizimler jeneriktir.