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
- Advanced Symbol Creation: Create symbols with both common symbol attributes and instance parameters. Instance parameters can be Python functions for dynamic parameter calculation.
- Automatic Symbol Generation: Generate symbols automatically from schematics and Verilog-A modules with support for circles, lines, rectangles, and arches.
- Verilog-A Integration: Clear separation between model and instance parameters for Verilog-A symbols.
- JSON-Based File Format: Human-readable JSON format allows easy inspection and editing with text editors.
- Configuration-Driven Netlisting: Config view support similar to commercial tools for choosing simulation views.
- Hierarchical Netlisting: Full hierarchical netlisting capability with Xyce simulator support, including bus and instance array netlisting.
- Python-Powered Labels: Labels support Python functions enabling professional PDK development.
- 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.
- Comprehensive Library Management: Familiar library browser for creating, renaming, copying, and deleting libraries, cells, and views.
- Library Registry: Built-in registry UI (
Tools → Libraries) for downloading Revolution EDA-compatible design libraries directly from the GitHub library registry. - Plugin Registry: GUI-based plugin installer (
Tools → Plugins → Setup Plugins…) that downloads and installs plugins from the Revolution EDA plugin registry. - PDK Registry: GUI for registering and switching PDKs without editing configuration files manually.
- AI Terminal: Natural-language design modification through Claude (Anthropic) and Gemini (Google) AI backends; API keys are stored in encrypted form.
- Integrated Python Console: Full Python REPL in the main window for automation and scripting against Revolution EDA's internal APIs.
- Stipple Pattern Editor: Built-in editor for creating custom layer fill stipple patterns.
- Persistent Configuration: Save and restore configuration parameters.
- 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
undocommand or Undo Changes button. - Read & Inspect: Run
readto 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:
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 withchmod +x reveda.binbefore 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:
- Installation
- Main Window
- Schematic Editor Tutorial
- Symbol Editor Tutorial
- Layout Editor Tutorial
- Config Editor
- AI Terminal
- Plugins
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
- Some icons by Yusuke Kamiyamane. Licensed under a Creative Commons Attribution 3.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68869306ac981897797414d43a3e1c2b4ab67e573e9b6cf483fd953fce2652a2
|
|
| MD5 |
68a56808492dceecd5ef314232e99803
|
|
| BLAKE2b-256 |
cbf6c2157a9c3305111093939cb4050bb7f1e834a99d984812b99798a8f3d2b2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3791c3c2545d25178c5537e11d137e46bb105e5e5efe4f6c7e4f32f2d0c10fa5
|
|
| MD5 |
091ea02a49fd483c8d1e2723646038d7
|
|
| BLAKE2b-256 |
55241983834740d697edcde686946e0675a47ab09288c8b8b3b0b9b177bb14a3
|