revolution-eda


Namerevolution-eda JSON
Version 0.8.4 PyPI version JSON
download
home_pagehttps://github.com/eskiyerli/revolution-eda
SummaryCustom IC Design Environment for Professionals
upload_time2025-10-27 11:18:10
maintainerNone
docs_urlNone
authorRevolution Semiconductor
requires_python<3.14,>=3.12
licenseMozilla Public License v2 modified by Commons Clause
keywords eda ic design semiconductor layout schematic
VCS
bugtrack_url
requirements PySide6 quantiphy python-dotenv numpy gdstk pyqtgraph polars pytest
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

## 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.
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 (selectibility and visibility
   management), and GDS import/export capabilities.
9. **Comprehensive Library Management**: Familiar library browser for creating, renaming,
   copying, and deleting libraries, cells, and views.
10. **Persistent Configuration**: Save and restore configuration parameters.
11. **Comprehensive Logging**: Error, warning, and info message logging.

## Plugin Architecture

Revolution EDA features a modular plugin architecture that enables extensible functionality. 
There are already two plugins available, *revedasim* and *revedaplot*. These plugins are not 
open-source, emphasizing the fact that Revolution EDA allows the independent Electronic 
Design Automation Software vendors a base they can build upon. Please inquire at Revolution 
EDA website

## Simulation and Plotting

There are already two plugins available developed by Revolution Semiconductor for Revolution 
EDA:

### 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


## Installation

### Prerequisites

- Python 3.12 or 3.13
- [Poetry](https://python-poetry.org/docs/#installation) dependency management tool if
  installing from source.

### From PyPI

```bash
pip install revolution-eda
```

After installation, start the program with:

```bash
reveda
```

### From Source

```bash
# 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
```

### PDK Installation

To use preliminerary IHP PDK, clone the ihp_pdk repository preferably to a directory:

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

If you would like to use preliminary IHP PDK, make sure that `REVEDA_PDK_PATH` variable in
`.env` file points to where it is downloaded. The `.env` file could be under package
directoryFor example, you had cloned the
repository
under
the same directory where `revolution-eda` repo is cloned, `.env` file content could be:

```
REVEDA_PDK_PATH=../ihp_pdk
```

You could also clone `example_libraries` repo to have some ideal elements and IHP sg13g2_pr
library. The second library also three layout parametric cells included for `rsil`, `cap_cmim`
and `sg13_lv_nmos`. There is no guarantee given that these parametric cells are error-free and
can be used with the relevant IHP process.

Once again, the user can clone the relevant repository to download the example libraries:

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

User Library Path Editor to add the paths to downloaded libraries to library browser.

## Attribution

- Some icons by [Yusuke Kamiyamane](http://p.yusukekamiyamane.com/). Licensed under
  a [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/eskiyerli/revolution-eda",
    "name": "revolution-eda",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.12",
    "maintainer_email": null,
    "keywords": "EDA, IC Design, Semiconductor, Layout, Schematic",
    "author": "Revolution Semiconductor",
    "author_email": "48187772+eskiyerli@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/3d/a9/aaadf5c81428becf5171c47c3bc922d67b8a5ee57c6c8cd4acf2e1f78560/revolution_eda-0.8.4.tar.gz",
    "platform": null,
    "description": "# Revolution EDA Schematic/Symbol/Layout Editors and Simulation and Analysis Environment\n\n## Introduction\n\nRevolution EDA is a new generation of schematic and symbol editor targeting custom integrated\ncircuit design with integrated simulation and plotting capabilities.\n\n## Core Features\n\n1. **Advanced Symbol Creation**: Create symbols with both common symbol attributes and instance\n   parameters. Instance parameters can be Python functions for dynamic parameter calculation.\n2. **Automatic Symbol Generation**: Generate symbols automatically from schematics and Verilog-A\n   modules with support for circles, lines, rectangles, and arches.\n3. **Verilog-A Integration**: Clear separation between model and instance parameters for\n   Verilog-A symbols.\n4. **JSON-Based File Format**: Human-readable JSON format allows easy inspection and editing\n   with text editors.\n5. **Configuration-Driven Netlisting**: Config view support similar to commercial tools for\n   choosing simulation views.\n6. **Hierarchical Netlisting**: Full hierarchical netlisting capability with Xyce simulator\n   support.\n7. **Python-Powered Labels**: Labels support Python functions enabling professional PDK\n   development.\n8. **Layout Editor**: Full-featured hierarchical layout editor with support for rectangles,\n   polygons, paths, pins, labels, vias (single and array) and python-based parametric \n   layout cells. Includes layer management (selectibility and visibility\n   management), and GDS import/export capabilities.\n9. **Comprehensive Library Management**: Familiar library browser for creating, renaming,\n   copying, and deleting libraries, cells, and views.\n10. **Persistent Configuration**: Save and restore configuration parameters.\n11. **Comprehensive Logging**: Error, warning, and info message logging.\n\n## Plugin Architecture\n\nRevolution EDA features a modular plugin architecture that enables extensible functionality. \nThere are already two plugins available, *revedasim* and *revedaplot*. These plugins are not \nopen-source, emphasizing the fact that Revolution EDA allows the independent Electronic \nDesign Automation Software vendors a base they can build upon. Please inquire at Revolution \nEDA website\n\n## Simulation and Plotting\n\nThere are already two plugins available developed by Revolution Semiconductor for Revolution \nEDA:\n\n### Revolution EDA Simulation and Analysis Environment (revedasim)\n\n- **Xyce Simulator Integration**: Full support for Xyce circuit simulator\n- **Parameter Sweeps**: Multi-dimensional parameter sweep capabilities\n- **Analysis Types**: Support for DC, AC, transient, noise, and harmonic balance analyses\n- **Output Management**: Flexible output signal selection and processing\n- **Process Management**: Efficient simulation job management\n\n### Revolution EDA Plotter (revedaplot)\n\n- **Very Fast**: Can handle very large datasets.\n- **Imports both Raw and Ascii file output**: Can uniformly handle raw and ascii file \n  formats generated by Xyce and other circuit simulators.\n- **Interactive Waveform Viewer**: Advanced plotting with zoom, pan, and measurement tools\n- **Multi-Plot Support**: Combined and separate plot views\n- **Parameter Sweep Visualization**: Automatic plotting of parametric simulation results\n- **Export Capabilities**: High-quality plot export functionality\n\n\n## Installation\n\n### Prerequisites\n\n- Python 3.12 or 3.13\n- [Poetry](https://python-poetry.org/docs/#installation) dependency management tool if\n  installing from source.\n\n### From PyPI\n\n```bash\npip install revolution-eda\n```\n\nAfter installation, start the program with:\n\n```bash\nreveda\n```\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/eskiyerli/revolution-eda.git\ncd revolution-eda\n\n# Install dependencies\npoetry install\n\n# Run the application\npoetry run reveda\n```\n\n### PDK Installation\n\nTo use preliminerary IHP PDK, clone the ihp_pdk repository preferably to a directory:\n\n```bash\ngit clone https://github.com/eskiyerli/ihp_pdk.git\n```\n\nIf you would like to use preliminary IHP PDK, make sure that `REVEDA_PDK_PATH` variable in\n`.env` file points to where it is downloaded. The `.env` file could be under package\ndirectoryFor example, you had cloned the\nrepository\nunder\nthe same directory where `revolution-eda` repo is cloned, `.env` file content could be:\n\n```\nREVEDA_PDK_PATH=../ihp_pdk\n```\n\nYou could also clone `example_libraries` repo to have some ideal elements and IHP sg13g2_pr\nlibrary. The second library also three layout parametric cells included for `rsil`, `cap_cmim`\nand `sg13_lv_nmos`. There is no guarantee given that these parametric cells are error-free and\ncan be used with the relevant IHP process.\n\nOnce again, the user can clone the relevant repository to download the example libraries:\n\n```bash\ngit clone https://github.com/eskiyerli/exampleLibraries.git\n```\n\nUser Library Path Editor to add the paths to downloaded libraries to library browser.\n\n## Attribution\n\n- Some icons by [Yusuke Kamiyamane](http://p.yusukekamiyamane.com/). Licensed under\n  a [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/).\n",
    "bugtrack_url": null,
    "license": "Mozilla Public License v2 modified by Commons Clause",
    "summary": "Custom IC Design Environment for Professionals",
    "version": "0.8.4",
    "project_urls": {
        "Documentation": "https://github.com/eskiyerli/revolution-eda/tree/master/docs",
        "Homepage": "https://github.com/eskiyerli/revolution-eda",
        "Repository": "https://github.com/eskiyerli/revolution-eda"
    },
    "split_keywords": [
        "eda",
        " ic design",
        " semiconductor",
        " layout",
        " schematic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "de25625fc8d386c9f3aa84e3eb06f3094e00bb612e326aa1e0eb5341a5aaec9e",
                "md5": "68875397bc281ab9b28e1b614cf7fb61",
                "sha256": "1bd09bdaa3213a33a2b03dbc1a1200c3e2ec05dd83d3631fc5ecdb7c225a21a5"
            },
            "downloads": -1,
            "filename": "revolution_eda-0.8.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "68875397bc281ab9b28e1b614cf7fb61",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.12",
            "size": 337301,
            "upload_time": "2025-10-27T11:18:08",
            "upload_time_iso_8601": "2025-10-27T11:18:08.453422Z",
            "url": "https://files.pythonhosted.org/packages/de/25/625fc8d386c9f3aa84e3eb06f3094e00bb612e326aa1e0eb5341a5aaec9e/revolution_eda-0.8.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3da9aaadf5c81428becf5171c47c3bc922d67b8a5ee57c6c8cd4acf2e1f78560",
                "md5": "d2e277e9308064d29ce87afbe6960042",
                "sha256": "d8004185845e6ab9df11b82e0413dd0f8be259954a5ae1b1e94dd55352a521bc"
            },
            "downloads": -1,
            "filename": "revolution_eda-0.8.4.tar.gz",
            "has_sig": false,
            "md5_digest": "d2e277e9308064d29ce87afbe6960042",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.12",
            "size": 281143,
            "upload_time": "2025-10-27T11:18:10",
            "upload_time_iso_8601": "2025-10-27T11:18:10.426025Z",
            "url": "https://files.pythonhosted.org/packages/3d/a9/aaadf5c81428becf5171c47c3bc922d67b8a5ee57c6c8cd4acf2e1f78560/revolution_eda-0.8.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-27 11:18:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eskiyerli",
    "github_project": "revolution-eda",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "PySide6",
            "specs": [
                [
                    "~=",
                    "6.9.2"
                ]
            ]
        },
        {
            "name": "quantiphy",
            "specs": [
                [
                    "~=",
                    "2.20"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "~=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "~=",
                    "2.3.1"
                ]
            ]
        },
        {
            "name": "gdstk",
            "specs": [
                [
                    "~=",
                    "0.9.60"
                ]
            ]
        },
        {
            "name": "pyqtgraph",
            "specs": [
                [
                    "~=",
                    "0.14.0.dev0"
                ]
            ]
        },
        {
            "name": "polars",
            "specs": [
                [
                    "~=",
                    "1.33.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "~=",
                    "8.4.1"
                ]
            ]
        }
    ],
    "lcname": "revolution-eda"
}
        
Elapsed time: 1.41109s