fossee / esim Goto Github PK
View Code? Open in Web Editor NEWThis repository contain source code for new flow of FreeEDA now know as eSim
License: GNU General Public License v3.0
This repository contain source code for new flow of FreeEDA now know as eSim
License: GNU General Public License v3.0
While simulating the circuit, if the user changes values in KicadtoNgspice or changes components in schematic and then changes values in KicadtoNgspice, it doesn't respond to the Convert button. Also, it shows an error in the ESim terminal as attached below.
If this error is encountered once, then it will repeat even on changing the project until the previous_values.xml file is deleted.
Issue Details-
plot_data_i.txt
and plot_data_v.txt
are not generated or display previous values.time.sleep()
call after ngspice is called to generate the plot_data
files. Since ngspice can take more than the specified timeopen_ngspice(self)
at src/frontEnd/Application.py
fileEdit: Add relevant tags such as bug
While creating a subcircuit, when we try to convert the kicad model to ngpsice, eSim crashes and becomes unresponsive.
Expected eSim to successfully convert kicad model to ngspice and create the subcircuit.
Hello,
I see that this provide installer for Ubuntu, but would it be possible to make an installer for other non apt, non deb distro?
I also would like to create eSIM package as Flatpak.
https://www.flatpak.org/
and distribute it in Flathub.
https://flathub.org/home
Flatpak can install on any distro that support them, which most distro does. KiCAD is already in Flathub.
https://flathub.org/apps/details/org.kicad.KiCad
I am trying to understand install-esim.sh at the moment.
Would you interest for eSIM as Flatpak?
The Project Explorer has a QTreeWidget holding all the projects and their respective file in a formatted tree structure. When a user deletes the files from the system, it should be reflected in the Project Explorer but the explorer shows old files until the user manually refreshes the project.
Files should be updated as soon as the user expands the project or selects it as the current project.
On Ubuntu 15.04 operating system upon launching eSim, the splash screen hides the dialogue box which prompts the user to choose the workspace location. Unless the workspace location is not chosen eSim wont be launched. User unaware of the dialogue box in the background might have to wait endlessly for eSim to launch. However upon a mouse click the splash screen quits itself and the workspace dialogue box becomes visible .
The splash screen should either disappear after a time out period or the the workspace dialogue box should be above the splash screen.
#197
Ideal solution is to use a message box for reporting the conversion status.
Hello,
I am trying to build eSIM from source on Linux.
INSTALL mention install-eSim.sh, but I could not find it. Was it delete?
Thanks.
Currently the packaging in eSim is done manually.
However, it is difficult to package everything and follow the steps as new features get added on.
It also takes huge amount of time and the developer also needs to go through a proper checklist.
We need to automate the packaging of eSim to solve the above problems.
Automate the packaging of eSim.
A script/code should package the eSim automatically and the developer must have to do minor changes to the script whenever there are change in modules.
While running the Verilog to Ngspice Converter, cannot open 'C:\Users\Sumanto\AppData\Local\Temp\ccVyZkFb.s' for writing: Permission denied has occurred in the Make Verilator step.
The Make Verilator step should be able to access the temp files of Windows 11.
Error logs are uploaded here:
error.txt
eSim crash on opening/editing a schematic without any project selection.
After clicking New Subcircuit Schematic / Edit Subcircuit Schematic
eSim should open the subcircuit schematic without crashing.
Issue Details-
autodoc
to automatically document from docstrings.rst
filesEdit: Add relevant labels such as - feature
Script uses old version of kicad ppa
I have kicad5.1.9 installed already
So i changed it to the new one for myself
function addKicadPPA
{
#sudo add-apt-repository ppa:kicad/kicad-5.1-releases
kicadppa="kicad/kicad-5.1-releases"
findppa=$(grep -h -r "^deb.*$kicadppa*" /etc/apt/sources.list* > /dev/null 2>&1 || test $? = 1)
if [ -z "$findppa" ]; then
echo "Adding KiCad-5 PPA to local apt-repository"
if [[ $(lsb_release -rs) == 20.* ]]; then
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 83FBAD2D910F124E
sudo add-apt-repository --yes "deb [trusted=yes] http://ppa.launchpad.net/kicad/kicad-5.1-releases/ubuntu>
sudo touch /etc/apt/preferences.d/preferences
echo "Package: kicad" | sudo tee -a /etc/apt/preferences.d/preferences > /dev/null
echo "Pin: version 4.0.7*" | sudo tee -a /etc/apt/preferences.d/preferences > /dev/null
echo "Pin-Priority: 501" | sudo tee -a /etc/apt/preferences.d/preferences > /dev/null
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo add-apt-repository --yes "deb http://archive.ubuntu.com/ubuntu/ bionic main universe"
else
sudo add-apt-repository --yes ppa:kicad/kicad-5.1-releases
fi
else
echo "KiCad-5 is available in synaptic"
fi
}
and i also changed:
echo "Installing KiCad..........................."
sudo apt-get install -y --no-install-recommends kicad=5.1.10*
if [[ $(lsb_release -rs) == 20.* ]]; then
sudo add-apt-repository -ry "deb http://archive.ubuntu.com/ubuntu/ bionic main universe"
fi
Dont know how to send changes otherway. Im a newbe and afraid to dammage the installer script for others.
Maybe someone can update the script
im looking also for llvm-12 version support. script doesnt find llvm-8 but still looking how to solve that one. See other issue
Greetings
Gerald
The build instructions in the installers
branch can be moved to master
branch or at least a link to the installers
branch will be helpful for people building from source on non-Debian based distros such as Arch, Manjaro, Gentoo, etc.
eSim currently does not support the feature to run multiple ngspice simulations.
Support for such action should be added
- where multiple simulations of different projects are done
- where multiple simulations of the same project are done
SKY130 PDK gets copied to a location manually in the installer of eSim:
https://github.com/FOSSEE/eSim/blob/installers/Ubuntu/install-eSim-sky130.sh
It may be automated using the following Python Package:
https://pypi.org/project/volare/
The plot of python plot does not replicate that of ngspice for parameter sweeping instead looks something like a raster scan.
Ngspice Plot:
Python Plot:
PFA of a zipped project file too replicate/investigate the issue:
LTspice_IGBT.zip
I would like to work on it and will put a pull request real soon.
Following the process detailed in the eSim user manual I am trying to simulate as detailed in chapter 6. The process is a success through to the kicadToNgSpice conversion. However, pressing on the Simulation button on the left-side tool bar on the eSim interface results in a window with the following info:
Error while opening python plotting Editor. Please look at console for more details
The contents of the console are:
eSim Started......
Project Selected : None
[INFO]: Workspace : /home/user/tizy/eSim-Workspace
[INFO]: The current project is /home/user/tizy/eSim-Workspace/Project1
[INFO]: Kicad Schematic is called for project /home/user/tizy/eSim-Workspace/Project1
[INFO]: Kicad to Ngspice Conversion is called
[INFO]: Current Project is /home/user/tizy/eSim-Workspace/Project1
[INFO]: Ngspice simulation is called : /home/user/tizy/eSim-Workspace/Project1
[INFO]: PythonPlotting is called : /home/user/tizy/eSim-Workspace/Project1
[ERROR]: Exception Message :[Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_i.txt'
[ERROR]: Exception Message :local variable 'alli' referenced before assignment
[ERROR]: Exception Message : [Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_v.txt'
[INFO]: Ngspice simulation is called : /home/user/tizy/eSim-Workspace/Project1
[INFO]: PythonPlotting is called : /home/user/tizy/eSim-Workspace/Project1
[ERROR]: Exception Message :[Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_i.txt'
[ERROR]: Exception Message :local variable 'alli' referenced before assignment
[ERROR]: Exception Message : [Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_v.txt'
[INFO]: Ngspice simulation is called : /home/user/tizy/eSim-Workspace/Project1
[INFO]: PythonPlotting is called : /home/user/tizy/eSim-Workspace/Project1
[ERROR]: Exception Message :[Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_i.txt'
[ERROR]: Exception Message :local variable 'alli' referenced before assignment
[ERROR]: Exception Message : [Errno 2] No such file or directory: '/home/user/tizy/eSim-Workspace/Project1/plot_data_v.txt'
Any insight as to how I can resolve this?
Missing LLVM-8 during installation script
Looks i have installed LLVM12.0-52
Cant find it the config file (im still a newbe)
While assigning values to components like resistors, after assigning the values eSim gets stuck and doesn't respond.
eSim should be ready to take new tasks.
The current eSim installer does not detect the previously installed eSim version.
This causes various path problems and problems with rewriting the files.
The installer should be able to detect the previously installed eSim.
Ask the user whether to remove it or not.
If the user permits, the previously installed eSim must be removed completely and then the installation of the new version of eSim must begin.
Hi,
I'm trying to install eSim2.3 on a fresh and updated Ubuntu 23.04.
I'm quiet a newbe with the terminal / Ubuntu, but forced to use it to install eSim2.3
After using these lines, $ chmod +x install-eSim.sh and $ ./install-eSim.sh --install
I got a seemingly Phyton error. Is there a way to solve this easily?
Ps, in about a week I got more time to play around with stuff, now waiting for a new hip and need the pc in hospital.
Afraid to screw things up.
Thanks in advance.
Processing triggers for libc-bin (2.37-0ubuntu2) ...
Installing Watchdog........................
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Error! Kindly resolve above error(s) and try again.
Aborting Installation...
Add feature to rename projects, and also their respective files, in the selected folder.
May port code from 2018 interns work, refer - 5e58022
local/lib/python3.10/site-packages (2.2.1)
Installing Hdlparse........................
Defaulting to user installation because normal site-packages is not writeable
Collecting hdlparse
Using cached hdlparse-1.0.4.tar.gz (10 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in hdlparse setup command: use_2to3 is invalid.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Error! Kindly resolve above error(s) and try again.
Aborting Installation...
Please guide how to rectify the issue
Running NgVeri while the Ngspice window is still open leads to Ngveri.cm not accessible error.
NgVeri should not be run when the Ngspice window is still open as the write access to Ngveri.cm is not available.
All the Ngspice windows need to be closed before running NgVeri.
Here is the error:
Error in Ngspice code model generation from Verilog: [Errno 13] Permission denied: 'D:/FOSSEE/nghdl-simulator/lib/ngspice/Ngveri.cm'
Run eSim Ngspice Simulation. DO NOT close the window.
Open Makerchip-NgVeri.
Load a Verilog Code in Makerchip tab.
Switch to the NgVeri Tab.
Run NgVeri.
The following error pops up in the NgVeri Terminal.
Error in Ngspice code model generation from Verilog: [Errno 13] Permission denied: 'D:/FOSSEE/nghdl-simulator/lib/ngspice/Ngveri.cm'
Changes to be made in the code not to run NgVeri when Ngspice window is open.
Users can access Verilog model symbols for KiCad after deleting the model from Ngveri.
Expected that after deleting the model from Ngveri Users can't access that model's symbol from kicad
This symbol's model has already been removed but still has access to the symbol.
Inside the eSim/src/maker folder, There are not any codes to delete that symbol
Currently, multiple fields get created for the subcircuit/deveice model even for the same block.
While only one field is required, other fields may be redundant.
This also takes a lot of time for the user to fill all the fields.
Multiple fields for inv can be seen here:
Not all functions in the eSim code is written in accordance with the Writing docstrings
section in the sphinx documentation
The docstrings in the functions have to be rewritten according to the documentation.
Issue Details-
The installation is not running through an my ubuntu 20.04. This is because apt does not provide a installation candidate for llvm-8.
E: Unable to locate package llvm-8
I tried editing the installation scripts to use llvm-9 which seems to work so far. This has to be done in both the installation of nghdl and esim.
cheers :)
Issue details-
.lib
files follow the multi line format, change it to single line format for easier use.MODEL PowerDiode D(
+ Vj=.75
+ Nbvl=14.976
+ Cjo=175p
+ Rs=.25
+ Isr=1.859n
+ Eg=1.11
)
.MODEL PowerDiode D( Vj=.75 Nbvl=14.976 Cjo=175p Rs=.25 Isr=1.859n Eg=1.11 )
Edit: Add relevant tags such as feature
or enhancement
Edit: Added spice format for reference
Error in parsing the last Output in a module due to HDL Parse
module dut(
input clk,rst,
output reg [2:0]light_S1,
output reg [2:0]light_S2,
output reg [2:0]light_S3,
output reg [2:0]light_S4,
);
Parsing the above code gives number of ports for S4 as 1.
Pass the code through the NgVeri(HDLparse), it will give the number of ports of S4 in the eSim terminal as 1.
The number of Ports of S4 need to be 3.
Tempory fix is to have the module declaration in the following format:
module DUT(
output reg [2:0]light_S1,
output reg [2:0]light_S2,
output reg [2:0]light_S3,
output reg [2:0]light_S4,
input clk,rst
);
I have installed eSim on my computer (Linux Mint 17.3 Cinnamon 64-bit) and the installation was successful. However, creating a new project and opening the schematic causes a dialog with the title Not Found
and the following content to pop-up:
The following libraries were not found:
- adc
- dac
- memory
- xilinx
- microcontrollers
- dsp
- microchip
- analog_switches
- motorola
- texas
- intel
- audio
- interface
- digital-audio
- philips
- display
- cypress
- siliconi
- opto
- atmel
- contrib
- power
- device
- transistors
- conn
- linear
- regul
- 74xx
- cmos4000
- eSim_Analog
- eSim_Devices
- eSim_Digital
- eSim_Hybrid
- eSim_Miscellaneous
- eSim_Power
- eSim_Sources
- eSim_Subckt
- eSim_User
- eSim_Plot
- eSim_PSpice
The choose component
dialog box also indicated that 0 components loaded and no components are available. Any help on how to resolve this will be greatly appreciated.
Ngspice is CASE insensitive.
However, if we need path of a directory to be passed in netlist, say "/home/sumanto/Desktop" gets converted to"/home/sumanto/desktop".
A temporary fix has been decided to add a '$' before the CAPITAL letters to identify them.
Ngspice should be CASE sensitive for paths, string values, etc.
The scrolling pad at the console area is not proper. The arrows are not clearly visible .
Just open esim and carefully notice the console area , specially the scrolling tab
The arrows must be visible and the scroll rod must not overlap its boundary .
I have recorded the bug and its shared through drive : https://drive.google.com/file/d/1dbbzWllae77zyV7O4DHaYHLreIt2oYiC/view?usp=share_link
The Subcircuit Builder Buttons are getting snapped of in the eSim-2.3 in Windows 11 system.
The buttons showed be visible in the original sizes with complete text.
Pic Credits: Debanjan Bhattacharya, FOSSEE Fellow
Even the icons and letters are very small in size.
Possible reason could be resolution of the Desktop Screen.
eSim shoud be able to automatically resize according to the resolution of the screen irrespective of the machine.
Issue Details-
print()
statements used everywherelogging
library from python to display more data beside the print statementsIdeas-
While extracting previous components and data from previous_vals only the first letter and first number are matched.
Ex. q12, is matched against q14 as well as q12 , q13, q1....
Please fix to check the whole letter and number.
.nghdl folder in the C:/Users/ does not get overwritten in the reinstallation of eSim.
Possibly this issue would be related to #227.
Install eSim in a new location.
Open Makerchip-NgVeri.
Upload a file in a Makerchip tab.
Run Verilog to Ngspice Converter in the NgVeri Tab.
eSim closes unexpectedly giving an error attached in the screenshot.
NgVeri should generate the model properly without the crashing of the eSim.
Bug reported by @[email protected]
eSim is not getting installed properly in the path other than Drive:/FOSSEE. For example, D:/FOSSEE works but D:/eSim/FOSSEE does not.
In the eSim installer give the path as D:/eSim/FOSSEE. Install eSim.
Open Makerchip-NgVeri.
Upload a file in the Makerchip Tab.
Run Verilog to Ngspice to Converter(NgVeri).
eSim_Ngveri.lib No such directory error pops up pointing to the D:/FOSSEE location.
NgVeri should work fine pointing to the D:/eSim/FOSSEE location for various operations.
Bug reported by @[email protected]
When trying to install eSim on newer Ubuntu versions the installation of xpdf fails.
As stated here xpdf was dropped from Ubuntu with version 20.04.
Would it be possible for eSim to use another pdf reader?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.