Does anyone know a good GUI for visualizing `ngspi...
# general
t
Does anyone know a good GUI for visualizing
ngspice
simulation results ? The built in one is ... not great.
j
I've had good success using batch mode and python scripts with matplotlib... i know its probably not the answer you want πŸ™‚
t
yeah, I was looking for something a little more "out of the box" ...
y
Gaw is not bad
πŸ‘ 1
u
I also use python there is a convenient wrapper of the libngspice that I’ve find useful ngspyce
s
with xschem i can use gaw, it allows xschem to send nets to display over a tcp link. https://xschem.sourceforge.io/stefan/xschem_man/video_tutorials/probe_to_gaw.mp4
for ngspice simulations where digital data needs to be displayed i also use a raw->vcd filter and gtkwave https://xschem.sourceforge.io/stefan/xschem_man/video_tutorials/rawtovcd.mp4
t
@Stefan Schippers Oh, that looks great indeed !
s
gaw definitely needs improvements, i submitted a patch so color of waveforms can be specified on the tcp command, so the waveforms have same color as xschem highlight nets. However the whole gui need improvements, and needs a hierarchy-aware signal browser.
y
The default algorithm also has a severe aliasing issue. Although it's not that bad once you figure out what's going on - it had me very confused the first time I encountered it
t
get qucs-spice. It's the qucs gui and front-end but using spice (ngspice, xspace, etc.) for the modeling.
the latest Kicad also has a halfway decent spice display but it's not as full featured as many others
t
@Stefan Schippers SVN still ? Didn't expect that πŸ˜…
t
@tnt: It's the fact that @Stefan Schippers writes in plain C, uses Tcl, and has SVN repositories that let me know immediately that I could trust him.
t
Hehe, I'm with you on the first two but ... the last one ... I just love git, it's so elegant πŸ˜›
t
@tnt: What it means is that he was posting open source repositories looong before there was a git.
s
When i started xschem (it was a hobby project so no schedules, no hurries) subversion was starting to become the big enhancement over CVS. Git was not existing at all at the time. First machines i used to run xschem were solaris sparc 10/sparc 20 machines, then linux. I believe for big community projects git is now the way to go. For smaller sized projects (like xschem, ~40K sloc) the difference doesn't matter much. I also put two eyes on portability. Xschem is compiled in plain C89 (std=c89 -pedantic -Wall ) and does all drawing operation with direct xlib calls, and despite most people laughing on the choice of tcl-tk for scripting and gui i had very little trouble due to API changes in 22 years (from tcl-tk 7.5/4.1 to tcl-tk 8.6), ask a gtk+ developer about changelogs between gtk1, gtk2, gtk3, gtk4 they will tell you it is a real PITA. Xschem runs on IRIX machines, on Solaris, on ARM and on 32 bit architectures with no single compatibility #ifdef in the code (there are some for windows πŸ™‚). The whole effort on xschem GUI development is really no more than 6% of the whole man-work, and this leaves me time for the more interesting things πŸ™‚.... That said, i am an electronic engineer and decided to do a software project due to my frustration with Cadence DFII/Virtuoso, so there are probably lot of design decisions that could be criticized by capable software engineers πŸ™‚. I used a lot xschem when working at micron for prototyping / simulating analog/digital circuits, because it is faster, and when almost done i just did the final signoff with the 🏒corporate🏒 tools.
Copy code
Release history:
08/04/1998:

First working graphic engine: draw wires, lines, rectangles, move,pan, zoom,
delete, copy, load symbols, save symbols.
t
I work on a project that started with svn about 20 years ago. We finally switched it over to git (for use on github) a year or so ago. With git-svn it's pretty easy to do although if you maintain all the branching history it still records it as a flat graph (matches how svn handles "branches"). Git has a number of benefits even for small projects. Merging is much better, disconnected use, extremely easy mirroring of the code, and of course GitHub which is the place to be these days for active development (github's fork and push is very easy for people to use and submit patches).
That said, I still have another project I work (not open source) that's still on svn. Not many developers these days (3 or 4) as it's in maintenance mode and 2+ million LOC (mostly C++) so there's less benefit to a switch
as for TCL, it's a decent language although a bit dated....the main reason to use it here (aside from the fact that xscheme already uses it) seems to be that it's used in magic and other tools so a VLSI designed with FOSS tools only needs to learn TCL (not that you shouldn't learn python as well)