Skip to main content

Custom IC Design Environment for Professionals

Project description

Revolution EDA Schematic/Symbol/Layout Editors and Simulation and Analysis Environment

Introduction

Revolution EDA is a new generation of schematic and symbol editor targeting custom integrated circuit design with integrated simulation and plotting capabilities. Current version is 0.8.8.

Core Features

  1. Advanced Symbol Creation: Create symbols with both common symbol attributes and instance parameters. Instance parameters can be Python functions for dynamic parameter calculation.
  2. Automatic Symbol Generation: Generate symbols automatically from schematics and Verilog-A modules with support for circles, lines, rectangles, and arches.
  3. Verilog-A Integration: Clear separation between model and instance parameters for Verilog-A symbols.
  4. JSON-Based File Format: Human-readable JSON format allows easy inspection and editing with text editors.
  5. Configuration-Driven Netlisting: Config view support similar to commercial tools for choosing simulation views.
  6. Hierarchical Netlisting: Full hierarchical netlisting capability with Xyce simulator support, including bus and instance array netlisting.
  7. Python-Powered Labels: Labels support Python functions enabling professional PDK development.
  8. Layout Editor: Full-featured hierarchical layout editor with support for rectangles, polygons, paths, pins, labels, vias (single and array), and python-based parametric layout cells. Includes layer management (selectability and visibility management), rulers, and GDS import/export capabilities.
  9. Comprehensive Library Management: Familiar library browser for creating, renaming, copying, and deleting libraries, cells, and views.
  10. Library Registry: Built-in registry UI (Tools → Libraries) for downloading Revolution EDA-compatible design libraries directly from the GitHub library registry.
  11. Plugin Registry: GUI-based plugin installer (Tools → Plugins → Setup Plugins…) that downloads and installs plugins from the Revolution EDA plugin registry.
  12. PDK Registry: GUI for registering and switching PDKs without editing configuration files manually.
  13. AI Terminal: Natural-language design modification through Claude (Anthropic) and Gemini (Google) AI backends; API keys are stored in encrypted form.
  14. Integrated Python Console: Full Python REPL in the main window for automation and scripting against Revolution EDA's internal APIs.
  15. Stipple Pattern Editor: Built-in editor for creating custom layer fill stipple patterns.
  16. Persistent Configuration: Save and restore configuration parameters.
  17. Comprehensive Logging: Error, warning, and info message logging to reveda.log.

Plugin Architecture

Revolution EDA features a modular plugin architecture that enables extensible functionality. Plugins can add their own menus and actions to editor windows through a config.json declaration — no changes to the core codebase are required.

There are already several plugins available, including revedasim, revedaplot, and aiTerminal. Proprietary plugins can be distributed as pre-compiled binaries alongside open-source source plugins.

Simulation and Plotting

Revolution EDA Simulation and Analysis Environment (revedasim)

  • Xyce Simulator Integration: Full support for Xyce circuit simulator
  • Parameter Sweeps: Multi-dimensional parameter sweep capabilities
  • Analysis Types: Support for DC, AC, transient, noise, and harmonic balance analyses
  • Output Management: Flexible output signal selection and processing
  • Process Management: Efficient simulation job management

Revolution EDA Plotter (revedaplot)

  • Very Fast: Can handle very large datasets.
  • Imports both Raw and Ascii file output: Can uniformly handle raw and ascii file formats generated by Xyce and other circuit simulators.
  • Interactive Waveform Viewer: Advanced plotting with zoom, pan, and measurement tools
  • Multi-Plot Support: Combined and separate plot views
  • Parameter Sweep Visualization: Automatic plotting of parametric simulation results
  • Export Capabilities: High-quality plot export functionality

AI Terminal (aiTerminal)

  • Natural-Language Design Editing: Modify schematics, symbols, and layouts using conversational requests sent to an AI model.
  • Multiple AI Backends: Claude (Anthropic) and Gemini (Google) supported; OpenAI planned.
  • Secure API Key Storage: Keys encrypted with Fernet and stored under ~/.reveda/.
  • Automatic Backup & Undo: A backup is created before every AI modification; one-click restore via the undo command or Undo Changes button.
  • Read & Inspect: Run read to display the current design JSON directly in the terminal.

Installation

Prerequisites

  • Python 3.12, 3.13, or 3.14
  • Poetry if installing from source

From PyPI

pip install revolution-eda

After installation, start the program with:

reveda

From Source

# Clone the repository
git clone https://github.com/eskiyerli/revolution-eda.git
cd revolution-eda

# Install dependencies
poetry install

# Run the application
poetry run reveda

Binary Releases

Standalone binaries built with Nuitka are available on the GitHub Releases page and do not require a separate Python installation.

  • Windows: reveda.exe
  • Linux: reveda.bin (mark executable with chmod +x reveda.bin before running)

PDK Installation

To use the preliminary IHP PDK, clone the ihp_pdk repository:

git clone https://github.com/eskiyerli/ihp_pdk.git

Set the REVEDA_PDK_PATH variable in the .env file to the cloned directory. If both repositories are cloned side-by-side, the .env entry would be:

REVEDA_PDK_PATH=../ihp_pdk

PDKs can also be registered and switched through the PDK Registry dialog (Tools → PDKs → Setup PDKs…) without editing .env directly.

Example Libraries

Clone the exampleLibraries repository for a set of ideal elements and IHP sg13g2_pr library cells (including pcells for rsil, cap_cmim, and sg13_lv_nmos):

git clone https://github.com/eskiyerli/exampleLibraries.git

Use the Library Registry (Tools → Libraries) to download additional Revolution EDA-compatible libraries directly from within the application.

Documentation

Full documentation is available in the docs/ directory and covers:

Attribution

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

revolution_eda-0.8.10.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

revolution_eda-0.8.10-py3-none-any.whl (9.1 MB view details)

Uploaded Python 3

File details

Details for the file revolution_eda-0.8.10.tar.gz.

File metadata

  • Download URL: revolution_eda-0.8.10.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.3 Linux/6.19.10-1-MANJARO

File hashes

Hashes for revolution_eda-0.8.10.tar.gz
Algorithm Hash digest
SHA256 711e45dd3186808cf368dfdf7db764c523a19c527be71e4eb24cd7b713c51d1b
MD5 a9f74f548bd4d4e1d3c743f936a957e0
BLAKE2b-256 bb1e2a2a2ee1c0d6e442b172409e066824a1eb5fe759b9d3e98b91134c717827

See more details on using hashes here.

File details

Details for the file revolution_eda-0.8.10-py3-none-any.whl.

File metadata

  • Download URL: revolution_eda-0.8.10-py3-none-any.whl
  • Upload date:
  • Size: 9.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.3 Linux/6.19.10-1-MANJARO

File hashes

Hashes for revolution_eda-0.8.10-py3-none-any.whl
Algorithm Hash digest
SHA256 9c047d3fef56fb3640befa8700de228122bfeb081ee4bfb1ed77277f7513f02d
MD5 a42272a50c76cfe878da3ba5fe5d0afd
BLAKE2b-256 e4aba0a475ed2e63c34a76f9495d5b0c1c8277afa4f57065b3f2aa4d47ba71c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page