/install eda-spec2gds
eda-spec2gds Skill
⚠️ Security Notice: This skill includes optional system installation scripts (
scripts/install_ubuntu_24_mvp.sh,scripts/bootstrap_eda_demo.sh) that require sudo access and modify system state. These scripts should only be run in isolated development environments (VM, container, or dedicated workstation), not production systems. Core skill operations (RTL generation, file management, report collection) are file-based and safe.
Execute a staged, artifact-first open-source EDA flow within the workspace. Prefer deterministic scripts for execution, keeping the agent focused on planning, generation, diagnosis, and iteration.
Workflow
1. Normalize the Specification First
- Convert free-form requirements into a structured specification before writing RTL.
- Read
references/spec-template.mdand produceinput/normalized-spec.yaml. - If clock/reset, IO, target flow, or timing targets are missing, stop and ask the user or record explicit assumptions.
2. Initialize a Project Directory
- Create a run folder under
eda-runs/\x3Cdesign-name>/using the layout inreferences/workflow.md. - Copy or generate starter files from
assets/project-template/when useful.
3. Generate RTL and Testbench Separately
- Write RTL to
rtl/design.v. - Write testbench to
tb/testbench.v. - Keep assumptions and design notes in
reports/rtl-notes.md.
4. Run Validation in Strict Order
- Run lint/syntax checks before simulation.
- Run simulation before synthesis.
- Run synthesis before OpenLane.
- Do not skip failed stages unless the user explicitly requests it.
5. Treat Artifacts as Source of Truth
- Save logs, reports, VCD waveforms, netlists, configurations, and summary files.
- Prefer file outputs over GUI tools. GUI viewers like GTKWave/KLayout are optional helpers, not required steps.
6. Diagnose Before Editing
- For failures, read
references/failure-patterns.md. - Classify the failure: specification gap, RTL bug, testbench bug, synthesis issue, or backend/configuration issue.
- Fix the smallest plausible cause first.
7. Summarize Each Stage Clearly
- State pass/fail status.
- List key artifact paths.
- Record assumptions, blockers, and next recommended actions.
Hard Rules
- Do not start backend if simulation is failing.
- Do not start OpenLane if synthesis failed or the top module is unclear.
- Do not silently invent missing interfaces, clocks, resets, or timing targets without documenting assumptions.
- Prefer single-clock, no-macro, no-CDC MVP flows unless the user explicitly requests advanced features.
- Use the scripts in
scripts/for repeatable operations instead of re-inventing shell commands each time.
Default Project Layout
Use this layout unless the user already has an existing project structure:
eda-runs/\x3Cdesign-name>/
├── input/
│ ├── raw-spec.md
│ └── normalized-spec.yaml
├── rtl/
│ └── design.v
├── tb/
│ └── testbench.v
├── constraints/
│ └── config.json
├── lint/
│ └── lint.log
├── sim/
│ ├── compile.log
│ ├── sim.log
│ └── output.vcd
├── synth/
│ ├── synth.ys
│ ├── synth.log
│ ├── synth_output.v
│ └── stat.rpt
├── backend/
│ └── openlane_project/
├── reports/
│ ├── summary.md
│ ├── risks.md
│ ├── next-steps.md
│ └── ppa.json
└── metadata.json
Resource Map
- Read
references/spec-template.mdwhen the specification is incomplete or ambiguous. - Read
references/workflow.mdwhen you need the phase-by-phase execution order. - Read
references/openlane-playbook.mdbefore setting up or debugging OpenLane. - Read
references/failure-patterns.mdwhen a run fails and you need a triage path. - Read
references/ppa-report-guide.mdwhen summarizing synthesis/backend reports. - Read
references/ubuntu-24-setup.mdwhen preparing an Ubuntu host for this workflow. - Read
references/demo-walkthrough.mdwhen you want a concrete first-run example. - Read
references/dashboard-plan.mdwhen you want a web view for progress and artifacts. - Use scripts in
scripts/for initialization, spec normalization, environment checks, installation, lint, simulation, synthesis, OpenLane, backend result collection, GDS preview rendering, artifact web serving, report collection, and run summaries. - Use
assets/examples/simple-fifo/as the first smoke-test case. - Use
assets/openlane-config-template.jsonas the default backend configuration template.
Quick Start
Prerequisites
Before using this skill, ensure your environment has:
Required Tools:
python3(3.8+)yosys(synthesis)iverilog+vvp(simulation)docker(OpenLane backend)
Optional Tools:
verilator(faster simulation)klayout(GDS visualization)gtkwave(waveform viewing)
Option A: Environment Already Prepared
If your system already has the EDA toolchain installed:
- Initialize a run directory with
scripts/init_project.py \x3Cdesign-name>. - Save user requirements to
input/raw-spec.md. - Normalize them into
input/normalized-spec.yamlusingscripts/normalize_spec.pyalong withreferences/spec-template.md. - Write or copy
rtl/design.vandtb/testbench.v. - Run
scripts/check_env.shto verify tool availability. - Run
scripts/run_lint.sh, thenscripts/run_sim.sh, thenscripts/run_synth.sh. - Only after those pass, prepare
constraints/config.jsonand runscripts/run_openlane.sh. - Collect artifacts with
scripts/collect_reports.pyand summarize withscripts/summarize_run.py.
Option B: Fresh Environment Setup
⚠️ Run only in isolated/development environments!
- Review
scripts/install_ubuntu_24_mvp.shto understand system changes - Run the installation script (requires sudo):
bash scripts/install_ubuntu_24_mvp.sh - Re-login or run
newgrp dockerto apply Docker group changes - Pull OpenLane image:
docker pull efabless/openlane:latest - Verify installation:
scripts/check_env.sh - Proceed with Quick Start Option A
MVP Scope
Default to an MVP flow that supports:
- Single module or small design
- Single clock domain
- Simple reset behavior
- Generated or hand-authored Verilog RTL
- Testbench-driven simulation
- Yosys synthesis
- OpenLane backend run with template configuration
- Report collection and summary
Escalate to the user before attempting advanced topics like CDC, SRAM/macros, multi-clock constraints, DFT, or signoff-quality closure.
Security and Isolation
What This Skill Does
Safe, File-Based Operations (Core Skill):
- Generate RTL and testbench code
- Manage project directory structures
- Run local EDA tools (yosys, iverilog)
- Collect and summarize reports
- Serve local dashboards
System-Modifying Operations (Optional Setup Scripts Only):
- Install system packages via apt (
scripts/install_ubuntu_24_mvp.sh) - Modify Docker group membership (
usermod -aG docker) - Create Python virtual environments
- Pull Docker images from Docker Hub
Recommended Deployment
- ✅ Development workstation with sudo access
- ✅ Isolated VM (recommended for production evaluation)
- ✅ Docker-in-Docker container environments
- ⚠️ Shared production systems - review scripts first
- ❌ Unreviewed execution on critical infrastructure
Script Audit Checklist
Before running installation scripts:
- Review
scripts/install_ubuntu_24_mvp.shfor apt/pip/docker commands - Review
scripts/bootstrap_eda_demo.shfor demo setup steps - Understand that
usermod -aG dockergrants container escape potential - Verify network destinations (apt archives, PyPI, Docker Hub)
- Consider running in a disposable VM or container
See references/SECURITY.md for detailed security guidance.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install eda-spec2gds - After installation, invoke the skill by name or use
/eda-spec2gds - Provide required inputs per the skill's parameter spec and get structured output
What is EDA Spec2GDS?
Drive an open-source EDA workflow from spec to GDS using OpenClaw skills, workspace files, and CLI tools. Use when the user wants to turn a hardware spec int... It is an AI Agent Skill for Claude Code / OpenClaw, with 215 downloads so far.
How do I install EDA Spec2GDS?
Run "/install eda-spec2gds" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is EDA Spec2GDS free?
Yes, EDA Spec2GDS is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does EDA Spec2GDS support?
EDA Spec2GDS is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created EDA Spec2GDS?
It is built and maintained by Auther (@s906903912); the current version is v1.0.1.