← Back to Skills Marketplace
s906903912

EDA Spec2GDS

by Auther · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
215
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install eda-spec2gds
Description
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...
README (SKILL.md)

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.md and produce input/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 in references/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.md when the specification is incomplete or ambiguous.
  • Read references/workflow.md when you need the phase-by-phase execution order.
  • Read references/openlane-playbook.md before setting up or debugging OpenLane.
  • Read references/failure-patterns.md when a run fails and you need a triage path.
  • Read references/ppa-report-guide.md when summarizing synthesis/backend reports.
  • Read references/ubuntu-24-setup.md when preparing an Ubuntu host for this workflow.
  • Read references/demo-walkthrough.md when you want a concrete first-run example.
  • Read references/dashboard-plan.md when 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.json as 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:

  1. Initialize a run directory with scripts/init_project.py \x3Cdesign-name>.
  2. Save user requirements to input/raw-spec.md.
  3. Normalize them into input/normalized-spec.yaml using scripts/normalize_spec.py along with references/spec-template.md.
  4. Write or copy rtl/design.v and tb/testbench.v.
  5. Run scripts/check_env.sh to verify tool availability.
  6. Run scripts/run_lint.sh, then scripts/run_sim.sh, then scripts/run_synth.sh.
  7. Only after those pass, prepare constraints/config.json and run scripts/run_openlane.sh.
  8. Collect artifacts with scripts/collect_reports.py and summarize with scripts/summarize_run.py.

Option B: Fresh Environment Setup

⚠️ Run only in isolated/development environments!

  1. Review scripts/install_ubuntu_24_mvp.sh to understand system changes
  2. Run the installation script (requires sudo): bash scripts/install_ubuntu_24_mvp.sh
  3. Re-login or run newgrp docker to apply Docker group changes
  4. Pull OpenLane image: docker pull efabless/openlane:latest
  5. Verify installation: scripts/check_env.sh
  6. 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:

  1. Review scripts/install_ubuntu_24_mvp.sh for apt/pip/docker commands
  2. Review scripts/bootstrap_eda_demo.sh for demo setup steps
  3. Understand that usermod -aG docker grants container escape potential
  4. Verify network destinations (apt archives, PyPI, Docker Hub)
  5. Consider running in a disposable VM or container

See references/SECURITY.md for detailed security guidance.

Usage Guidance
This skill appears to be what it claims: an artifact-first EDA flow with optional setup scripts. Before running any install/bootstrap scripts: 1) review scripts/install_ubuntu_24_mvp.sh and scripts/bootstrap_eda_demo.sh line-by-line; 2) run installs only in an isolated VM/container or a disposable workstation (do NOT run on production); 3) be aware the installer adds you to the docker group and enables the Docker daemon — membership in the docker group effectively grants root-equivalent capabilities; 4) pin and verify package versions and Docker image checksums where possible (consider changing 'efabless/openlane:latest' to a specific digest); 5) if you do not want system changes, skip the install scripts and run only the file-based parts of the skill on a host that already has the required tools; and 6) monitor disk/network use (Docker images and OpenLane runs consume GBs). If you want, I can extract and summarize the exact install steps or point out any specific lines that warrant manual review.
Capability Analysis
Type: OpenClaw Skill Name: eda-spec2gds Version: 1.0.1 The skill provides a comprehensive EDA (Electronic Design Automation) workflow but includes several high-risk system-level operations. Specifically, scripts/install_ubuntu_24_mvp.sh and scripts/bootstrap_eda_demo.sh require sudo privileges and add the user to the docker group, which is a known vector for root-level privilege escalation. Additionally, scripts/serve_multi_project_dashboard.py and scripts/serve_demo_artifacts.py launch unauthenticated web servers that bind to 0.0.0.0, potentially exposing the entire workspace to the network. While these capabilities are plausibly required for the stated purpose and are extensively documented in SKILL.md and references/SECURITY.md, they represent a significant attack surface.
Capability Assessment
Purpose & Capability
The name/description (spec → RTL → synthesis → OpenLane → GDS) aligns with the declared requirements: yosys, iverilog/vvp, docker, python3 and multiple scripts that implement the workflow. Declared permissions (sudo access for installs, docker_group) match the install script behavior. There are no unrelated credentials, binaries, or unexpected external services requested.
Instruction Scope
SKILL.md and the scripts focus on file-based EDA workflows and stepwise execution. The runtime instructions do include optional system-modifying steps (install_ubuntu_24_mvp.sh and bootstrap_eda_demo.sh) which perform package installs, start Docker, create a Python venv, and pull images. Those operations are within the skill's claimed scope but expand the agent's authority (need sudo, modify groups, network downloads). The documentation repeatedly warns to only run installs in an isolated environment.
Install Mechanism
There is no automatic install spec but the repository includes install scripts that run apt-get, pip install, and docker pull (Docker Hub). These use well-known package sources (apt, PyPI, Docker Hub) rather than arbitrary shorteners or personal servers, which is expected for this use case. Supply-chain risk remains (untrusted packages/images), so the scripts should be reviewed and images/pip pins verified before use.
Credentials
The skill requests no environment variables or secret credentials. The only environment/config changes are typical for toolchain setup: creating a Python venv (~$HOME/.venvs/openlane) and modifying docker group membership. The code does not attempt to read or exfiltrate secrets or access unrelated system config paths beyond typical install locations and the skill workspace.
Persistence & Privilege
The optional installation scripts enable and start the Docker daemon and add the user to the docker group (usermod -aG docker), which grants powerful privileges and is a common escalation vector. The scripts also modify system packages (/usr/bin, services) via sudo. These are expected for running OpenLane but are high-privilege actions — the skill documents and warns about them, but users should treat the install steps as potentially risky and run them only in isolated environments.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install eda-spec2gds
  3. After installation, invoke the skill by name or use /eda-spec2gds
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Security update: added metadata declarations, security warnings, and comprehensive SECURITY.md guide. Addresses ClawHub review feedback.
v1.0.0
English polish: improved documentation, workflow guides, and reference materials. Security reviewed - no sensitive info.
Metadata
Slug eda-spec2gds
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

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.

💬 Comments