comp issues
This commit is contained in:
parent
d9531e3e75
commit
f94cc3a8a0
|
|
@ -1,9 +1,14 @@
|
|||
2011-05-29 Holger Vogt
|
||||
* main.c, inpcom.c, numparam.h, spicenum.c, xpressn.c, compatmode.h, b3v1.c:
|
||||
compatibility issues
|
||||
|
||||
2011-05-28 Dietmar Warning
|
||||
* tests/hisim, tests/hisimhv: include the CMC test suite (Author: Colin McAndrew)
|
||||
provided by the model developer - Hiroshima University
|
||||
|
||||
2011-05-28 Holger Vogt
|
||||
* update to prepare release 23
|
||||
* configure.ac, visualc/config.h, CPOYING, FAQ, INSTALL, NEWS:
|
||||
update to prepare release 23
|
||||
|
||||
2011-05-28 Robert Larice
|
||||
* src/ngsconvert.c :
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ Author: 1985 Wayne A. Christopher
|
|||
/*
|
||||
* SJB 21 April 2005
|
||||
* Added support for end-of-line comments that begin with any of the following:
|
||||
* ';' (for PSpice compatability)
|
||||
* '$ ' (for HSpice compatability)
|
||||
* ';'
|
||||
* '$ '
|
||||
* '//' (like in c++ and as per the numparam code)
|
||||
* '--' (as per the numparam code)
|
||||
* Any following text to the end of the line is ignored.
|
||||
|
|
@ -3625,7 +3625,7 @@ inp_split_multi_param_lines( struct line *deck, int line_num )
|
|||
|
||||
|
||||
|
||||
/* pspice compatibility:
|
||||
/* ps compatibility:
|
||||
ECOMP 3 0 TABLE {V(1,2)} = (-1MV 0V) (1MV, 10V)
|
||||
-->
|
||||
ECOMP 3 0 int3 int0 1
|
||||
|
|
@ -3637,7 +3637,7 @@ inp_split_multi_param_lines( struct line *deck, int line_num )
|
|||
BGD16 int_16 int_1 V = pwl (v(16,1) , -100V , -1pV , 0 , 0 , 1m , 1u , 2m , 1m )
|
||||
*/
|
||||
|
||||
/* hspice compatibility:
|
||||
/* hs compatibility:
|
||||
Exxx n1 n2 VCVS n3 n4 gain --> Exxx n1 n2 n3 n4 gain
|
||||
Gxxx n1 n2 VCCS n3 n4 tr --> Exxx n1 n2 n3 n4 tr
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
typedef enum {Nodekey='#'} _nNodekey; /* Introduces node symbol */
|
||||
typedef enum {Intro='&'} _nIntro; /* Introduces preprocessor tokens */
|
||||
typedef enum {Comment='*'} _nComment; /* Spice Comment lines*/
|
||||
typedef enum {Pspice='{'} _nPspice; /* Pspice expression */
|
||||
typedef enum {Psp='{'} _nPsp; /* Ps expression */
|
||||
typedef enum {Defd=15} _nDefd; /* serial numb. of 'defined' keyword. The others are not used (yet) */
|
||||
|
||||
typedef char * auxtable; /* dummy */
|
||||
|
|
@ -57,7 +57,7 @@ typedef struct _ttdico {
|
|||
auxtable nodetab;
|
||||
char **dynrefptr;
|
||||
char *dyncategory;
|
||||
int hspice_compatibility; /* allow hspice keywords */
|
||||
int hs_compatibility; /* allow extra keywords */
|
||||
} tdico;
|
||||
|
||||
void initdico(tdico * dico);
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ transform (tdico * dico, SPICE_DSTRINGPTR dstr_p, unsigned char nostripping,
|
|||
s = spice_dstring_value(dstr_p) ;
|
||||
if (s[0] == '.')
|
||||
{
|
||||
/* check Pspice parameter format */
|
||||
/* check PS parameter format */
|
||||
scopy_up (&tstr, spice_dstring_value(dstr_p) ) ;
|
||||
k = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -228,10 +228,10 @@ initdico (tdico * dico)
|
|||
|
||||
compat_mode = ngspice_compat_mode() ;
|
||||
|
||||
if( compat_mode == COMPATMODE_HSPICE )
|
||||
dico->hspice_compatibility = 1 ;
|
||||
if( compat_mode == COMPATMODE_HS )
|
||||
dico->hs_compatibility = 1 ;
|
||||
else
|
||||
dico->hspice_compatibility = 0 ;
|
||||
dico->hs_compatibility = 0 ;
|
||||
}
|
||||
|
||||
void dico_free_entry( entry *entry_p )
|
||||
|
|
@ -1431,9 +1431,9 @@ scanline (tdico * dico, char *s, char *r, bool err)
|
|||
{
|
||||
i++;
|
||||
c = s[i - 1];
|
||||
if (c == Pspice)
|
||||
if (c == Psp)
|
||||
{
|
||||
/* try pspice expression syntax */
|
||||
/* try ps expression syntax */
|
||||
k = i;
|
||||
nnest = 1;
|
||||
do
|
||||
|
|
@ -1453,7 +1453,7 @@ scanline (tdico * dico, char *s, char *r, bool err)
|
|||
else
|
||||
{
|
||||
pscopy (t, s, i + 1, k - i - 1);
|
||||
if( dico->hspice_compatibility && (strcasecmp(t,"LAST")==0) )
|
||||
if( dico->hs_compatibility && (strcasecmp(t,"LAST")==0) )
|
||||
{
|
||||
strcpy(q,"last") ;
|
||||
err=0;
|
||||
|
|
@ -1629,9 +1629,9 @@ nupa_substitute (tdico * dico, char *s, char *r, bool err)
|
|||
i++;
|
||||
c = s[i - 1];
|
||||
|
||||
if (c == Pspice)
|
||||
if (c == Psp)
|
||||
{
|
||||
/* try pspice expression syntax */
|
||||
/* try ps expression syntax */
|
||||
k = i;
|
||||
nnest = 1;
|
||||
do
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
typedef enum {
|
||||
COMPATMODE_NATIVE = 0,
|
||||
COMPATMODE_HSPICE = 1,
|
||||
COMPATMODE_HS = 1,
|
||||
COMPATMODE_SPICE3 = 2,
|
||||
COMPATMODE_ALL = 3,
|
||||
} COMPATMODE_T ;
|
||||
|
|
|
|||
11
src/main.c
11
src/main.c
|
|
@ -420,9 +420,10 @@ int DEVmaxnum = 0;
|
|||
/* -------------------------------------------------------------------------- */
|
||||
/* Set a compatibility flag.
|
||||
Currently available are flags for:
|
||||
ngspice (standard)
|
||||
HSPICE
|
||||
Spice3
|
||||
- ngspice (standard)
|
||||
- a commercial simulator
|
||||
- Spice3
|
||||
- all compatibility staff
|
||||
*/
|
||||
COMPATMODE_T ngspice_compat_mode(void)
|
||||
{
|
||||
|
|
@ -431,8 +432,8 @@ COMPATMODE_T ngspice_compat_mode(void)
|
|||
if( cp_getvar("ngbehavior", CP_STRING, behaviour)){
|
||||
if (strcasecmp(behaviour,"all")==0)
|
||||
return( COMPATMODE_ALL ) ;
|
||||
if (strcasecmp(behaviour,"hspice")==0)
|
||||
return( COMPATMODE_HSPICE ) ;
|
||||
if (strcasecmp(behaviour,"hs")==0)
|
||||
return( COMPATMODE_HS ) ;
|
||||
if (strcasecmp(behaviour,"spice3")==0)
|
||||
return( COMPATMODE_SPICE3 ) ;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -428,7 +428,7 @@ IOP( "kf", BSIM3v1_MOD_KF, IF_REAL, "Flicker noise coefficient"),
|
|||
IP( "nmos", BSIM3v1_MOD_NMOS, IF_FLAG, "Flag to indicate NMOS"),
|
||||
IP( "pmos", BSIM3v1_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
||||
/* serban */
|
||||
IOP( "hdif", BSIM3v1_MOD_HDIF, IF_REAL, "S/D junction extension (HSPICE style)"),
|
||||
IOP( "hdif", BSIM3v1_MOD_HDIF, IF_REAL, "S/D junction extension"),
|
||||
};
|
||||
|
||||
char *BSIM3v1names[] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue