Add a compatibility mode 'de' for degradation simulation.

This commit is contained in:
Holger Vogt 2025-08-25 10:59:02 +02:00
parent 404079d8f4
commit 29fda48618
3 changed files with 9 additions and 1 deletions

View File

@ -1485,6 +1485,7 @@ static struct inp_read_t inp_read(FILE* fp, int call_depth, const char* dir_name
tmpcomp.eg = newcompat.eg; /* EAGLE */
tmpcomp.mc = newcompat.mc; /* to be set for 'make check' */
tmpcomp.xs = newcompat.xs; /* XSPICE */
tmpcomp.de = newcompat.de; /* degradation */
/* save the new comptmode */
newcompat.isset = TRUE; /* at least one mode is set */
if (ciprefix(".incpslt", buffer)) {
@ -1505,6 +1506,7 @@ static struct inp_read_t inp_read(FILE* fp, int call_depth, const char* dir_name
newcompat.eg = FALSE;
newcompat.mc = FALSE;
newcompat.xs = FALSE;
newcompat.de = FALSE;
}
inp_stripcomments_line(buffer, FALSE, TRUE);
@ -1648,6 +1650,7 @@ static struct inp_read_t inp_read(FILE* fp, int call_depth, const char* dir_name
newcompat.eg = tmpcomp.eg; /* EAGLE */
newcompat.mc = tmpcomp.mc; /* to be set for 'make check' */
newcompat.xs = tmpcomp.xs; /* XSPICE */
newcompat.de = tmpcomp.de; /* degradation */
}
} /* end of .include handling */

View File

@ -78,6 +78,8 @@ void set_compat_mode(void)
newcompat.isset = newcompat.ps = TRUE; /*PSPICE*/
if (strstr(behaviour, "xs"))
newcompat.isset = newcompat.xs = TRUE; /*XSPICE*/
if (strstr(behaviour, "de"))
newcompat.isset = newcompat.de = TRUE; /*degradation*/
if (strstr(behaviour, "lt"))
newcompat.isset = newcompat.lt = TRUE; /*LTSPICE*/
if (strstr(behaviour, "ki"))
@ -106,7 +108,7 @@ void set_compat_mode(void)
/* reset everything for 'make check' */
if (newcompat.mc)
newcompat.eg = newcompat.hs = newcompat.spe = newcompat.ps = newcompat.xs =
newcompat.ll = newcompat.lt = newcompat.ki = newcompat.a = FALSE;
newcompat.ll = newcompat.lt = newcompat.ki = newcompat.a = newcompat.de = FALSE;
}
/* Print the compatibility flags */
@ -136,6 +138,8 @@ void print_compat_mode(void) {
fprintf(stdout, " spe");
if (newcompat.a)
fprintf(stdout, " a");
if (newcompat.de)
fprintf(stdout, " de");
fprintf(stdout, "\n\n");
}
else {

View File

@ -17,6 +17,7 @@ struct compat
bool eg; /* EAGLE */
bool mc; /* to be set for 'make check' */
bool xs; /* XSPICE */
bool de; /* degradation sim */
};
extern struct compat newcompat;