diff options
author | 092vk | 2025-06-06 17:10:15 +0530 |
---|---|---|
committer | 092vk | 2025-06-06 17:10:15 +0530 |
commit | 4da91862cd6c755640d767c3027282d9df0032ef (patch) | |
tree | 695eb5ec4cd03363f955eecde1b33312428314c1 | |
parent | de13d725c1ffd3e0754b22c0070c0a8be8b829e3 (diff) | |
download | eSim-4da91862cd6c755640d767c3027282d9df0032ef.tar.gz eSim-4da91862cd6c755640d767c3027282d9df0032ef.tar.bz2 eSim-4da91862cd6c755640d767c3027282d9df0032ef.zip |
further developed the devDocs
66 files changed, 662 insertions, 17 deletions
diff --git a/code/_static/TerminalUI.png b/code/_static/TerminalUI.png Binary files differnew file mode 100644 index 00000000..f8d2bdab --- /dev/null +++ b/code/_static/TerminalUI.png diff --git a/code/_static/anylasis.png b/code/_static/anylasis.png Binary files differnew file mode 100644 index 00000000..a130cc98 --- /dev/null +++ b/code/_static/anylasis.png diff --git a/code/_static/custom.css b/code/_static/custom.css new file mode 100644 index 00000000..9d5ab063 --- /dev/null +++ b/code/_static/custom.css @@ -0,0 +1,3 @@ +.wy-side-nav-search{ + padding-top: 50px; +} diff --git a/code/_static/helpButton.png b/code/_static/helpButton.png Binary files differnew file mode 100644 index 00000000..053ca168 --- /dev/null +++ b/code/_static/helpButton.png diff --git a/code/_static/history.png b/code/_static/history.png Binary files differnew file mode 100644 index 00000000..34595ecb --- /dev/null +++ b/code/_static/history.png diff --git a/code/_static/logo.png b/code/_static/logo.png Binary files differnew file mode 100644 index 00000000..48d4c656 --- /dev/null +++ b/code/_static/logo.png diff --git a/code/_static/projectExplorer.png b/code/_static/projectExplorer.png Binary files differnew file mode 100644 index 00000000..81c17b4d --- /dev/null +++ b/code/_static/projectExplorer.png diff --git a/code/_static/pythonPlot.png b/code/_static/pythonPlot.png Binary files differnew file mode 100644 index 00000000..f45cf6ae --- /dev/null +++ b/code/_static/pythonPlot.png diff --git a/code/_static/welcome.png b/code/_static/welcome.png Binary files differnew file mode 100644 index 00000000..a81a6f15 --- /dev/null +++ b/code/_static/welcome.png diff --git a/code/_static/workspace.png b/code/_static/workspace.png Binary files differnew file mode 100644 index 00000000..722d36df --- /dev/null +++ b/code/_static/workspace.png diff --git a/code/_templates/layout.html b/code/_templates/layout.html new file mode 100644 index 00000000..63a2dba6 --- /dev/null +++ b/code/_templates/layout.html @@ -0,0 +1,13 @@ +{% extends "!layout.html" %} + +{% block sidebartitle %} + <div style="width: 50%; padding: 0; margin: 0; margin-left: 69px;"> + <img src="{{ pathto('_static/logo.png', 1) }}" + alt="My Logo" + style="width: 100%; height: auto; display: block;" /> + <div class="verison" style="color: #111; font-weight: bold; margin-bottom: 20px;"> + eSim 2.4 + </div> + </div> + {{ super() }} +{% endblock %}
\ No newline at end of file diff --git a/code/browser/UserManual.rst b/code/browser/UserManual.rst index 2595bfe6..3e9bfed5 100644 --- a/code/browser/UserManual.rst +++ b/code/browser/UserManual.rst @@ -1,6 +1,13 @@ User Manual Component ===================== +.. note:: + + Source : ``/src/browser/UserManual.py`` .. automodule:: browser.UserManual :members: +.. image:: ../_static/helpButton.png + :alt: Screenshot of the Welcome page + :align: left + :scale: 100% diff --git a/code/browser/Welcome.rst b/code/browser/Welcome.rst index e2af55d4..d423df9a 100644 --- a/code/browser/Welcome.rst +++ b/code/browser/Welcome.rst @@ -1,5 +1,14 @@ Welcome Component ================= +.. note:: + + Source : ``/src/browser/Welcome.py`` + .. automodule:: browser.Welcome :members: + +.. image:: ../_static/welcome.png + :alt: Screenshot of the Welcome page + :align: center + :scale: 50% diff --git a/code/configuration/Appconfig.rst b/code/configuration/Appconfig.rst index 5a08b073..9b75ef24 100644 --- a/code/configuration/Appconfig.rst +++ b/code/configuration/Appconfig.rst @@ -1,5 +1,17 @@ Configuration Component ======================= +This is the configuration file : + +1. Stores default values, such as workspace path, project/subcircuit info, and configuration paths. +2. Loads configuration files (like config.ini). +3. Reads from workspace.txt to determine the current workspace. +4. Provides helper functions to log messages (info, warning, error). +5. Tracks spawned processes and UI elements like dock widgets. + +.. note:: + + Source : ``/src/configuration/Appconfig.py`` + .. automodule:: configuration.Appconfig :members: diff --git a/code/converter.rst b/code/converter.rst new file mode 100644 index 00000000..68849079 --- /dev/null +++ b/code/converter.rst @@ -0,0 +1,12 @@ +Converter Component +======================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + converter/browserSchematic + converter/libConverter + converter/LtspiceLibConverter + converter/ltspiceToKicad + converter/pspiceToKicad diff --git a/code/converter/LtspiceLibConverter.rst b/code/converter/LtspiceLibConverter.rst new file mode 100644 index 00000000..2cb0397b --- /dev/null +++ b/code/converter/LtspiceLibConverter.rst @@ -0,0 +1,18 @@ +LTspice Library Converter +========================= + +This module enables conversion of LTspice library files for use within eSim. + +**Features:** +- Parses and converts `.lib` and `.sub` files from LTspice. +- Handles symbol and model translation for compatibility. + +**Usage:** +Use the provided interface or scripts to import LTspice libraries into your eSim projects. + +.. note:: + + Source : ``src/converter/LtspiceLibConverter.py`` + +.. automodule:: converter.LtspiceLibConverter + :members:
\ No newline at end of file diff --git a/code/converter/browserSchematic.rst b/code/converter/browserSchematic.rst new file mode 100644 index 00000000..cbc5b1bb --- /dev/null +++ b/code/converter/browserSchematic.rst @@ -0,0 +1,18 @@ +Browse Schematics +================= + +This module provides a graphical interface for selecting and loading schematic files in eSim. + +.. note:: + Source : ``src/converter/browseSchematics.py`` + +.. automodule:: converter.browseSchematics + :members: + +**Features:** +- Allows users to browse and select supported schematic files (`.sch`, `.asc`, `.slb`, `.asy`). +- Integrates with the eSim converter tools for further processing. + +**Usage:** +Use the file browser dialog to select your schematic file. Supported file types are filtered for convenience. + diff --git a/code/converter/libConverter.rst b/code/converter/libConverter.rst new file mode 100644 index 00000000..695ad105 --- /dev/null +++ b/code/converter/libConverter.rst @@ -0,0 +1,18 @@ +Library Converter +================= + +This module provides tools to convert component libraries between different formats supported by eSim. + +**Features:** +- Converts libraries from various EDA tools to eSim-compatible formats. +- Supports batch conversion and custom mapping. + +**Usage:** +Refer to the command-line or GUI instructions for converting your library files. + +.. note:: + + Source : ``src/converter/libConverter.py`` + +.. automodule:: converter.libConverter + :members:
\ No newline at end of file diff --git a/code/converter/ltspiceToKicad.rst b/code/converter/ltspiceToKicad.rst new file mode 100644 index 00000000..400c7eb7 --- /dev/null +++ b/code/converter/ltspiceToKicad.rst @@ -0,0 +1,18 @@ +LTspice to KiCad Converter +========================== + +This module provides functionality to convert LTspice schematic and library files to KiCad-compatible formats. + +**Features:** +- Converts LTspice `.asc` and `.lib` files to KiCad schematic and symbol formats. +- Supports symbol mapping and netlist translation. + +**Usage:** +Use the provided scripts or GUI to select your LTspice files and convert them for use in KiCad. + +.. note:: + + Source : ``src/converter/ltspiceToKicad.py`` + +.. automodule:: converter.ltspiceToKicad + :members:
\ No newline at end of file diff --git a/code/converter/pspiceToKicad.rst b/code/converter/pspiceToKicad.rst new file mode 100644 index 00000000..f942371f --- /dev/null +++ b/code/converter/pspiceToKicad.rst @@ -0,0 +1,18 @@ +PSpice to KiCad Converter +========================= + +This module provides functionality to convert PSpice schematic and library files to KiCad-compatible formats. + +**Features:** +- Converts PSpice `.sch` and `.lib` files to KiCad schematic and symbol formats. +- Supports symbol mapping and netlist translation. + +**Usage:** +Use the provided scripts or GUI to select your PSpice files and convert them for use in KiCad. + +.. note:: + + Source : ``src/converter/pspiceToKicad.py`` + +.. automodule:: converter.pspiceToKicad + :members:
\ No newline at end of file diff --git a/code/frontEnd.rst b/code/frontEnd.rst index 69cfb06f..0fa2d7a8 100644 --- a/code/frontEnd.rst +++ b/code/frontEnd.rst @@ -9,4 +9,4 @@ Front-End Component frontEnd/DockArea frontEnd/ProjectExplorer frontEnd/Workspace - + frontEnd/TerminalUI diff --git a/code/frontEnd/Application.rst b/code/frontEnd/Application.rst index 4eb41d17..46516da4 100644 --- a/code/frontEnd/Application.rst +++ b/code/frontEnd/Application.rst @@ -1,5 +1,11 @@ Application Component -===================== +======================= + +.. note:: + + Source : ``/src/frontEnd/Application.py`` + +It contains all the methods responsible for navigation of top and left navbar icons .. automodule:: frontEnd.Application :members: diff --git a/code/frontEnd/DockArea.rst b/code/frontEnd/DockArea.rst index 31fdd742..b450860c 100644 --- a/code/frontEnd/DockArea.rst +++ b/code/frontEnd/DockArea.rst @@ -1,5 +1,9 @@ Dock Area Component =================== +.. note:: + + Source : ``/src/frontEnd/DockArea.py`` + .. automodule:: frontEnd.DockArea :members: diff --git a/code/frontEnd/ProjectExplorer.rst b/code/frontEnd/ProjectExplorer.rst index 33dec0c0..5d69a676 100644 --- a/code/frontEnd/ProjectExplorer.rst +++ b/code/frontEnd/ProjectExplorer.rst @@ -1,5 +1,14 @@ Project Explorer Component ========================== +.. image:: ../_static/projectExplorer.png + :alt: Screenshot of the Welcome page + :align: left + :scale: 80% + +.. note:: + + Source : ``/src/frontEnd/projectExplorer.py`` + .. automodule:: frontEnd.ProjectExplorer :members: diff --git a/code/frontEnd/TerminalUI.rst b/code/frontEnd/TerminalUI.rst new file mode 100644 index 00000000..5fb472b1 --- /dev/null +++ b/code/frontEnd/TerminalUI.rst @@ -0,0 +1,25 @@ +TerminalUI Component +==================== + +The TerminalUI component provides a graphical interface for monitoring and controlling ngspice simulations within eSim. It features a progress bar, a simulation log console, and buttons for toggling light/dark mode, cancelling, and re-running simulations. + +.. image:: ../_static/TerminalUI.png + :alt: Terminal UI + :align: center + :scale: 60% + +**Features:** +- Displays real-time simulation logs and progress. +- Allows users to cancel or redo simulations. +- Supports toggling between light and dark modes for better visibility. +- Integrates with ngspice using PyQt5's QProcess for process management. + +**Usage:** +The TerminalUI is automatically launched during simulation runs. Users can interact with the simulation process using the provided buttons and view logs in the console area. + +.. note:: + + Source : ``src/frontEnd/TerminalUi.py`` + +.. automodule:: frontEnd.TerminalUi + :members:
\ No newline at end of file diff --git a/code/frontEnd/Workspace.rst b/code/frontEnd/Workspace.rst index 8722c745..8c3c2efb 100644 --- a/code/frontEnd/Workspace.rst +++ b/code/frontEnd/Workspace.rst @@ -1,5 +1,14 @@ Workspace Component =================== +.. image:: ../_static/workspace.png + :alt: Workspace + :align: left + :scale: 80% + +.. note:: + + Source : ``/src/frontEnd/Workspace.py`` + .. automodule:: frontEnd.Workspace - :members: + :members: diff --git a/code/history.rst b/code/history.rst new file mode 100644 index 00000000..155368b1 --- /dev/null +++ b/code/history.rst @@ -0,0 +1,34 @@ +History and Evolution of eSim +================================ + +eSim is an open-source Electronic Design Automation (EDA) tool developed by FOSSEE, IIT Bombay, with the goal of making circuit design and simulation accessible to students, educators, and professionals across the globe. + +Origins and Motivation +-------------------------- +eSim was conceived to provide a free and open-source alternative to proprietary EDA tools, enabling academic institutions and individuals to teach, learn, and innovate without licensing barriers. The project began as an initiative to localize and enhance the capabilities of existing open-source tools, integrating them into a unified platform. + +.. image:: ../../_static/history.png + :alt: History timeline + :align: center + :scale: 50% + +Major Milestones +-------------------- +- **2012-2014:** Project inception and initial development, focusing on schematic capture and simulation, the project was then known as Osdag initially and later in 2015 renamed as eSim. +- **2016:** First public release, featuring a user-friendly interface and support for basic analog simulation using kicad and ngspice. +- **2018:** Introduction of advanced features such as digital simulation, model generation, and library converters along with mixed-signal simulation support using NGHDL. +- **2020-2021:** Enhanced interoperability with popular EDA tools like LTspice and PSpice, interface with makerchip and improved documentation. +- **2022:** Launch of the Maker module, enabling project management, digital design, and Modelica integration. +- **2024:** Ongoing improvements, community contributions, and support for new simulation engines and workflows. + +Community and Impact +-------------------------- +eSim has grown into a vibrant community-driven project, with contributions from students, educators, and industry professionals. It is widely adopted in academic curricula and has empowered thousands of users to design and simulate electronic circuits efficiently. + +Looking Ahead +----------------- +The eSim project continues to evolve, with a focus on expanding features, enhancing usability, and fostering collaboration. The development team welcomes feedback, contributions, and new ideas from the global electronics community. + +For more information, visit the `eSim website <https://esim.fossee.in/>`_ or join the discussion on the community forums. + + diff --git a/code/installation.rst b/code/installation.rst new file mode 100644 index 00000000..362bbe67 --- /dev/null +++ b/code/installation.rst @@ -0,0 +1,77 @@ +Installation +=========================== + +This guide will help you install eSim on both Ubuntu (Linux) and Microsoft Windows operating systems. + +**Table of Contents** + +1. `eSim installation on Ubuntu OS (Linux) <#ubuntu-installation>`_ +2. `eSim installation on Microsoft Windows OS <#windows-installation>`_ +3. `Support <#support>`_ + +.. _ubuntu-installation: + +eSim Installation on Ubuntu OS (Linux) +----------------------------------------- + +**Step 1:** After downloading eSim, extract it using: + + ``$ unzip eSim-2.4.zip`` + +**Step 2:** Change directories into the top-level eSim directory (where this INSTALL file can be found). + +**Step 3:** To install eSim and its dependencies, run: + + ``$ chmod +x install-eSim.sh`` + + ``$ ./install-eSim.sh --install`` + +**Step 4:** To uninstall eSim and all of its components, run: + + ``$ ./install-eSim.sh --uninstall`` + + +**How to Run eSim** + +**A. Through Terminal** + + ``$ esim`` + +**B. Double-click the eSim desktop icon** + +.. _windows-installation: + +eSim Installation on Microsoft Windows OS +-------------------------------------------- + +**Step 1:** Download eSim for Windows from https://esim.fossee.in/. +*Disable your antivirus (if any) before proceeding.* + +**Step 2:** If MinGW and/or MSYS is already installed on your machine, remove it from the PATH environment variable as it may interfere with eSim. + +**Step 3:** Double-click the eSim installer and follow the instructions to install eSim. + +**Step 4:** After installation, download and add the following file to the eSim home directory (`FOSSEE\eSim\`): + + https://github.com/FOSSEE/eSim/blob/master/src/frontEnd/TerminalUi.ui#L6 + +**Step 5:** Download and add the following executable to the `nghdl` folder (`FOSSEE\eSim\nghdl\src`): + + https://drive.google.com/file/d/17MNCCq9cG6A7fnIH-4KMUMY-yb4rW9s4/view?usp=sharing + +**Step 6:** Installation is now complete. + +**Step 7:** To uninstall eSim and all of its components, run the uninstaller `uninst-eSim.exe` located in the top-level eSim directory. + +.. _support: + +Support +--------- + +If you encounter any issues or errors during installation, please report them at: +https://github.com/FOSSEE/eSim + +For any queries regarding eSim, please write to us at +`contact-esim@fossee.in <mailto:contact-esim@fossee.in>`_ + +--- diff --git a/code/kicadtoNgspice.rst b/code/kicadtoNgspice.rst index f5cdab7f..2fffd3b9 100644 --- a/code/kicadtoNgspice.rst +++ b/code/kicadtoNgspice.rst @@ -1,5 +1,5 @@ -kicadtoNgspice Component -======================== +KiCad to NgSpice Component +============================ .. toctree:: :maxdepth: 2 diff --git a/code/kicadtoNgspice/Analysis.rst b/code/kicadtoNgspice/Analysis.rst index 4c41a8d9..780bee1a 100644 --- a/code/kicadtoNgspice/Analysis.rst +++ b/code/kicadtoNgspice/Analysis.rst @@ -1,5 +1,14 @@ Analysis Component ================== +.. image:: ../_static/anylasis.png + :alt: Terminal UI + :align: center + :scale: 60% + +.. note:: + + Source : ``/src/kicadtoNgspice/Analysis.py`` + .. automodule:: kicadtoNgspice.Analysis :members: diff --git a/code/kicadtoNgspice/Convert.rst b/code/kicadtoNgspice/Convert.rst index 0ed795a6..6829c472 100644 --- a/code/kicadtoNgspice/Convert.rst +++ b/code/kicadtoNgspice/Convert.rst @@ -1,5 +1,9 @@ Convert Component ================= +.. note:: + + Source : ``/src/kicadtoNgspice/Convert.py`` + .. automodule:: kicadtoNgspice.Convert :members: diff --git a/code/kicadtoNgspice/DeviceModel.rst b/code/kicadtoNgspice/DeviceModel.rst index b59c3ee2..0a0b7d94 100644 --- a/code/kicadtoNgspice/DeviceModel.rst +++ b/code/kicadtoNgspice/DeviceModel.rst @@ -1,5 +1,9 @@ Device Model Component ====================== +.. note:: + + Source : ``/src/kicadtoNgspice/DeviceModel.py`` + .. automodule:: kicadtoNgspice.DeviceModel :members: diff --git a/code/kicadtoNgspice/KicadtoNgspice.rst b/code/kicadtoNgspice/KicadtoNgspice.rst index 23115483..8f8d19c2 100644 --- a/code/kicadtoNgspice/KicadtoNgspice.rst +++ b/code/kicadtoNgspice/KicadtoNgspice.rst @@ -1,5 +1,10 @@ KicadtoNgspice component ======================== +.. note:: + + Source : ``/src/kicadtoNgspice/KicadtoNgspice.py`` + .. automodule:: kicadtoNgspice.KicadtoNgspice :members: + diff --git a/code/kicadtoNgspice/Model.rst b/code/kicadtoNgspice/Model.rst index 122c7d21..217386d7 100644 --- a/code/kicadtoNgspice/Model.rst +++ b/code/kicadtoNgspice/Model.rst @@ -1,5 +1,9 @@ Model Component =============== +.. note:: + + Source : ``/src/kicadtoNgspice/Model.py`` + .. automodule:: kicadtoNgspice.Model :members: diff --git a/code/kicadtoNgspice/Processing.rst b/code/kicadtoNgspice/Processing.rst index 1c6fc092..3eadadc0 100644 --- a/code/kicadtoNgspice/Processing.rst +++ b/code/kicadtoNgspice/Processing.rst @@ -1,5 +1,9 @@ Processing Component ==================== +.. note:: + + Source : ``/src/kicadtoNgspice/Processing.py`` + .. automodule:: kicadtoNgspice.Processing :members: diff --git a/code/kicadtoNgspice/Source.rst b/code/kicadtoNgspice/Source.rst index 875c5ff8..c8115a90 100644 --- a/code/kicadtoNgspice/Source.rst +++ b/code/kicadtoNgspice/Source.rst @@ -1,5 +1,9 @@ Source Component ================ +.. note:: + + Source : ``/src/kicadtoNgspice/Source.py`` + .. automodule:: kicadtoNgspice.Source :members: diff --git a/code/kicadtoNgspice/SubcircuitTab.rst b/code/kicadtoNgspice/SubcircuitTab.rst index eb301dcb..a82ae151 100644 --- a/code/kicadtoNgspice/SubcircuitTab.rst +++ b/code/kicadtoNgspice/SubcircuitTab.rst @@ -1,6 +1,9 @@ Subcircuit Tab component ======================== +.. note:: + + Source : ``/src/kicadtoNgspice/SubcircuitTab.py`` .. automodule:: kicadtoNgspice.SubcircuitTab :members: diff --git a/code/kicadtoNgspice/TrackWidget.rst b/code/kicadtoNgspice/TrackWidget.rst index 78f1a2c4..ff494157 100644 --- a/code/kicadtoNgspice/TrackWidget.rst +++ b/code/kicadtoNgspice/TrackWidget.rst @@ -1,5 +1,9 @@ Track Widget Component ====================== +.. note:: + + Source : ``/src/kicadtoNgspice/TrackWidget.py`` + .. automodule:: kicadtoNgspice.TrackWidget :members: diff --git a/code/maker.rst b/code/maker.rst new file mode 100644 index 00000000..873fa167 --- /dev/null +++ b/code/maker.rst @@ -0,0 +1,13 @@ +Maker Component +======================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + maker/Maker + maker/Appconfig + maker/createkicad + maker/makerchip + maker/ModelGeneration + maker/NgVeri
\ No newline at end of file diff --git a/code/maker/Appconfig.rst b/code/maker/Appconfig.rst new file mode 100644 index 00000000..613f9e6c --- /dev/null +++ b/code/maker/Appconfig.rst @@ -0,0 +1,18 @@ +AppConfig Module +================ + +This module manages application configuration settings for the eSim Maker tools. + +**Features:** +- Loads and saves user preferences and application settings. +- Provides an interface for accessing and updating configuration values. + +**Usage:** +Refer to the API documentation or user guide for instructions on modifying application settings. + +.. note:: + + Source : ``src/maker/Appconfig.py`` + +.. automodule:: maker.Appconfig + :members:
\ No newline at end of file diff --git a/code/maker/Maker.rst b/code/maker/Maker.rst new file mode 100644 index 00000000..24357b86 --- /dev/null +++ b/code/maker/Maker.rst @@ -0,0 +1,19 @@ +Maker Module +============ + +The Maker module in eSim provides tools and utilities for creating, editing, and managing electronic design projects. + +**Features:** +- Project creation and management. +- Integration with schematic and PCB design tools. +- Export options for various EDA formats. + +**Usage:** +Refer to the user guide or API documentation for instructions on using the Maker module features. + +.. note:: + + Source : ``src/maker/Maker.py`` + +.. automodule:: maker.Maker + :members:
\ No newline at end of file diff --git a/code/maker/ModelGeneration.rst b/code/maker/ModelGeneration.rst new file mode 100644 index 00000000..4e8bdc8c --- /dev/null +++ b/code/maker/ModelGeneration.rst @@ -0,0 +1,19 @@ +ModelGeneration Module +====================== + +This module provides tools for generating simulation models within eSim Maker. + +**Features:** +- Generates SPICE and behavioral models for components. +- Supports parameterized model creation. +- Integrates with other Maker modules for seamless workflow. + +**Usage:** +Refer to the API documentation or user guide for instructions on generating and using models. + +.. note:: + + Source : ``src/maker/ModelGeneration.py`` + +.. automodule:: maker.ModelGeneration + :members:
\ No newline at end of file diff --git a/code/maker/NgVeri.rst b/code/maker/NgVeri.rst new file mode 100644 index 00000000..91eb7774 --- /dev/null +++ b/code/maker/NgVeri.rst @@ -0,0 +1,21 @@ +NgVeri Module +============= + +This module defines all components of the NgVeri Tab in eSim Maker, enabling users to convert Verilog files to Ngspice-compatible models and manage related dependencies. + +**Features:** +- Converts Verilog files to Ngspice code models. +- Adds dependency files and folders required by the Verilog top module. +- Provides a terminal interface for logs and messages. +- Allows management of Verilog models and lint-off comments. +- Integrates with Maker and ModelGeneration modules. + +**Usage:** +Use the NgVeri tab in the eSim Maker interface to convert Verilog files, manage dependencies, and handle model/lint-off lists. Refer to the user guide for step-by-step instructions. + +.. note:: + + Source : ``src/maker/NgVeri.py`` + +.. automodule:: maker.NgVeri + :members:
\ No newline at end of file diff --git a/code/maker/createkicad.rst b/code/maker/createkicad.rst new file mode 100644 index 00000000..11ffccf8 --- /dev/null +++ b/code/maker/createkicad.rst @@ -0,0 +1,18 @@ +Create KiCad Module +=================== + +This module provides tools for creating and exporting KiCad-compatible files from eSim Maker. + +**Features:** +- Generates KiCad schematic and symbol files. +- Supports exporting projects and components in KiCad formats. + +**Usage:** +Use the provided interface or scripts to generate KiCad files from your eSim Maker projects. + +.. note:: + + Source : ``src/maker/createkicad.py`` + +.. automodule:: maker.createkicad + :members:
\ No newline at end of file diff --git a/code/maker/makerchip.rst b/code/maker/makerchip.rst new file mode 100644 index 00000000..b3402b39 --- /dev/null +++ b/code/maker/makerchip.rst @@ -0,0 +1,19 @@ +Makerchip Module +================ + +This module provides integration with Makerchip for digital design and simulation within eSim Maker. + +**Features:** +- Supports digital circuit design using Makerchip. +- Enables simulation and verification of digital designs. +- Provides export and import options for Makerchip projects. + +**Usage:** +Refer to the Makerchip integration guide or API documentation for instructions on using this module. + +.. note:: + + Source : ``src/maker/makerchip.py`` + +.. automodule:: maker.makerchip + :members:
\ No newline at end of file diff --git a/code/modelEditor/modelEditor.rst b/code/modelEditor/modelEditor.rst index 61aa5300..b3c86c72 100644 --- a/code/modelEditor/modelEditor.rst +++ b/code/modelEditor/modelEditor.rst @@ -1,6 +1,9 @@ Model Editor Component ======================== +.. note:: + + Source : ``/src/modelEditor/ModelEditor.py`` + .. automodule:: modelEditor.ModelEditor :members: -
\ No newline at end of file diff --git a/code/ngspiceSimulation.rst b/code/ngspiceSimulation.rst index af1e4e75..db027837 100644 --- a/code/ngspiceSimulation.rst +++ b/code/ngspiceSimulation.rst @@ -1,5 +1,5 @@ -ngspiceSimulation component -=========================== +NgSpice Simulation component +============================== .. toctree:: :maxdepth: 2 diff --git a/code/ngspiceSimulation/NgspiceWidget.rst b/code/ngspiceSimulation/NgspiceWidget.rst index 753d3528..6dea570f 100644 --- a/code/ngspiceSimulation/NgspiceWidget.rst +++ b/code/ngspiceSimulation/NgspiceWidget.rst @@ -1,5 +1,9 @@ Ngspice Widget Component ======================== +.. note:: + + Source : ``/src/ngspiceSimulation/NgspiceWidget.py`` + .. automodule:: ngspiceSimulation.NgspiceWidget :members: diff --git a/code/ngspiceSimulation/pythonPlotting.rst b/code/ngspiceSimulation/pythonPlotting.rst index bfb9a3b6..7b7318cc 100644 --- a/code/ngspiceSimulation/pythonPlotting.rst +++ b/code/ngspiceSimulation/pythonPlotting.rst @@ -1,5 +1,16 @@ Python Plotting component ========================= +.. image:: ../_static/pythonPlot.png + :alt: Terminal UI + :align: center + :scale: 50% + +This module is responsible for python-based plotting + +.. note:: + + Source : ``/src/ngspiceSimulation/pythonPlotting.py`` + .. automodule:: ngspiceSimulation.pythonPlotting :members: diff --git a/code/ngspicetoModelica.rst b/code/ngspicetoModelica.rst new file mode 100644 index 00000000..0ace5353 --- /dev/null +++ b/code/ngspicetoModelica.rst @@ -0,0 +1,9 @@ +NgSpice to Modelica Component +============================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + ngspicetoModelica/ModelicaUI + ngspicetoModelica/NgspicetoModelica
\ No newline at end of file diff --git a/code/ngspicetoModelica/ModelicaUI.rst b/code/ngspicetoModelica/ModelicaUI.rst new file mode 100644 index 00000000..e4e21ca1 --- /dev/null +++ b/code/ngspicetoModelica/ModelicaUI.rst @@ -0,0 +1,9 @@ +ModelicaUI Component +==================== + +.. note:: + + Source : ``src/browser/Welcome.py`` + +.. automodule:: browser.Welcome + :members:
\ No newline at end of file diff --git a/code/ngspicetoModelica/NgspicetoModelica.rst b/code/ngspicetoModelica/NgspicetoModelica.rst new file mode 100644 index 00000000..c78899a4 --- /dev/null +++ b/code/ngspicetoModelica/NgspicetoModelica.rst @@ -0,0 +1,20 @@ +NgspicetoModelica Component +=========================== + +This module provides the core functionality for converting Ngspice netlists to Modelica models in eSim. + +**Features:** +- Parses Ngspice netlists and extracts device, source, and subcircuit information. +- Maps Ngspice components and parameters to Modelica equivalents using a JSON mapping file. +- Generates Modelica code for analog circuits, including support for subcircuits and parameterized models. +- Handles unit conversion and device-specific parameter mapping. + +**Usage:** +Refer to the API documentation or user guide for instructions on using the NgspicetoModelica converter. Typically, you will instantiate the `NgMoConverter` class and use its methods to process netlists and generate Modelica files. + +.. note:: + + Source : ``src/ngspicetoModelica/NgspicetoModelica.py`` + +.. automodule:: ngspicetoModelica.NgspicetoModelica + :members:
\ No newline at end of file diff --git a/code/overview.rst b/code/overview.rst new file mode 100644 index 00000000..e53739ff --- /dev/null +++ b/code/overview.rst @@ -0,0 +1,58 @@ +Overview +============== + +Welcome to eSim! +---------------- + +**eSim** is an **open-source** Electronic Design Automation (EDA) tool developed by **FOSSEE, IIT Bombay**, with the goal of making circuit design and simulation accessible to students, educators, and professionals across the globe. + +This documentation is designed for both users who want to design and simulate circuits with eSim, and for developers interested in contributing to the eSim codebase. + +About the Documentation +------------------------------ +The documentation is divided into two main sections: + +1. **Getting Started:** + Learn how to install eSim and get up and running quickly. This section covers the introduction to eSim and the installation guide. + +2. **Components:** + Dive deep into the eSim codebase. This section explains each module, file, and method, helping developers and advanced users understand and extend eSim. + +Open-Source Software Used by eSim +------------------------------------ +eSim was developed using many open-source tools, some of them are: + +* `Python <https://www.python.org/>`_ +* `KiCad <https://www.kicad.org/>`_ +* `NGHDL <https://github.com/fossee/nghdl/>`_ +* `Makerchip <https://www.makerchip.com/>`_ +* `SkyWater SKY130 PDK <https://skywater-pdk.rtfd.io/>`_ + +Useful Links +------------------------------ + +**eSim Manual** +To know everything about eSim, how it works, and its features, please download the manual from +`eSim Manual <https://static.fossee.in/esim/manuals/eSim_Manual_2.4.pdf>`_ + +**Contact** +For any queries regarding eSim, please write to us at +`contact-esim@fossee.in <mailto:contact-esim@fossee.in>`_ + +**Contribution** +Please refer to the `contribution guidelines <https://github.com/FOSSEE/eSim/blob/master/CONTRIBUTION.md>`_ for further details. + +**License** +eSim is developed by the FOSSEE Team at IIT Bombay and is released under the GNU GPL License. + +- **Source Code of eSim:** + `https://github.com/FOSSEE/eSim <https://github.com/FOSSEE/eSim>`_ + +- **Official Website of FOSSEE:** + `https://fossee.in/ <https://fossee.in/>`_ + +- **eSim Resources:** + `https://esim.fossee.in/resources <https://esim.fossee.in/resources>`_ + +- **Community Forum:** + `https://esim.fossee.in/forum <https://esim.fossee.in/forum>`_ diff --git a/code/projectManagement/Kicad.rst b/code/projectManagement/Kicad.rst index 0b2dd07d..8ad140eb 100644 --- a/code/projectManagement/Kicad.rst +++ b/code/projectManagement/Kicad.rst @@ -1,6 +1,10 @@ Open Kicad Schematic Button =========================== +.. note:: + + Source : ``/src/projManagement/Kicad.py`` + .. automodule:: projManagement.Kicad :members: diff --git a/code/projectManagement/Validation.rst b/code/projectManagement/Validation.rst index 24486fa9..36ff0e4e 100644 --- a/code/projectManagement/Validation.rst +++ b/code/projectManagement/Validation.rst @@ -1,6 +1,10 @@ Validation Helper Function =========================== +.. note:: + + Source : ``/src/projManagement/Validation.py`` + .. automodule:: projManagement.Validation :members: diff --git a/code/projectManagement/Worker.rst b/code/projectManagement/Worker.rst index c3c5cc6b..0df58c27 100644 --- a/code/projectManagement/Worker.rst +++ b/code/projectManagement/Worker.rst @@ -1,6 +1,10 @@ Helper Worker Function =========================== +.. note:: + + Source : ``/src/projManagement/Worker.py`` + .. automodule:: projManagement.Worker :members: diff --git a/code/projectManagement/newProject.rst b/code/projectManagement/newProject.rst index 9d3e5632..d65a9d9e 100644 --- a/code/projectManagement/newProject.rst +++ b/code/projectManagement/newProject.rst @@ -1,6 +1,10 @@ New Project Function =========================== +.. note:: + + Source : ``/src/projManagement/newProject.py`` + .. automodule:: projManagement.newProject :members: diff --git a/code/projectManagement/openProject.rst b/code/projectManagement/openProject.rst index 2a11cd72..d944b440 100644 --- a/code/projectManagement/openProject.rst +++ b/code/projectManagement/openProject.rst @@ -1,6 +1,10 @@ Open Project Button =========================== +.. note:: + + Source : ``/src/projManagement/openProject.py`` + .. automodule:: projManagement.openProject :members: diff --git a/code/subcircuit/Subcircuit.rst b/code/subcircuit/Subcircuit.rst index ded745d9..c206e026 100644 --- a/code/subcircuit/Subcircuit.rst +++ b/code/subcircuit/Subcircuit.rst @@ -1,6 +1,10 @@ Subcircuit component ==================== +.. note:: + + Source : ``/src/subcircuit/Subcircuit.py`` + .. automodule:: subcircuit.Subcircuit :members: diff --git a/code/subcircuit/convertSub.rst b/code/subcircuit/convertSub.rst index 0807ca70..722ca5b8 100644 --- a/code/subcircuit/convertSub.rst +++ b/code/subcircuit/convertSub.rst @@ -1,5 +1,9 @@ Convert Subcircuit component ============================ +.. note:: + + Source : ``/src/subcircuit/convertSub.py`` + .. automodule:: subcircuit.convertSub :members: diff --git a/code/subcircuit/newSub.rst b/code/subcircuit/newSub.rst index 512d6887..f7a34f87 100644 --- a/code/subcircuit/newSub.rst +++ b/code/subcircuit/newSub.rst @@ -1,5 +1,9 @@ New subcircuit component ======================== +.. note:: + + Source : ``/src/subcircuit/newSub.py`` + .. automodule:: subcircuit.newSub :members: diff --git a/code/subcircuit/openSub.rst b/code/subcircuit/openSub.rst index ffb1722b..fc6d7278 100644 --- a/code/subcircuit/openSub.rst +++ b/code/subcircuit/openSub.rst @@ -1,6 +1,10 @@ Open subcircuit component ========================= +.. note:: + + Source : ``/src/subcircuit/openSub.py`` + .. automodule:: subcircuit.openSub :members: diff --git a/code/subcircuit/uploadSub.rst b/code/subcircuit/uploadSub.rst index 48a0db15..d3ac92ee 100644 --- a/code/subcircuit/uploadSub.rst +++ b/code/subcircuit/uploadSub.rst @@ -1,5 +1,9 @@ Upload subcircuit component =========================== +.. note:: + + Source : ``/src/subcircuit/uploadSub.py`` + .. automodule:: subcircuit.uploadSub :members: @@ -44,7 +44,7 @@ extensions = [ ] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ['code/_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: @@ -60,7 +60,7 @@ master_doc = 'index' # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -76,7 +76,7 @@ pygments_style = None # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = "default" +html_theme = "sphinx_rtd_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. @@ -86,8 +86,10 @@ html_theme = "default" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - +html_static_path = ['code/_static'] +html_css_files = [ + 'code/_static/custom.css', +] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # @@ -33,8 +33,16 @@ Welcome to eSim's documentation! :target: https://esim.readthedocs.io/en/latest/code/subcircuit.html .. toctree:: - :maxdepth: 3 - :caption: Contents: + :maxdepth: 2 + :caption: Getting Started + + code/overview + code/history + code/installation + +.. toctree:: + :maxdepth: 2 + :caption: Components code/configuration code/browser @@ -44,6 +52,9 @@ Welcome to eSim's documentation! code/projectManagement code/modelEditor code/subcircuit + code/ngspicetoModelica + code/maker + code/converter Indices and tables ================== diff --git a/src/browser/Welcome.py b/src/browser/Welcome.py index f864a21f..c1b7eeab 100644 --- a/src/browser/Welcome.py +++ b/src/browser/Welcome.py @@ -4,8 +4,8 @@ import os class Welcome(QtWidgets.QWidget): """ - This class contains content of dock area part of initial esim Window. - It creates Welcome page of eSim. + It contains class responsible for content of dock area part of initial esim Window. + It creates Welcome page of eSim as shown below in image. The library/browser/welcome.html file is used for html content. """ def __init__(self): |