Jspice3
b2moscap.c File Reference
#include "spice.h"
#include <stdio.h>
#include <math.h>
#include "bsim2def.h"
Include dependency graph for b2moscap.c:

Go to the source code of this file.

Functions

void B2mosCap (CKTcircuit *ckt, double vgd, double vgs, double vgb, args, double cbgb, double cbdb, double cbsb, double cdgb, double cddb, double cdsb, double *gcggbPointer, double *gcgdbPointer, double *gcgsbPointer, double *gcbgbPointer, double *gcbdbPointer, double *gcbsbPointer, double *gcdgbPointer, double *gcddbPointer, double *gcdsbPointer, double *gcsgbPointer, double *gcsdbPointer, double *gcssbPointer, double *qGatePointer, double *qBulkPointer, double *qDrainPointer, double *qSourcePointer)
 

Function Documentation

void B2mosCap ( CKTcircuit ckt,
double  vgd,
double  vgs,
double  vgb,
args  ,
double  cbgb,
double  cbdb,
double  cbsb,
double  cdgb,
double  cddb,
double  cdsb,
double *  gcggbPointer,
double *  gcgdbPointer,
double *  gcgsbPointer,
double *  gcbgbPointer,
double *  gcbdbPointer,
double *  gcbsbPointer,
double *  gcdgbPointer,
double *  gcddbPointer,
double *  gcdsbPointer,
double *  gcsgbPointer,
double *  gcsdbPointer,
double *  gcssbPointer,
double *  qGatePointer,
double *  qBulkPointer,
double *  qDrainPointer,
double *  qSourcePointer 
)

Definition at line 19 of file b2moscap.c.

69 {
70  double qgd;
71  double qgs;
72  double qgb;
73  double ag0;
74 
75  ag0 = ckt->CKTag[0];
76  /* compute equivalent conductance */
77  *gcdgbPointer = (cdgb - args[0]) * ag0;
78  *gcddbPointer = (cddb + args[3] + args[0]) * ag0;
79  *gcdsbPointer = cdsb * ag0;
80  *gcsgbPointer = -(args[5] + cbgb + cdgb + args[1]) * ag0;
81  *gcsdbPointer = -(args[6] + cbdb + cddb ) * ag0;
82  *gcssbPointer = (args[4] + args[1] -
83  (args[7] + cbsb + cdsb )) * ag0;
84  *gcggbPointer = (args[5] + args[0] +
85  args[1] + args[2] ) * ag0;
86  *gcgdbPointer = (args[6] - args[0]) * ag0;
87  *gcgsbPointer = (args[7] - args[1]) * ag0;
88  *gcbgbPointer = (cbgb - args[2]) * ag0;
89  *gcbdbPointer = (cbdb - args[3]) * ag0;
90  *gcbsbPointer = (cbsb - args[4]) * ag0;
91 
92  /* compute total terminal charge */
93  qgd = args[0] * vgd;
94  qgs = args[1] * vgs;
95  qgb = args[2] * vgb;
96  *qGatePointer = *qGatePointer + qgd + qgs + qgb;
97  *qBulkPointer = *qBulkPointer - qgb;
98  *qDrainPointer = *qDrainPointer - qgd;
99  *qSourcePointer = -(*qGatePointer + *qBulkPointer + *qDrainPointer);
100 
101 }
double CKTag[7]
Definition: cktdefs.h:83