diff --git a/src/frontend/inpcom.c b/src/frontend/inpcom.c index 838c5d641..4540d08bc 100644 --- a/src/frontend/inpcom.c +++ b/src/frontend/inpcom.c @@ -2646,12 +2646,10 @@ static void get_subckts_for_subckt(struct card *start_card, char *subckt_name, char *inst_subckt_name = get_instance_subckt(line); nlist_adjoin(used_subckts, inst_subckt_name); } -#ifndef OSDI else if (*line == 'a') { char *model_name = get_adevice_model_name( line, card->level); nlist_adjoin(used_models, model_name); } -#endif // !OSDI else if (has_models) { int num_terminals = get_number_terminals(line); if (num_terminals != 0) { @@ -2734,12 +2732,10 @@ void comment_out_unused_subckt_models(struct card *start_card) char *subckt_name = get_instance_subckt(line); nlist_adjoin(used_subckts, subckt_name); } -#ifndef OSDI else if (*line == 'a') { char *model_name = get_adevice_model_name(line, card->level); nlist_adjoin(used_models, model_name); } -#endif // !OSDI else if (has_models) { /* This is a preliminary version, until we have found a reliable method to detect the model name out of the input @@ -4730,7 +4726,7 @@ int get_number_terminals(char *c) break; } #ifdef OSDI - case 'a': /* Recognize an unknown number of nodes by stopping at tokens with '=' */ + case 'n': /* Recognize an unknown number of nodes by stopping at tokens with '=' */ { i = 0; char* cc, * ccfree; diff --git a/src/frontend/subckt.c b/src/frontend/subckt.c index 8f7f58f0a..b04ad01de 100644 --- a/src/frontend/subckt.c +++ b/src/frontend/subckt.c @@ -1438,10 +1438,8 @@ translate(struct card *deck, char *formal, char *actual, char *scname, const cha /* FIXME anothet hack: if no models found for m devices, set number of nodes to 4 */ if (!modnames && *(c->line) == 'm') nnodes = get_number_terminals(c->line); -#ifdef OSDI - else if (*(c->line) == 'a') + else if (*(c->line) == 'n') nnodes = get_number_terminals(c->line); -#endif else nnodes = numnodes(c->line, subs, modnames); while (--nnodes >= 0) { @@ -1693,7 +1691,7 @@ numnodes(const char *line, struct subs *subs, wordlist const *modnames) /* If model names equal node names, this code will fail! */ #ifdef OSDI - if ((c == 'a') ||(c == 'm') || (c == 'p') || (c == 'q') || (c == 'd')) { /* IF this is a mos, cpl, bjt or diode */ + if ((c == 'n') ||(c == 'm') || (c == 'p') || (c == 'q') || (c == 'd')) { /* IF this is a mos, cpl, bjt or diode */ #else if ((c == 'm') || (c == 'p') || (c == 'q') || (c == 'd')) { /* IF this is a mos, cpl, bjt or diode */ #endif @@ -2268,7 +2266,7 @@ inp_numnodes(char c) case 'z': return (3); #ifdef OSDI - case 'a': + case 'n': return (7); #endif diff --git a/test_cases/test-psp103/psp_inverter.sp b/test_cases/test-psp103/psp_inverter.sp index 6eef89a6b..4c413388c 100644 --- a/test_cases/test-psp103/psp_inverter.sp +++ b/test_cases/test-psp103/psp_inverter.sp @@ -18,7 +18,7 @@ Xnot1 in vdd vss out not1 .subckt not1 a vdd vss z *m01 z a vdd vdd pch l=0.1u w=1u as=0.26235 ad=0.26235 ps=2.51 pd=2.51 -amp1 z a vdd vdd pch +nmp1 z a vdd vdd pch +l=0.1u +w=1u +sa=0.0e+00 @@ -32,7 +32,7 @@ amp1 z a vdd vdd pch +mult=1.0e+00 *m02 z a vss vss nch l=0.1u w=0.5u as=0.131175 ad=0.131175 ps=1.52 pd=1.52 -amn1 z a vss vss nch +nmn1 z a vss vss nch +l=0.1u +w=1u +sa=0.0e+00