Re: [ng-spice] BSIM SOI Models


To ng-spice@ieee.ing.uniroma1.it
From Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>
Date Sun, 3 Sep 2000 08:40:30 +0200 (CEST)
Delivered-To mailing list ng-spice@ieee.ing.uniroma1.it
In-Reply-To <001701c0156e$eac2e180$475b883e@default >
Mailing-List contact ng-spice-help@ieee.ing.uniroma1.it; run by ezmlm
Reply-To ng-spice@ieee.ing.uniroma1.it

On Sun, 3 Sep 2000, john wood wrote:

> Hello,
> 
> Has anyone tried to link  BSIMSOI into
> ng-spice?
> 
> http://www-device.eecs.berkeley.edu/~bsimsoi/latenews2.html


I have compiled in bsimsoi models some times ago. They worked, but
bsimsoipd ((not the latest version) failed one test. Now I am in the
middle of frenetic patching activity, and have no time to include them
again.


> I will have a go at compiling it if you can give me some hints
> as where to start.

First thing to notice: ng-spice is based on a source code included in
cider, that contains some additions for multiprocessing. This means that
there are additional instruction you have to add. What and where to add
can be found doing a diff between a bsim3 model in berkeley's archive
(bsim3v322) and the one in your ng-spice distribution. Most of these
instructions you have to add are checks of the type:

if (here->CAPowner != ARCHme) continue;
for a capacitor

Roughly, there is a check every time a loop through all the instances is
performed, but check the code well before doing changes. 

After that (check every file), you have to add an entry to then entry in
<DEV>defs.h :

IFuid CAPname;  /* pointer to character string naming this instance */
    int CAPowner;  /* number of owner process */
    int CAPstate;   /* pointer to start of capacitor state vector */

The CAPowner entry is not present in the original spice code, it cames
from cider. If you do not add this entry, your model does not work and
gives you an output of zeroes in a .op analysis.

Hope I have helped you a bit. 
 
Bye,
Paolo


Partial thread listing: