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.9.0.

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 support for Xyce, Spectre, and VACASK simulators (the support for the last are work-in-progress), 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, GDS/OAS import/export, and initial Schematic Driven Layout (SDL) support.
  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), Gemini (Google), Mistral AI backends and experimental support for AWS Bedrock; 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. Constrained Move: Move items with orthogonal and diagonal constraints across all editors using Shift+M shortcuts.
  18. Plugin Licensing: Ed255-signature-based license validation for commercial plugins with machine-fingerprint activation and checkout workflow.
  19. 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 source-available plugins.

Simulation and Plotting

Revolution EDA Simulation and Analysis Environment (revedasim)

  • Multi-Simulator Netlisting: Full support for Xyce, Spectre, and VACASK circuit simulators
  • 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), Gemini (Google), and Mistral AI 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

pipx install revolution-eda

The current total of downloads in PyPi repository is:

PyPI Downloads

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:

License

Revolution EDA is licensed under the Mozilla Public License 2.0.

This is a free and open-source software license that allows you to:

  • Use the software for any purpose
  • Modify the source code
  • Distribute the software and your modifications
  • Sell products and services that incorporate Revolution EDA
  • Create commercial derivatives and rebranded versions

The MPL 2.0 is a weak copyleft license that requires:

  • Making source code modifications available under the same license
  • Preserving license notices in distributed copies
  • Not using the Revolution Semiconductor trademarks without permission

Plugin and PDK Licensing

While the main Revolution EDA application uses MPL 2.0, plugins, PDKs (Process Design Kits), and libraries may have their own separate licensing terms. Please check the individual license files for each component.

See LICENSE.txt for the full license text.

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.9.0.tar.gz (379.0 kB 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.9.0-py3-none-any.whl (432.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: revolution_eda-0.9.0.tar.gz
  • Upload date:
  • Size: 379.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.4 Windows/11

File hashes

Hashes for revolution_eda-0.9.0.tar.gz
Algorithm Hash digest
SHA256 599231162d995b113b6082a15936183cac04d704ccc6baeb986bcdda3f584821
MD5 1fa2688b9352d5b967311b7d7a6a806d
BLAKE2b-256 a76ddcf2fe60b0db1b43404b4313266c806c64fbacce06bb1f722248232a9043

See more details on using hashes here.

File details

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

File metadata

  • Download URL: revolution_eda-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 432.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.4 Windows/11

File hashes

Hashes for revolution_eda-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a46f60e1a6516a13e514d06a486c533366632b6de03820c528fd345032aa675
MD5 a5b7914d1cb216de1b4e1f2c95919b6e
BLAKE2b-256 a0e1803bdd71daefb5ded70af427b27a7871dd4c7b57c28258dde2324830ed7f

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