Remove search for "family" parameters on subcircuits in XSPICE
automatic bridging support as string-valued parameter support is not yet intgrated.
This commit is contained in:
parent
4115064fd5
commit
a0357b3432
|
|
@ -96,15 +96,14 @@ for device libraries whose devices are defined by subcircuits.
|
|||
If found, set vcc from the parameter.
|
||||
|
||||
3: If a command interpreter variable "no_auto_bridge_family": exists, go to
|
||||
step 5. Search the connected device instances for a parameter, "family"
|
||||
with a string value. The first one found will be used. If no such
|
||||
instance exists, search for a string-valued parameter, "family",
|
||||
in enclosing subcircuits, as in step 2. If the first character of the
|
||||
value is not '*', the setup card will be ".include bridge_FFFFF_DDD.cir"
|
||||
where FFFFF is the family and DDD is the signal direction for
|
||||
the XSPICE device: "in", "out" or "inout". The device card will be
|
||||
"Xauto_bridge%d %s %s bridge_FFFFF_DDD vcc=%g", so a suitably
|
||||
parameterised subcircuit must be defined in the included file.
|
||||
step 5. Search the connected device instances for a parameter,
|
||||
"family" with a string value. The first one found will be used.
|
||||
If the first character of the value is not '*', the setup card will
|
||||
be ".include bridge_FFFFF_DDD.cir" where FFFFF is the family and
|
||||
DDD is the signal direction for the XSPICE device: "in", "out" or
|
||||
"inout". The device card will be "Xauto_bridge%d %s %s
|
||||
bridge_FFFFF_DDD vcc=%g", so a suitably parameterised subcircuit
|
||||
must be defined in the included file.
|
||||
|
||||
4: If the first character of "family" was '*', look for a variable
|
||||
"auto_bridge_FFFFF_TTTT_DDD" where FFFFF is the family without '*',
|
||||
|
|
@ -469,8 +468,8 @@ static struct bridge *find_bridge(Evt_Node_Info_t *event_node,
|
|||
family = NULL;
|
||||
deep = scan_devices(event_node, ckt, &family);
|
||||
|
||||
/* Look for a real parameter (.param type) and perhaps a string-valued
|
||||
* "family" parameter in the device's subcircuit and those enclosing it.
|
||||
/* Look for a real parameter (.param type) in the device's subcircuit
|
||||
* and those enclosing it.
|
||||
*/
|
||||
|
||||
snprintf(buff, sizeof buff, "%s", deep);
|
||||
|
|
@ -479,11 +478,7 @@ static struct bridge *find_bridge(Evt_Node_Info_t *event_node,
|
|||
snprintf(dot + 1, sizeof buff - (size_t)(dot - buff), vcc_parm);
|
||||
vcc = nupa_get_param(buff, &ok);
|
||||
}
|
||||
if (!family) {
|
||||
snprintf(dot + 1, sizeof buff - (size_t)(dot - buff), "family");
|
||||
family = nupa_get_string_param(buff);
|
||||
}
|
||||
if (ok && family)
|
||||
if (ok)
|
||||
break;
|
||||
*dot = '\0';
|
||||
}
|
||||
|
|
@ -498,8 +493,6 @@ static struct bridge *find_bridge(Evt_Node_Info_t *event_node,
|
|||
}
|
||||
}
|
||||
|
||||
if (!family)
|
||||
family = nupa_get_string_param("family");
|
||||
if (family && cp_getvar("no_auto_bridge_family", CP_BOOL, NULL, 0))
|
||||
family = NULL;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue