How can this circuit simalator know the function of each IC?

Nik

Joined May 20, 2006
55
Well, IMHO, that's a bit complex for a first model. You may also run into size limits if you're using a 'free, student' version of a commercial SPICE program. But, the genuinely free LT Spice/ SwCAD should be able to handle that circuit if it has the relevant models...

Uh, I'm not sure how the matrix-math works in SPICE but, IIRC, there's two different modelling approaches, used in tandem. One models individual transistors as current sources and current sensors with complex equations and 40-some parameters to match the real part's non-linearities. ICs are built from nested subcircuits {Think programmin' subroutines ;-} containing components matching the IC's datsheet schematic.

The other approach is to model each IC as a 'black-box'.

The former is probably more accurate. The latter runs a lot faster. Much depends on how closely you want to model temperature effects, MonteCarlo part statistics etc etc. As ever, your mileage may vary.

One neat thing about SPICE is that you *can* 'roll your own' models, even if only to tweak the generic NPN BJT to match a component's datasheet. First thing to do, though is to search around for SPICE models of each non-library part. You'll be surprised how many models exist in makers' and enthusiasts' libraries.
 

Papabravo

Joined Feb 24, 2006
21,225
The short answer is a flexible and extensible database of models for the various components. How big is that hard drive is the relevant question to ask when considering how versatile a simulator might be.
 

kingdano

Joined Apr 14, 2010
377
just read up on SPICE and HSPICE

it may be a bit technically involved, but its a fairly accurate modeling system based on nodal analysis.

the IC manufacturers typically make the models based on the transistor level schematics of their ICs, and then offer them on their website for simulation use.

unfortunately, its still not 100% accurate, and you cant simulate the behavior of HDL or C/C++ code directly, but you can include them as behavioral blocks in your simulation, to try and get a fairly good idea of how everything will tie together.
 
Top