← Back to team overview

kicad-developers team mailing list archive

Re: Integrated Simulator

 

TL;DR: I consider preparing a script that builds patched ngspice DLL to
solve the problem.

The bug stems from the fact that when an error occurs user is expected
to answer whether the simulation should be continued with y/n. As there
is no way we can answer the question when ngspice runs from a shared
library, the simulation hangs.

There is no directive to skip the question. The only way is to run in
batch mode, but it might be done only by running ngspice with -b parameter.

Ideally it should be patched in the ngspice source code (I am going to
propose it to the ngspice devs), but once it is accepted, it will take a
lot of time before the code is included the next release.

What I consider right now, is to modify get_libngspice_so.sh, to make it
multiplatform and add the required patch there. Currently, it should not
be a big deal as the shared library is only delivered by Arch Linux (and
I believe Arch users are able to cope with such problem anyway).

What do you think? Does anyone see a better solution?

Regards,
Orson

On 07/21/2016 11:16 PM, Chris Pavlina wrote:
> Really, really nice! I made it do a thing! https://misc.c4757p.com/kicad_sim.png
> 
> I feel bad to provide a bug report on my very first communcation on
> this, but... found one: not sure if this sort of thing is actually
> standard SPICE or an LTspice extension, but I tried parameterizing a
> component value, setting a resistor's value to {R} - that sort of thing
> leads to irrecoverable lockups here.
> 
> On Thu, Jul 21, 2016 at 09:37:57PM +0200, Tomasz Wlostowski wrote:
>> Hi,
>>
>> As some of you have noticed, we've been working on a "secret" feature
>> during the hackathon at CERN. The feature we're talking about is an
>> integrated circuit simulator. Currently it features:
>> - Seamless integration into schematic editor,
>> - AC/Transient/DC sweep simulations,
>> - Voltage probing from the schematics,
>> - Live tuning of component values.
>>
>> A video demonstrating the capabilities of the new simulator is available
>> on Tom's YouTube channel [1].
>>
>> The code is currently available in the ngspice branch on Tom's GitHub
>> [2] for review & testing. It's a big feature, so we didn't want to push
>> it immediately to the product branch. We'll greatly appreciate your
>> feedback!
>>
>> The simulator uses ngspice [3] as the Spice kernel. We'd like to thank
>> ngspice developers for providing a DLL interface which made seamless
>> integration of ngspice into Kicad possible.
>>
>> In order to get started:
>> - install ngspice shared library (is not provided by many Linux distros,
>> Arch Linux is a known exception, so you might have to compile it from
>> the sources with --with-ngshared --enable-xspice options).  Windows
>> DLLs, msys2 PKGBUILD & binary packages (to be included soon in
>> the official msys2 repo, currently merged to
>> https://github.com/Alexpux/MINGW-packages/) & Linux script to build the
>> library are available at [4].
>> - compile eeschema with -DKICAD_SPICE=ON option,
>> - have a look at some examples in demos/simulation directory.
>>
>> Happy simulating,
>> Tom
>>
>> [1] https://youtu.be/A2_-hdRcf4U
>> [2] https://github.com/twlostow/kicad-dev/tree/ngspice
>> [3] http://ngspice.sourceforge.net/
>> [4] https://orson.net.pl/pub/libngspice
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References