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
|
2011-05-28 Dietmar Warning
|
||||||
* tests/hisim, tests/hisimhv: include the CMC test suite (Author: Colin McAndrew)
|
* tests/hisim, tests/hisimhv: include the CMC test suite (Author: Colin McAndrew)
|
||||||
provided by the model developer - Hiroshima University
|
provided by the model developer - Hiroshima University
|
||||||
|
|
||||||
2011-05-28 Holger Vogt
|
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
|
2011-05-28 Robert Larice
|
||||||
* src/ngsconvert.c :
|
* src/ngsconvert.c :
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ Author: 1985 Wayne A. Christopher
|
||||||
/*
|
/*
|
||||||
* SJB 21 April 2005
|
* SJB 21 April 2005
|
||||||
* Added support for end-of-line comments that begin with any of the following:
|
* 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)
|
* '//' (like in c++ and as per the numparam code)
|
||||||
* '--' (as per the numparam code)
|
* '--' (as per the numparam code)
|
||||||
* Any following text to the end of the line is ignored.
|
* 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 TABLE {V(1,2)} = (-1MV 0V) (1MV, 10V)
|
||||||
-->
|
-->
|
||||||
ECOMP 3 0 int3 int0 1
|
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 )
|
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
|
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
|
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 {Nodekey='#'} _nNodekey; /* Introduces node symbol */
|
||||||
typedef enum {Intro='&'} _nIntro; /* Introduces preprocessor tokens */
|
typedef enum {Intro='&'} _nIntro; /* Introduces preprocessor tokens */
|
||||||
typedef enum {Comment='*'} _nComment; /* Spice Comment lines*/
|
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 enum {Defd=15} _nDefd; /* serial numb. of 'defined' keyword. The others are not used (yet) */
|
||||||
|
|
||||||
typedef char * auxtable; /* dummy */
|
typedef char * auxtable; /* dummy */
|
||||||
|
|
@ -57,7 +57,7 @@ typedef struct _ttdico {
|
||||||
auxtable nodetab;
|
auxtable nodetab;
|
||||||
char **dynrefptr;
|
char **dynrefptr;
|
||||||
char *dyncategory;
|
char *dyncategory;
|
||||||
int hspice_compatibility; /* allow hspice keywords */
|
int hs_compatibility; /* allow extra keywords */
|
||||||
} tdico;
|
} tdico;
|
||||||
|
|
||||||
void initdico(tdico * dico);
|
void initdico(tdico * dico);
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ transform (tdico * dico, SPICE_DSTRINGPTR dstr_p, unsigned char nostripping,
|
||||||
s = spice_dstring_value(dstr_p) ;
|
s = spice_dstring_value(dstr_p) ;
|
||||||
if (s[0] == '.')
|
if (s[0] == '.')
|
||||||
{
|
{
|
||||||
/* check Pspice parameter format */
|
/* check PS parameter format */
|
||||||
scopy_up (&tstr, spice_dstring_value(dstr_p) ) ;
|
scopy_up (&tstr, spice_dstring_value(dstr_p) ) ;
|
||||||
k = 1;
|
k = 1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -228,10 +228,10 @@ initdico (tdico * dico)
|
||||||
|
|
||||||
compat_mode = ngspice_compat_mode() ;
|
compat_mode = ngspice_compat_mode() ;
|
||||||
|
|
||||||
if( compat_mode == COMPATMODE_HSPICE )
|
if( compat_mode == COMPATMODE_HS )
|
||||||
dico->hspice_compatibility = 1 ;
|
dico->hs_compatibility = 1 ;
|
||||||
else
|
else
|
||||||
dico->hspice_compatibility = 0 ;
|
dico->hs_compatibility = 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dico_free_entry( entry *entry_p )
|
void dico_free_entry( entry *entry_p )
|
||||||
|
|
@ -1431,9 +1431,9 @@ scanline (tdico * dico, char *s, char *r, bool err)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
c = s[i - 1];
|
c = s[i - 1];
|
||||||
if (c == Pspice)
|
if (c == Psp)
|
||||||
{
|
{
|
||||||
/* try pspice expression syntax */
|
/* try ps expression syntax */
|
||||||
k = i;
|
k = i;
|
||||||
nnest = 1;
|
nnest = 1;
|
||||||
do
|
do
|
||||||
|
|
@ -1453,7 +1453,7 @@ scanline (tdico * dico, char *s, char *r, bool err)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pscopy (t, s, i + 1, k - i - 1);
|
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") ;
|
strcpy(q,"last") ;
|
||||||
err=0;
|
err=0;
|
||||||
|
|
@ -1629,9 +1629,9 @@ nupa_substitute (tdico * dico, char *s, char *r, bool err)
|
||||||
i++;
|
i++;
|
||||||
c = s[i - 1];
|
c = s[i - 1];
|
||||||
|
|
||||||
if (c == Pspice)
|
if (c == Psp)
|
||||||
{
|
{
|
||||||
/* try pspice expression syntax */
|
/* try ps expression syntax */
|
||||||
k = i;
|
k = i;
|
||||||
nnest = 1;
|
nnest = 1;
|
||||||
do
|
do
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
COMPATMODE_NATIVE = 0,
|
COMPATMODE_NATIVE = 0,
|
||||||
COMPATMODE_HSPICE = 1,
|
COMPATMODE_HS = 1,
|
||||||
COMPATMODE_SPICE3 = 2,
|
COMPATMODE_SPICE3 = 2,
|
||||||
COMPATMODE_ALL = 3,
|
COMPATMODE_ALL = 3,
|
||||||
} COMPATMODE_T ;
|
} COMPATMODE_T ;
|
||||||
|
|
|
||||||
11
src/main.c
11
src/main.c
|
|
@ -420,9 +420,10 @@ int DEVmaxnum = 0;
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* Set a compatibility flag.
|
/* Set a compatibility flag.
|
||||||
Currently available are flags for:
|
Currently available are flags for:
|
||||||
ngspice (standard)
|
- ngspice (standard)
|
||||||
HSPICE
|
- a commercial simulator
|
||||||
Spice3
|
- Spice3
|
||||||
|
- all compatibility staff
|
||||||
*/
|
*/
|
||||||
COMPATMODE_T ngspice_compat_mode(void)
|
COMPATMODE_T ngspice_compat_mode(void)
|
||||||
{
|
{
|
||||||
|
|
@ -431,8 +432,8 @@ COMPATMODE_T ngspice_compat_mode(void)
|
||||||
if( cp_getvar("ngbehavior", CP_STRING, behaviour)){
|
if( cp_getvar("ngbehavior", CP_STRING, behaviour)){
|
||||||
if (strcasecmp(behaviour,"all")==0)
|
if (strcasecmp(behaviour,"all")==0)
|
||||||
return( COMPATMODE_ALL ) ;
|
return( COMPATMODE_ALL ) ;
|
||||||
if (strcasecmp(behaviour,"hspice")==0)
|
if (strcasecmp(behaviour,"hs")==0)
|
||||||
return( COMPATMODE_HSPICE ) ;
|
return( COMPATMODE_HS ) ;
|
||||||
if (strcasecmp(behaviour,"spice3")==0)
|
if (strcasecmp(behaviour,"spice3")==0)
|
||||||
return( COMPATMODE_SPICE3 ) ;
|
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( "nmos", BSIM3v1_MOD_NMOS, IF_FLAG, "Flag to indicate NMOS"),
|
||||||
IP( "pmos", BSIM3v1_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
IP( "pmos", BSIM3v1_MOD_PMOS, IF_FLAG, "Flag to indicate PMOS"),
|
||||||
/* serban */
|
/* 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[] = {
|
char *BSIM3v1names[] = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue