← 返回 Skills 市场
s906903912

EDA Spec2GDS

作者 Auther · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
215
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install 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...
使用说明 (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.

安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install eda-spec2gds
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /eda-spec2gds 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
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.
元数据
Slug eda-spec2gds
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 215 次。

如何安装 EDA Spec2GDS?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install eda-spec2gds」即可一键安装,无需额外配置。

EDA Spec2GDS 是免费的吗?

是的,EDA Spec2GDS 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

EDA Spec2GDS 支持哪些平台?

EDA Spec2GDS 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 EDA Spec2GDS?

由 Auther(@s906903912)开发并维护,当前版本 v1.0.1。

💬 留言讨论