Add a predifined variable 'skywaterpdk' to speed up circuit
loading and parsing. If set, it removes quoting tokens for params. This requires that Skywater PDK does adequately stick to the ngspice syntax to put params in between braces. As far as tests go, it does. It also set the number of nodes for MSO devices to 4, so no lengthy search is required.
This commit is contained in:
parent
dd58b07949
commit
3d1cbf93ee
|
|
@ -7860,6 +7860,9 @@ static void inp_quote_params(struct card *c, struct card *end_c,
|
|||
{
|
||||
bool in_control = FALSE;
|
||||
|
||||
if (ft_skywaterpdk)
|
||||
return;
|
||||
|
||||
for (; c && c != end_c; c = c->nextcard) {
|
||||
|
||||
int i, j, num_terminals;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group
|
|||
|
||||
bool ft_acctprint = FALSE, ft_noacctprint = FALSE, ft_listprint = FALSE;
|
||||
bool ft_nodesprint = FALSE, ft_optsprint = FALSE, ft_noinitprint = FALSE;
|
||||
bool ft_norefprint = FALSE;
|
||||
bool ft_norefprint = FALSE, ft_skywaterpdk = FALSE;
|
||||
bool ft_ngdebug = FALSE, ft_nginfo = FALSE, ft_stricterror = FALSE;
|
||||
|
||||
static void setdb(char *str);
|
||||
|
|
@ -307,6 +307,8 @@ cp_usrset(struct variable *var, bool isset)
|
|||
ft_ngdebug = isset;
|
||||
} else if (eq(var->va_name, "nginfo")) {
|
||||
ft_nginfo = isset;
|
||||
} else if (eq(var->va_name, "skywaterpdk")) {
|
||||
ft_skywaterpdk = isset;
|
||||
} else if (eq(var->va_name, "noinit")) {
|
||||
ft_noinitprint = isset;
|
||||
} else if (eq(var->va_name, "norefvalue")) {
|
||||
|
|
|
|||
|
|
@ -1695,6 +1695,9 @@ numnodes(const char *line, struct subs *subs, wordlist const *modnames)
|
|||
return (nodes);
|
||||
}
|
||||
}
|
||||
/* if we use option skywaterpdk, MOS has four nodes. Required if number of devices is large */
|
||||
if (ft_skywaterpdk && c == 'm')
|
||||
return 4;
|
||||
|
||||
n = inp_numnodes(c);
|
||||
|
||||
|
|
|
|||
|
|
@ -268,6 +268,7 @@ extern struct card *inp_getoptsc(char *line, struct card *options);
|
|||
extern bool ft_ngdebug;
|
||||
extern bool ft_nginfo;
|
||||
extern bool ft_stricterror;
|
||||
extern bool ft_skywaterpdk;
|
||||
|
||||
/* parse.c */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue