Merge branch 'pre-master-43' into bt_dev

This commit is contained in:
Brian Taylor 2024-03-10 15:04:39 -07:00
commit 658af05588
6 changed files with 36 additions and 6 deletions

View File

@ -854,7 +854,7 @@ listparam(wordlist *p, dgen *dg)
else
fprintf(cp_out, "%*.*s", LEFT_WIDTH, LEFT_WIDTH, " ");
k = dgen_for_n(dg, count, printvals_old, (plist + i), j);
printf("\n");
fprintf(cp_out,"\n");
j += 1;
} while (k > 0);
} else {

View File

@ -1447,17 +1447,20 @@ inp_dodeck(
else if (dd->linenum_orig == 0) {
fprintf(stderr, "Error on line:\n %s\n%s\n",
dd->line, dd->error);
if (ft_stricterror)
controlled_exit(EXIT_BAD);
have_err = TRUE;
return 1;
}
else {
fprintf(stderr, "Error on line %d or its substitute:\n %s\n%s\n",
dd->linenum_orig, dd->line, dd->error);
if (ft_stricterror)
controlled_exit(EXIT_BAD);
have_err = TRUE;
return 1;
}
if (ft_stricterror)
controlled_exit(EXIT_BAD);
} else {
fprintf(stderr, "%s\n", p);
}
@ -1941,6 +1944,8 @@ com_source(wordlist *wl)
Infile_Path = ngdirname(firstfile);
if (inp_spsource(fp, FALSE, tempfile ? NULL : wl->wl_word, FALSE) != 0) {
fprintf(stderr, " Simulation interrupted due to error!\n\n");
if (ft_stricterror)
controlled_exit(EXIT_FAILURE);
}
}

View File

@ -1115,6 +1115,8 @@ struct card *inp_readall(FILE *fp, const char *dir_name,
if (inp_poly_2g6_compat(working)) {
inp_rem_levels(root);
line_free_x(cc, TRUE);
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return NULL;
}
#else
@ -1393,6 +1395,8 @@ struct inp_read_t inp_read( FILE *fp, int call_depth, const char *dir_name,
if (!y_resolved) {
fprintf(cp_err, "Error: Could not find include file %s\n",
y);
if (ft_stricterror)
controlled_exit(EXIT_FAILURE);
rv.line_number = line_number;
rv.cc = NULL;
return rv;
@ -5849,6 +5853,8 @@ static void inp_compat(struct card *card)
(firstno && !secondno)) {
fprintf(stderr, "Error: Missing token in %s\n",
curr_line);
if (ft_stricterror)
controlled_exit(EXIT_FAILURE);
break;
}
else if (!firstno && !secondno)
@ -6060,6 +6066,8 @@ static void inp_compat(struct card *card)
if ((!firstno && secondno) || (firstno && !secondno)) {
fprintf(stderr, "Error: Missing token in %s\n",
curr_line);
if (ft_stricterror)
controlled_exit(EXIT_BAD);
break;
}
else if (!firstno && !secondno)
@ -8080,6 +8088,8 @@ static int inp_vdmos_model(struct card *deck)
" in VDMOS instance line with thermal model\n"
" %s\n", card->line);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
/* next token is the model name of instance */
@ -8101,6 +8111,8 @@ static int inp_vdmos_model(struct card *deck)
" %s\n", card->line);
fprintf(stderr, "No circuit loaded!\n");
tfree(instmodname);
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
}
@ -9134,6 +9146,8 @@ static int inp_poly_2g6_compat(struct card* deck) {
if (!curr_line) {
fprintf(stderr, "Error: bad syntax of line\n %s\n", thisline);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
/* exclude all of the following fourth tokens */
@ -9171,6 +9185,8 @@ static int inp_poly_2g6_compat(struct card* deck) {
if (!curr_line) {
fprintf(stderr, "Error: not enough parameters in line\n %s\n", thisline);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
/* The next token may be a simple text token or an expression
@ -9184,6 +9200,8 @@ static int inp_poly_2g6_compat(struct card* deck) {
if (!curr_line) {
fprintf(stderr, "Error: not enough parameters in line\n %s\n", thisline);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
if (*curr_line == '\0')
@ -9195,6 +9213,8 @@ static int inp_poly_2g6_compat(struct card* deck) {
if (!curr_line) {
fprintf(stderr, "Error: not enough parameters in line\n %s\n", thisline);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
/* The next token may be a simple text token or an expression
@ -9208,6 +9228,8 @@ static int inp_poly_2g6_compat(struct card* deck) {
if (!curr_line) {
fprintf(stderr, "Error: not enough parameters in line\n %s\n", thisline);
fprintf(stderr, "No circuit loaded!\n");
if (ft_stricterror)
controlled_exit(EXIT_BAD);
return 1;
}
if (*curr_line == '\0')

View File

@ -1461,8 +1461,8 @@ int main(int argc, char **argv)
/* Copy the input file name for becoming another file search path */
if (inp_spsource(tempfile, FALSE, dname, FALSE) != 0) {
fprintf(stderr, " Simulation interrupted due to error!\n\n");
if (oflag && !cp_getvar("interactive", CP_BOOL, NULL, 0))
exit(EXIT_BAD);
if (ft_stricterror || (oflag && !cp_getvar("interactive", CP_BOOL, NULL, 0)))
sp_shutdown(EXIT_BAD);
}
tfree(dname);
gotone = TRUE;
@ -1477,6 +1477,8 @@ int main(int argc, char **argv)
if (!gotone && ft_batchmode) {
if (inp_spsource(circuit_file, FALSE, NULL, FALSE) != 0) {
fprintf(stderr, " Simulation interrupted due to error!\n\n");
if (ft_stricterror)
sp_shutdown(EXIT_BAD);
}
}

View File

@ -104,6 +104,7 @@ IFparm DIOmPTable[] = { /* model parameters */
IOP( "fc", DIO_MOD_FC, IF_REAL, "Forward bias junction fit parameter"),
IOP( "fcs", DIO_MOD_FCS, IF_REAL, "Forward bias sidewall junction fit parameter"),
IOP( "bv", DIO_MOD_BV, IF_REAL, "Reverse breakdown voltage"),
IOPR( "vb", DIO_MOD_BV, IF_REAL, "Reverse breakdown voltage"),
IOP( "ibv", DIO_MOD_IBV, IF_REAL, "Current at reverse breakdown voltage"),
IOPR( "ib", DIO_MOD_IBV, IF_REAL, "Current at reverse breakdown voltage"),
IOP( "tcv", DIO_MOD_TCV, IF_REAL, "Reverse breakdown voltage temperature coefficient"),

View File

@ -36,7 +36,7 @@ if $?osdi_enabled
osdi @pkglibdir@/BSIMBULK107.osdi
osdi @pkglibdir@/BSIMCMG.osdi
osdi @pkglibdir@/HICUMl0-2.0.osdi
osdi @pkglibdir@/psp103.osdi
osdi @pkglibdir@/psp103_nqs.osdi
osdi @pkglibdir@/r2_cmc.osdi
osdi @pkglibdir@/vbic_4T_et_cf.osdi