Highlights
Revolution EDA v0.9.0 is a major release bringing LVS integration, multi-simulator netlisting, an AI-assisted terminal, a complete plugin/library ecosystem overhaul, and a relicense to Mozilla Public License 2.0.
🆕 New Features
Schematic Driven Layout (SDL)
- Initial SDL implementation allowing layout generation guided by schematic connectivity.
LVS (Layout vs. Schematic) Integration
- Hierarchical LVS netlist extraction from both schematic and layout editors.
- KLayout LVSDB parser with mismatch detection and prioritized confirmed-match logic.
- LVS results dialog with dedicated tabs for extracted netlists, schematic netlists, device tables, and cell tables.
- Cross-probing: click an LVS error to highlight the offending instance in the schematic editor.
Multi-Simulator Netlisting
- Xyce netlist generation module.
- Spectre and VACASK netlist backends (They are work-in-progress).
- Hierarchical netlisting now supports buses and instance arrays.
- Verilog-A HDL line generation improvements (
createVaSymbol,createVerilogaLine).
AI Terminal
- Natural-language design modification via Claude, Gemini, and Mistral AI backends.
- API keys stored in encrypted form; models selectable per session.
Plugin & Library Registries
- Plugin Registry (
Tools → Plugins → Setup Plugins…) — GUI installer that downloads and installs plugins from the Revolution EDA plugin registry. - Library Registry (
Tools → Libraries) — download Revolution EDA-compatible design libraries directly from a GitHub-hosted registry. - Plugins are now fully external — the
plugins/directory has been removed from the main repository.
Plugin Licensing
- Ed25519-signature-based license validation for commercial plugins.
- Machine-fingerprint activation and checkout workflow.
- License checks integrated into
pluginsLoader; unlicensed plugins degrade gracefully.
PCell Preview
- Live preview of parametric layout cells before instantiation.
Constrained Move
- Move items under orthogonal and diagonal constraints across all editors (
Shift+M).
Net Stretch
- Stretch nets interactively in the schematic editor while maintaining connectivity.
Project Management
- Directory-based workflow with per-project
.env,library.json, andreveda.conf. - Switching projects triggers a clean application restart to reload PDK/plugin modules.
- Recent projects tracked and accessible from the File menu.
🔒 Security & Robustness
- Removed
eval()from JSON loading — replaced with safegetattr()to prevent code injection via malicious design files. - JSON schema validation added for symbol, schematic, and layout file formats; invalid files are rejected at load time.
- FileCache integrated in schematic scenes for faster and safer repeated file access.
⚡ Performance
- Editor loading speed improved (schematic, symbol, and layout editors).
- Layout polygon creation optimized.
- Shape handling and rendering performance enhancements.
🏗️ Architecture & Code Quality
- Type annotations added to common graphics shapes, editor scenes, data definitions, library model views, and JSON loading modules.
- Overhauled plugin and PDK loading — plugins/PDKs can now inject their own menu items via
config.jsonwithout modifying core source. - Threading refactored:
startThreadmoved to backend with proper signal handling and argument support. - Undo/redo and net handling refactored for clarity and reliability.
- Grid snapping improvements across schematic net handling.
📝 License Change
Revolution EDA is now licensed under the Mozilla Public License 2.0 (MPL-2.0), replacing the previous license. This enables broader community use while maintaining copyleft protections on individual files.
📚 Documentation
- New Symbol Tutorial with updated images.
- Commercial Plugin Development Guide.
- License Issuance Guide for plugin vendors.
- Linux build script and enhanced developer documentation.
- AGENTS.md for contributor orientation.
🐛 Notable Bug Fixes
- Fixed layout instantiation crash.
- Fixed nets not snapping to grid after event-filter changes.
- Fixed label export in GDS output.
- Fixed label properties dialog.
- Fixed threading issues in GDS import and circuit netlisting.
- Fixed plugin loading when no plugins are present.
- Fixed Shift/Ctrl selection behavior.
- Numerous net drawing and library browser bug fixes.
Installation
An installable file for Windows and an AppImage for Linux are provided. Windows version will install itself per user. AppImage version is not needed to be installed and can work with by just making executable and starting from the command line or by clicking on it in the file browser of your desktop environment.
After changing the configuration of a project, please reload it using File->Recent Projects menu so that the configuration changes are propagated correctly.
This release is slightly ahead of wheel in the Pypi repository