Comparison · OpenECOS · OpenROAD · Vibe-IC · verified 2026-08-08
Two projects get named next to Vibe-IC most often: OpenECOS and OpenROAD. Only one of them is even in the same layer of the stack — and the other one is something we depend on and contribute back to. This page states what each project actually does, where the overlap is real, and where Vibe-IC is measurably behind. Everything here was checked against the projects' own repositories and READMEs on 2026-08-08.
The three projects
Stated in each project's own terms, from its own README — not in ours.
The OpenROAD Project · started June 2018 under the DARPA IDEA program · BSD-3-Clause
The reference open-source engine for the physical half of digital design: floorplanning, macro and cell placement, clock-tree synthesis, routing and finishing, driven through a Tcl/Python API. Its stated target is an autonomous, no-human-in-loop 24-hour RTL-to-GDSII turnaround. It is deliberately PDK-independent, and it is the engine underneath ORFS, OpenLane, SiliconCompiler, Hammer and OpenFASoC. Its README claims over 600 tapeouts on SKY130 and GF180.
github.com/The-OpenROAD-Project/OpenROADECOS Team, Institute of Computing Technology, Chinese Academy of Sciences · PDK by ICsprout IC Co. + Zhejiang University · Apache-2.0 (core repos)
A vertically integrated RTL-to-chip stack: ECOS Studio (a desktop IDE promising an “FPGA-like experience for ASIC design”), the ecc chip compiler (a Python CLI running Yosys → ECC-Tools → KLayout with rtl2gds / rcx / harden / syn_sta flows), ECC-Tools (an iEDA-derived netlist-to-GDS toolchain, MulanPSL-2.0), ecc-dreamplace, an IP catalog, and their own ICsprout55 open 55nm PDK. Their entry point is RTL; the differentiator is that they own the PDK and the shuttle.
github.com/openecos-projectsvibeic.ai · Claude Code plugin + MCP-EDA server · Apache-2.0 · first commit 2026-06-13
An AI-agent-driven flow that starts one layer above both of the others: natural-language intent → L1-L27 design documents → RTL → lint / simulation / formal / conformance → synthesis → PnR → DRC / LVS / STA / IR → GDS, with a separate analog A1-A9 and mixed-signal M1-M4 track. It does not implement a placer or a router; it drives OpenROAD, Yosys, OpenSTA, KLayout, Magic, Netgen, ngspice and others inside a forked toolchain image, and gates every step with deterministic checkers so a step cannot report PASS without an artifact.
github.com/vibeic/vibe-icLayering · the part that matters most
Vibe-IC runs OpenROAD. The digital PnR, CTS and routing results on this site are produced by OpenROAD inside the ghcr.io/vibeic/vibeic-eda image. We maintain a fork at github.com/vibeic/OpenROAD and push fixes into it — most recently PR #3, merged 2026-08-08, which restored LEF58_SPACING TONOTCHLENGTH: the value was parsed by odb and then silently discarded before it reached TritonRoute's constraint model, so a staged rule produced byte-identical routing to no rule at all. Presenting the engine we depend on as a defeated competitor would be both false and ungrateful. The honest question is which layer each project occupies.
A human describes a chip in plain language; a machine produces a complete, checkable design document set.
Authoring synthesizable HDL, plus lint, simulation, formal and spec-conformance.
Sequencing the engines, carrying configuration, deciding what runs next and whether it passed.
The actual algorithms: floorplan, place, CTS, route, optimize. This is where a project either writes a placer or calls one.
DRC, LVS, STA, IR-drop, parasitic extraction against a real deck.
Whose process, whose rules, whose shuttle. Nobody in this table manufactures anything themselves.
Read down the stack: the only layer where all three genuinely compete is flow orchestration. Above it, Vibe-IC is alone. Below it, we are a consumer — of OpenROAD's algorithms and of somebody else's silicon.
Side by side · every cell traceable to a public repository
An empty capability is written as “none”, not omitted — including ours. Star counts and commit counts are the projects' GitHub values on 2026-08-08 and will drift.
| Attribute | OpenROAD | OpenECOS | Vibe-IC |
|---|---|---|---|
| Layer | Physical-design engine | Flow + PDK + IP, vertically integrated | AI agent above the whole flow |
| Input you provide | A netlist / Verilog + LEF/LIB + a Tcl script | RTL + a project config (GUI or CLI) | A paragraph of plain language, or design documents |
| Output | DEF / GDSII | GDSII (+ RCX / STA reports) | Design docs + RTL + testbenches + GDSII + per-gate evidence |
| Generates RTL | No — out of scope | Partly catalog IP only; e.g. axi4-to-apb4-bridge declares “本 IP 的 RTL、验证环境及配套文档由 AI 生成”. The flow itself does not author RTL. |
Yes — the core function |
| AI / LLM in the flow | No LLM. ML used for modelling and prediction. | No — ecc and ECOS Studio are scripted / GUI | Yes — agent-driven end to end, deterministically gated |
| Functional verification | Out of scope | Not in the ecc flow | Lint, simulation, formal, coverage, spec-conformance, FPGA prototype |
| Analog / mixed-signal | No — digital only (OpenFASoC is a sibling project) | No — digital only | Analog A1-A9 and mixed-signal M1-M4 tracks |
| PDKs | PDK-independent; validated on SKY130, GF180, Nangate45, ASAP7 (plus NDA nodes) | One node — ICsprout55 (their own 55nm) | 3 open foundry PDKs (sky130A, GF180MCU, IHP-SG13G2) + 2 predictive enablements marked tapeout_capable=false + a commercial-PDK mechanism carrying no vendor name in the repo |
| Proven silicon | README claims over 600 tapeouts (SKY130, GF180) | retroSoC, a RISC-V SoC, fabricated at 100 MHz on the 55nm process; first ICS55 engineering shuttle scheduled Dec 2025 | None. No Vibe-IC design has been fabricated. |
| Open-benchmark scores | None published — not a code-generation tool | None published | VerilogEval-v2 153/156 · VerilogEval-Human 154/156 · RTLLM v2.0 49/50 · CVDP 243/302 blind, graded by each benchmark's official upstream testbench |
| Upstream contribution | Is the upstream | ECC-Tools is iEDA-derived (MulanPSL-2.0); ecc-dreamplace derives from DREAMPlace | A tracked fork set (OpenROAD, Yosys, Magic, Netgen, KLayout, ngspice, Icarus, Verilator, OpenSTA, cocotb, sby, ALIGN) with daily upstream sync, each fix carrying a reproducible FAIL→PASS proof |
| License | BSD-3-Clause | Apache-2.0 for the core repos; ECC-Tools is MulanPSL-2.0; several IP repos have no license set yet | Apache-2.0 |
| Age & scale | Since Oct 2019 · 42,723 commits · 2,951 stars · 980 forks | ECC-Tools since Jan 2026 · icsprout55-pdk 252 stars · ecos-studio 51 stars · ecc 16 stars | Since Jun 2026 · 16 stars · 6 forks |
Sources: each project's own README and GitHub API metadata, read on 2026-08-08. The Chinese sentence in the “Generates RTL” row is quoted verbatim from the openecos-projects/axi4-to-apb4-bridge README, which also discloses that the IP has no formal verification, no independent human review, no synthesis sign-off and no silicon validation — a disclosure we think deserves credit rather than a point scored against them.
The honest ledger · both columns, not one
This project's whole doctrine is that a certificate which cannot fail is worthless. A comparison page that only listed our advantages would be exactly that kind of certificate. So the deficits come first, and they are specific.
Our current standing · generated from landed evidence
A comparison page is easy to write and easy to leave standing after it stops being true. This block is not written by hand: it is regenerated from each benchmark run's own completion audit in the public repository, by the same generator that feeds the Evaluation page. If our position gets worse, this gets worse — on its own, without anyone deciding to update it.
| IC | PDK | State | Evidence |
|---|---|---|---|
| spm | IHP-SG13G2 | converged | PASS_WITH_WAIVERS · plugin v1.5.58 |
| spm | sky130A | converged | PASS_WITH_WAIVERS · plugin v1.10.18 |
| spm | GF180MCU | converged | PASS_WITH_WAIVERS · plugin v1.9.96 |
| sha256 | sky130A | in progress | no landed evidence yet |
| caravel_user_project | sky130A | landed, not converged | FAIL · plugin v1.9.43 |
| edge_llm_accel | NanGate45 | in progress | no landed evidence yet |
| edge_llm_matmul_accel | NanGate45 | in progress | no landed evidence yet |
| ibex | sky130A | in progress | no landed evidence yet |
| opentitan_aes | sky130A | in progress | no landed evidence yet |
| subservient | sky130A | in progress | no landed evidence yet |
| subservient | GF180MCU | in progress | no landed evidence yet |
| u_hawaii_adc | sky130A | converged | PASS · plugin v1.9.86 |
A cell counts as converged only when its landed evidence says so — the verdict is read from the run's own completion audit, not from a status table. Cells with no landed evidence show as in progress; they are never counted as passing and never removed from the denominator. Updated 2026-08-12 15:17 UTC+08:00.
Neither OpenROAD nor OpenECOS publishes an equivalent per-design convergence table, so this row of the comparison has no counterpart column — which is itself worth stating plainly rather than presenting as a win.
Every claim on this page points at a public repository. Read theirs, read ours, and if a cell here is wrong, the fastest way to correct it is an issue.
Related: the EDA fork ledger, where each upstream fix is tracked with its proof.