Replace 'a' by 'n' for OSDI device
This commit is contained in:
parent
5034cf5923
commit
dee718108b
|
|
@ -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);
|
char *inst_subckt_name = get_instance_subckt(line);
|
||||||
nlist_adjoin(used_subckts, inst_subckt_name);
|
nlist_adjoin(used_subckts, inst_subckt_name);
|
||||||
}
|
}
|
||||||
#ifndef OSDI
|
|
||||||
else if (*line == 'a') {
|
else if (*line == 'a') {
|
||||||
char *model_name = get_adevice_model_name( line, card->level);
|
char *model_name = get_adevice_model_name( line, card->level);
|
||||||
nlist_adjoin(used_models, model_name);
|
nlist_adjoin(used_models, model_name);
|
||||||
}
|
}
|
||||||
#endif // !OSDI
|
|
||||||
else if (has_models) {
|
else if (has_models) {
|
||||||
int num_terminals = get_number_terminals(line);
|
int num_terminals = get_number_terminals(line);
|
||||||
if (num_terminals != 0) {
|
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);
|
char *subckt_name = get_instance_subckt(line);
|
||||||
nlist_adjoin(used_subckts, subckt_name);
|
nlist_adjoin(used_subckts, subckt_name);
|
||||||
}
|
}
|
||||||
#ifndef OSDI
|
|
||||||
else if (*line == 'a') {
|
else if (*line == 'a') {
|
||||||
char *model_name = get_adevice_model_name(line, card->level);
|
char *model_name = get_adevice_model_name(line, card->level);
|
||||||
nlist_adjoin(used_models, model_name);
|
nlist_adjoin(used_models, model_name);
|
||||||
}
|
}
|
||||||
#endif // !OSDI
|
|
||||||
else if (has_models) {
|
else if (has_models) {
|
||||||
/* This is a preliminary version, until we have found a
|
/* This is a preliminary version, until we have found a
|
||||||
reliable method to detect the model name out of the input
|
reliable method to detect the model name out of the input
|
||||||
|
|
@ -4730,7 +4726,7 @@ int get_number_terminals(char *c)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifdef OSDI
|
#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;
|
i = 0;
|
||||||
char* cc, * ccfree;
|
char* cc, * ccfree;
|
||||||
|
|
|
||||||
|
|
@ -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 */
|
/* FIXME anothet hack: if no models found for m devices, set number of nodes to 4 */
|
||||||
if (!modnames && *(c->line) == 'm')
|
if (!modnames && *(c->line) == 'm')
|
||||||
nnodes = get_number_terminals(c->line);
|
nnodes = get_number_terminals(c->line);
|
||||||
#ifdef OSDI
|
else if (*(c->line) == 'n')
|
||||||
else if (*(c->line) == 'a')
|
|
||||||
nnodes = get_number_terminals(c->line);
|
nnodes = get_number_terminals(c->line);
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
nnodes = numnodes(c->line, subs, modnames);
|
nnodes = numnodes(c->line, subs, modnames);
|
||||||
while (--nnodes >= 0) {
|
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! */
|
/* If model names equal node names, this code will fail! */
|
||||||
#ifdef OSDI
|
#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
|
#else
|
||||||
if ((c == 'm') || (c == 'p') || (c == 'q') || (c == 'd')) { /* IF this is a mos, cpl, bjt or diode */
|
if ((c == 'm') || (c == 'p') || (c == 'q') || (c == 'd')) { /* IF this is a mos, cpl, bjt or diode */
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -2268,7 +2266,7 @@ inp_numnodes(char c)
|
||||||
case 'z':
|
case 'z':
|
||||||
return (3);
|
return (3);
|
||||||
#ifdef OSDI
|
#ifdef OSDI
|
||||||
case 'a':
|
case 'n':
|
||||||
return (7);
|
return (7);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ Xnot1 in vdd vss out not1
|
||||||
|
|
||||||
.subckt not1 a vdd vss z
|
.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
|
*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
|
+l=0.1u
|
||||||
+w=1u
|
+w=1u
|
||||||
+sa=0.0e+00
|
+sa=0.0e+00
|
||||||
|
|
@ -32,7 +32,7 @@ amp1 z a vdd vdd pch
|
||||||
+mult=1.0e+00
|
+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
|
*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
|
+l=0.1u
|
||||||
+w=1u
|
+w=1u
|
||||||
+sa=0.0e+00
|
+sa=0.0e+00
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue