How to accommodate BSIM-CMG modelcard into Xyce? Always got "no valid model card found".

742 views
Skip to first unread message

stone door

unread,
Nov 4, 2016, 5:10:09 AM11/4/16
to xyce-users
Any suggestions wil be highly appreciated!
Always got an error of 
"Netlist error in file FINFET-IdVg-PMOS-v1.sp at or near line 6
 Model is required for device M1 and no valid model card found.  "
- It seems that Xyce doesn't understand bsimcmg - what else lib or modelcard should I add to my code? Thanks a lot!

Here is my code - the  "modelcard.pmos" is exactly the same from the zip file of BSIM-CMG v107.
*===============================================================
.op
.dc vfg 0 -0.75 -0.001
.print DC i(vdummy)

*  D   G     S   B  model
M1 nd vg1 2 2 pmos1 TFIN=15n L=30n NFIN=10 NRS=1 NRD=1 ; this is the line 6

Rg 0 1 2M
Rs 0 2 800
Rd nd 3 800

vdummy dm 3 0
vfg vg1 1 0
vd  dm 0 -0.05

.include "modelcard.pmos"
.end
*===============================================================


"modelcard.pmos" is like:
******** BSIM-MG 105 Sample Modelcard for PMOS ********

** The BSIM-MG sample modelcard below was not extracted/obtained
** from/based on any real technologies. It should not be used for any
** other purposes except for benchmarking the implementation of BSIM-MG
** against BSIM Team's standard results

.model pmos1 bsimcmg
+ BULKMOD = 1
+ CAPMOD = 0
+ COREMOD = 0
+ CGEOMOD = 0
+ DEVTYPE = 0
+ GEOMOD = 0
+ GIDLMOD = 1
+ IGBMOD = 0
+ IGCMOD = 1
+ IIMOD = 0
+ NGATE  = 0
+ NQSMOD = 0
+ RDSMOD = 0
+ RGATEMOD = 0
+ RGEOMOD = 0
+ NSEG = 5
+ SDTERM = 0
+ SHMOD = 0
+ AGIDL = 2E-12
+ AGISL = 2E-12
+ AIGC = 0.007
+ AIGD = 0.006
+ AIGS = 0.006
+ AT  = 0.0008234
+ BG0SUB  = 1.17
+ BGIDL = 1.50E+08
+ BGISL = 1.50E+08
+ BIGC = 0.0015
+ BIGD = 0.001944
+ BIGS = 0.001944
+ CDSC = 0.003469
+ CDSCD = 0.001486
+ CFD = 0.2e-10
+ CFS = 0.2e-10
+ CGBL  = 0
+ CGBO  = 0
+ CGDL  = 0
+ CGDO = 1E-10
+ CGSL  = 0
+ CGSO = 1E-10
+ CIGC = 1
+ CIGD = 1
+ CIGS = 1
+ CIT = 0
+ CKAPPAD  = 0.6
+ CKAPPAS  = 0.6
+ CTH0  = 1.243E-06
+ DELTAVSAT  = 11.56
+ DELTAW  = 0
+ DELTAWCV  = -1.00E-08
+ DLBIN  = 0
+ DLC  = -9.2E-09
+ DLCIGD = 5.00E-09
+ DLCIGS = 5.00E-09
+ DROUT = 4.97
+ DSUB = 0.5
+ DVT0 = 0.05006
+ DVT1 = 0.4
+ DVTSHIFT = 0
+ EASUB  = 4.05
+ EGIDL = 1.142
+ EGISL = 1.142
+ EOT  = 2.10E-09
+ EOTACC  = 3.00E-10
+ EOTBOX  = 1.40E-07
+ EPSROX  = 3.9
+ EPSRSP  = 3.9
+ EPSRSUB  = 11.9
+ ETA0  = 0.03952
+ ETAMOB = 4
+ ETAQM  = 0.54
+ EU = 0.05
+ FPITCH  = 4.00E-08
+ HFIN  = 3.00E-08
+ IGT  = 3.5
+ K1RSCE = 0
+ KSATIV = 1.592
+ KT1 = 0.08387
+ KT1L = 0
+ L  = 2.50E-08
+ LINT  = -2.5E-09
+ LPE0 = 0
+ LCDSCD = 0
+ LCDSCDR = 0
+ LRDSW = 1.3
+ LVSAT = 1441
+ MEXP = 2.491
+ NBODY  = 1E+22
+ NC0SUB  = 2.86E+25
+ NI0SUB  = 1.1E+16
+ NIGC = 0.5
+ NSD  = 2E+26
+ PCLM = 0.01
+ PCLMCV = 0.013
+ PCLMG = 1
+ PCLMGCV = 0
+ PDIBL1 = 800
+ PDIBL2 = 0.005704
+ PHIG  = 4.678
+ PHIN = 0.05
+ POXEDGE = 1.152
+ PQM  = 0.66
+ PRT  = 0.002477
+ PRWG  = 0
+ PTWG  = 6.322
+ PTWGT  = 0.0015
+ PVAG = 200
+ QM0  = 2.183E-12
+ QMFACTOR  = 0
+ RDSW  = 190.6
+ RDSWMIN  = 0
+ RDWMIN  = 0
+ RSHD  = 0
+ RSHS  = 0
+ RSWMIN  = 0
+ RTH0  = 0.15
+ TBGASUB = 0.000473
+ TBGBSUB = 636
+ TFIN  = 1.40E-08
+ TGIDL  = -0.01
+ TMEXP  = 0
+ TNOM = 25
+ TOXP  = 2.1E-09
+ U0 = 0.02935
+ UA = 1.133
+ UA1 = 0.00134
+ UCS = 0.2672
+ UCSTE = 0
+ UD = 0.0105
+ UD1 = 0
+ UP = 0
+ UTE = 0
+ UTL = 0.001
+ VASAT = 5
+ VASATCV = 0.2
+ VSAT = 48390
+ WR  = 1
+ WTH0  = 2.60E-07
+ XL  = 0

xyce-users

unread,
Nov 4, 2016, 9:14:31 AM11/4/16
to xyce-users
In Xyce, the BSIM-CMG  v107 is the level 107 MOSFET device, which means your model card must be of type "nmos" or "pmos", and must have the "level=107" parameter.  The modelcard.pmos file from BSIM-CMG is not of this form, and assumes that the BSIM-CMG model takes a model card of type "bsimcmg," as is the case for some other simulators.

A modified version of modelcard.pmos with exactly the same parameters but set up to work for Xyce, may be found in the Netlists/BSIMCMG directory of the Xyce test suite.  I'm attaching it here, for convenience.  But the simple answer is that you just need to change "bsimcmg" to "pmos" and add "level=107" to modelcard.pmos.  You can also omit "DEVTYPE=0" parameter from the pmos model if you like, because Xyce automatically sets that parameter to 0 for pmos devices and to 1 for nmos.

Xyce version 6.6, which should be released sometime next week, has an updated BSIM-CMG v110 in addition to the v107.  The BSIM-CMG v110 will be the level 110 MOSFET device. 
modelcard.pmos_xyce

stone door

unread,
Nov 4, 2016, 3:31:03 PM11/4/16
to xyce-users, xyce-...@googlegroups.com
Thank you so much - It works for the Berkely BSIM-CMG model!

Got another question, I also tried ASU PTM model (http://ptm.asu.edu/, level = 72, starting with ".model pfet pmos level = 72 " and "+version = 105.03" ) - it showed the error of "no valid model card found". Should I change to "level = 105", so as to make it work? Again thank you very much!
7pfet.pm

xyce-users

unread,
Nov 4, 2016, 3:41:35 PM11/4/16
to xyce-users
You will have to determine what model the ASU PTM model cards are extracted for, and use the appropriate model level in Xyce to match that, if we support it.  The complete list of supported MOSFET models is enumerated in the Xyce Reference Guide, which was included in the Windows installer you downloaded. 

Model levels in Xyce for a specific model rarely match those of other simulators, except for legacy models derived from the original SPICE3F5.  For this reason, you will almost always need to modify model cards you download from the web, if only to change the level number.

A cursory glance at the ASU PTM model cards shows that they were extracted for the BSIM-CMG version 105, which HSPICE has as its level 72 MOSFET.  This older version of the BSIM-CMG model is not available in Xyce.  It is possible the version 107 model would work, in which case simply changing "level=72" to "level=107" would do the trick.  It all depends on how much changed in BSIM-CMG between versions 105.03 and 107.0.  

stone door

unread,
Nov 4, 2016, 4:58:18 PM11/4/16
to xyce-users, xyce-...@googlegroups.com
Yes, "Level=107" works though there are 9 parameters are not defined.
Thank you so much and have a nice weekend!
Reply all
Reply to author
Forward
0 new messages