[Ktechlab-devel] simulator

P Zoltan zoltan.padrah at gmail.com
Sun Nov 9 12:49:46 UTC 2008


On Sat, 08 Nov 2008 19:25:41 +0100, Alan Grimes <agrimes at speakeasy.net>  
wrote:

> That doesn't apply because in our use case, what we are trying to
> encode, as data are programs, which necessarily need to be interpreted,
> no shame in that.
>
> It is absolutely necessary that the user be able to design components.
> So compiled C++ is out of the question.
>

  That's clear.

  But I still don't understand why do we need _programs_ describing new  
components? Where and when should those program run? (I don't really know  
the internal workings of the simulator) Wouldn't be enough to describe the  
equations of the part?

> A. Loading circuit save files which contain references to library
> components which may not be available when loaded.
>

  A few ideas (brainstorming style):
- create an export option to save the circuit with all the needed  
components attached
- ktechlab might try to connect to some 'component repositories' and  
search for the needed components there

  The components could be identified by their name.

> B. Being able to easily create derived components. IE, specifying that
> "this component is just like that component but here are some specific
> specifications". That way we'd have a model for a darlington pair
> transistor, then when the user finds a datasheet, he can quickly write a
>  specific part specification based on the generic library model.
>

  I'd solve that parametrisation. (inspired from spice :D) For instance: a  
darlington pair with: beta=... parasitic_capacitance_be=...  and so on...

>
>> I'm not against the use of XML, but I think that only simple components
>> should be written in XML. Others may be written in C/C++, compiled as
>> .so and loaded at launch time (or later...).
>

  What about different CPU architectures? And 32bit vs 64bit? Plus see user  
created component argument earlier. I consider binarty, compiled component  
a bad idea, because: they would need to be recompiled for each platform  
and because a 'normal' user won't have a c++ compiler installed on his  
system.

   Zoltan




More information about the Ktechlab-devel mailing list