[Ktechlab-devel] Elements

Alan Grimes agrimes at speakeasy.net
Thu Apr 1 05:01:05 UTC 2010


The git fanatic threatened to ask a question about the relationship
between components and elements the other day but didn't follow through.
I'll go ahead and answer anyway.

I've learned a great deal about elements during my time trying to get
various features of ktechlab to work in a more elegant and efficient way.

The existing elements can be defined as "Anything that is required to
simulate an analog component". When digital circuits must directly
drive/be driven by analog circuits, logicIns and logicOuts are used.

The existing component classes that simulate things have two basic
types, Switches which, as they are now, change the topology of the
circuit. and logic elements, which implement a logical operation
directly. (as it is not practical to do so in the analog simulation.)
There are probably others which I have forgotten. -- haven't used the
program in a while.

What I've learned is that elements should only be irreducible units of
electronics. (see wikipedia entry on circuit elements to which I
contributed...) There are some other useful abstract circuit elements
that might also be implemented.

A new layer of abstraction should be introduced between components and
elements called "component model" or something. I don't wish to specify
anything about how this should be implemented at this time. What it
would do is compose physically realistic models from the abstract
elements and, possibly some secret sauce. In all cases complex
components will be modeled as their simplified equivalent circuit even
if a more direct solution is known. This is because the abstract models
often only cover the area of nominal device operation and it is
important to have a model that contains the information required to be
reasonably accurate even out of that range. This approach should help
solve the glitches I'm currently seeing and remove some of the problems
seen in the current logic-out implementation. (which is only somewhat
less wrong than the earlier version.)..

Another important consideration regarding that class is the
implementation of the very important tri-state logic...


-- 
DO NOT USE OBAMACARE.
DO NOT BUY OBAMACARE.
Powers are not rights.





More information about the Ktechlab-devel mailing list