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

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 source-available 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

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 source-available software, licensed under the Mozilla Public License 2.0 as modified by the Commons Clause condition.

You may use, modify, and distribute the source code freely except that you may not sell a product or service whose value derives substantially from the functionality of this software. This prohibition covers, without limitation:

  • Paid hosting or cloud/internet-delivered services built around Revolution EDA
  • Resale of the software itself or a rebranded derivative

The following activities are explicitly permitted and are not restricted:

  • Consulting, training, integration, or support engagements where the Software is a tool used in delivering services, not the product being sold

Note: Revolution EDA is not "open source" as defined by the OSI or FSF because of the Commons Clause restriction.

Commercial Licensing

If your use case falls within the restrictions above and you require a commercial license, please contact Revolution Semiconductor at info@reveda.eu to discuss terms.

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.8.11.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.11-py3-none-any.whl (9.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: revolution_eda-0.8.11.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.4 Linux/7.0.2-1-MANJARO

File hashes

Hashes for revolution_eda-0.8.11.tar.gz
Algorithm Hash digest
SHA256 68869306ac981897797414d43a3e1c2b4ab67e573e9b6cf483fd953fce2652a2
MD5 68a56808492dceecd5ef314232e99803
BLAKE2b-256 cbf6c2157a9c3305111093939cb4050bb7f1e834a99d984812b99798a8f3d2b2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for revolution_eda-0.8.11-py3-none-any.whl
Algorithm Hash digest
SHA256 3791c3c2545d25178c5537e11d137e46bb105e5e5efe4f6c7e4f32f2d0c10fa5
MD5 091ea02a49fd483c8d1e2723646038d7
BLAKE2b-256 55241983834740d697edcde686946e0675a47ab09288c8b8b3b0b9b177bb14a3

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