if ADMS hardwired, adms3 ohne autogen, spearate compiled

siehe /s/larice/ngspice.work/build-adms3/do.el

  das u device ist highjacked
  man braucht LD_LIBRARY_PATH
This commit is contained in:
Robert Larice 2012-04-12 22:18:51 +02:00 committed by rlar
parent 8a2fa89af3
commit 5b326d9050
10 changed files with 26 additions and 26 deletions

View File

@ -1592,7 +1592,7 @@ comment_out_unused_subckt_models( struct line *start_card , int no_of_lines)
if ( strcmp( used_model_names[i], model_name ) == 0 || model_bin_match( used_model_names[i], model_name ) ) found_model = TRUE;
}
if (model_type) tfree(model_type);
#if ADMS >= 3
#if ADMS >= 3 || 1
/* ngspice strategy to detect unused models fails with dynamic models - reason: # of terms unknown during parsing */
#else
if ( !found_model ) *line = '*';

View File

@ -212,7 +212,7 @@ com_version(wordlist *wl)
#ifdef NGDEBUG
fprintf(cp_out,"** Debugging option (-g) enabled\n");
#endif
#ifdef ADMS
#if defined(ADMS) || 1
fprintf(cp_out,"** Adms interface enabled\n");
#endif
#ifdef USE_OMP

View File

@ -1902,7 +1902,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod)
tfree(s->li_line);
s->li_line = buffer;
break;
#if ADMS >= 3
#if ADMS >= 3 || 1
case 'u': /* urc transmissionline */ /* hijacked for adms */
name = gettok_node(&t); /* this can be either a model name or a node name. */
for (wlsub = submod; wlsub; wlsub = wlsub->wl_next)
@ -2048,7 +2048,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod)
}
}
#ifdef ADMS
#if defined(ADMS) || 1
if (!wlsub) {
if (*t) { /* There is another token - perhaps a model */
(void) sprintf(buffer + strlen(buffer), "%s ", name);

View File

@ -103,7 +103,7 @@ typedef struct SPICEdev {
} SPICEdev; /* instance of structure for each possible type of device */
#if ADMS >= 3
#if ADMS >= 3 || 1
typedef struct SPICEadmsdev {
SPICEdev spicedev;
int (*DEVunsetup)(GENmodel*,CKTcircuit*);

View File

@ -233,7 +233,7 @@ extern char *Inp_Path;
extern int ARCHme; /* My logical process number */
extern int ARCHsize; /* Total number of processes */
#if ADMS >= 3
#if ADMS >= 3 || 1
int load_vadev(CKTcircuit *ckt, char *name);
#endif

View File

@ -122,7 +122,7 @@ int add_udn(int,Evt_Udn_Info_t **);
#include "vccs/vccsitf.h"
#include "vcvs/vcvsitf.h"
#include "vsrc/vsrcitf.h"
#ifdef ADMS
#if defined(ADMS) && 0
#include "adms/hicum0/hicum0itf.h"
#include "adms/hicum2/hicum2itf.h"
#include "adms/mextram/bjt504titf.h"
@ -142,7 +142,7 @@ int add_udn(int,Evt_Udn_Info_t **);
#endif
/*saj in xspice the DEVices size can be varied so DEVNUM is an int*/
#if defined XSPICE || ADMS >= 3
#if defined(XSPICE) || ADMS >= 3 || 1
static int DEVNUM = 63;
#else
#define DEVNUM 63
@ -165,7 +165,7 @@ int DEVflag(int type){
}
#endif
#if ADMS >= 3
#if ADMS >= 3 || 1
#include "ngspice/fteext.h" /* for ft_sim */
#include "ngspice/cktdefs.h" /* for DEVmaxnum */
#include <dlfcn.h>
@ -311,7 +311,7 @@ spice_init_devices(void)
DEVices[53] = NULL;
#endif
#ifdef ADMS
#if defined(ADMS) && 0
DEVices[54] = (SPICEdev*)get_hicum0_info();
DEVices[55] = (SPICEdev*)get_hicum2_info();
DEVices[56] = (SPICEdev*)get_bjt504t_info();
@ -356,7 +356,7 @@ SPICEdev ** devices(void)
#ifdef DEVLIB
/*not yet usable*/
#ifdef ADMS
#if defined(ADMS) && 0
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v4", "bsim4v5", "bsim4v6", \
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv", \
"cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \

View File

@ -231,7 +231,7 @@ INP2M (CKTcircuit *ckt, INPtables * tab, card * current)
#ifdef CIDER
&& thismodel->INPmodType != INPtypelook ("NUMOS")
#endif
#ifdef ADMS
#if defined(ADMS) || 1
&& thismodel->INPmodType != INPtypelook ("ekv")
&& thismodel->INPmodType != INPtypelook ("psp102")
#endif

View File

@ -11,7 +11,7 @@ Modified: 2001 Paolo Nenzi (Cider Integration)
#include "ngspice/fteext.h"
#include "inp.h"
#ifdef ADMS
#if defined(ADMS) || 1
#include "error.h" /* controlled_exit() */
#endif
@ -28,14 +28,14 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
char *nname2; /* the second node's name */
char *nname3; /* the third node's name */
char *nname4; /* the fourth node's name */
#ifdef ADMS
#if defined(ADMS) || 1
char *nname5; /* the fifth node's name */
#endif
CKTnode *node1; /* the first node's node pointer */
CKTnode *node2; /* the second node's node pointer */
CKTnode *node3; /* the third node's node pointer */
CKTnode *node4; /* the fourth node's node pointer */
#ifdef ADMS
#if defined(ADMS) || 1
CKTnode *node5; /* the fifth node's node pointer */
#endif
int error; /* error code temporary */
@ -87,7 +87,7 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
/* 4-terminal device - special case with tnodeout flag not handled */
INPinsert(&model, tab);
current->error = INPgetMod(ckt, model, &thismodel, tab);
#ifdef ADMS
#if defined(ADMS) || 1
if (thismodel == NULL) {
fprintf(stderr, "%s\nPlease check model, level or number of terminals!\n", current->error);
controlled_exit(EXIT_BAD);
@ -126,7 +126,7 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
&& (thismodel->INPmodType != INPtypelook("NBJT"))
&& (thismodel->INPmodType != INPtypelook("NBJT2"))
#endif
#ifdef ADMS
#if defined(ADMS) || 1
&& (thismodel->INPmodType != INPtypelook("hicum0"))
&& (thismodel->INPmodType != INPtypelook("hicum2"))
&& (thismodel->INPmodType != INPtypelook("bjt504t"))
@ -136,7 +136,7 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
LITERR("incorrect model type")
return;
}
#ifdef ADMS
#if defined(ADMS) || 1
if ((nodeflag && (thismodel->INPmodType != INPtypelook("hicum0")))
&& (nodeflag && (thismodel->INPmodType != INPtypelook("hicum2")))
&& (nodeflag && (thismodel->INPmodType != INPtypelook("bjt504t"))))
@ -176,7 +176,7 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, CKTnode *gnode)
IFC(bindNode, (ckt, fast, 3, node3));
IFC(bindNode, (ckt, fast, 4, node4));
#ifdef ADMS
#if defined(ADMS) || 1
if (nodeflag) { /* 5-node device */
IFC(bindNode, (ckt, fast, 5, node5));
}

View File

@ -10,13 +10,13 @@ Author: 1988 Thomas L. Quarles
#include "ngspice/inpmacs.h"
#include "ngspice/fteext.h"
#include "inp.h"
#if ADMS >= 3
#if ADMS >= 3 || 1
#include "error.h" /* controlled_exit() */
#endif
void INP2U(CKTcircuit *ckt, INPtables * tab, card * current)
{
#if ADMS >= 3
#if ADMS >= 3 || 1
/* Uname <node> <node> ... <model> [param1=<val1>] [param1=<val2>] ... */

View File

@ -7,7 +7,7 @@ Author: 1985 Thomas L. Quarles
#include "ngspice/iferrmsg.h"
#include "ngspice/inpdefs.h"
#include "inp.h"
#if ADMS >= 3
#if ADMS >= 3 || 1
#include "error.h" /* controlled_exit() */
#endif
@ -45,7 +45,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
INPinsert(&modname, tab); /* stick model name into table */
INPgetTok(&line, &type_name, 1); /* get model type */
#if ADMS >= 3
#if ADMS >= 3 || 1
if ((type=load_vadev(ckt,type_name)) && type>=0) {
INPmodel *thismodel;
char *error;
@ -84,7 +84,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
"Device type VBIC not available in this binary\n");
}
break;
#ifdef ADMS
#if defined(ADMS) || 1
case 6:
type = INPtypelook("bjt504t");
if(type < 0) {
@ -357,7 +357,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
INPmkTemp
("Device type BSIM6 not available in this binary\n");}
break;
#ifdef ADMS
#if defined(ADMS) || 1
case 44:
type = INPtypelook("ekv");
if (type < 0) {
@ -435,7 +435,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
default: /* placeholder; use level xxx for the next model */
err =
INPmkTemp
#ifdef ADMS
#if defined(ADMS) || 1
("Only MOS device levels 1-6,8-10,14,44,45,49,54-58,60-62 are supported in this binary\n");
#else
("Only MOS device levels 1-6,8-10,14,49,54-58,60-62 are supported in this binary\n");