Corrected error in printing the name of a file when it is not found

in an "include" statement in either SPICE or verilog.  Modified pin
matching behavior to force cells in both netlists to be marked as
black-box entries if either one is marked as a black-box entry (this
may not be needed, but shouldn't do any harm, either).
This commit is contained in:
Tim Edwards 2020-03-05 09:41:22 -05:00
parent 7d94a7d5f6
commit 515fccc633
4 changed files with 19 additions and 7 deletions

View File

@ -1 +1 @@
1.5.142 1.5.143

View File

@ -1983,9 +1983,13 @@ void IncludeSpice(char *fname, int parent, struct cellstack **CellStackPtr,
if (strchr(fname, '.') == NULL) { if (strchr(fname, '.') == NULL) {
SetExtension(name, fname, SPICE_EXTENSION); SetExtension(name, fname, SPICE_EXTENSION);
filenum = OpenParseFile(name, parent); filenum = OpenParseFile(name, parent);
}
if (filenum < 0) { if (filenum < 0) {
Fprintf(stderr,"Error in SPICE file include: No file %s\n",name); Fprintf(stderr, "Error in SPICE file include: No file %s\n", name);
return;
}
}
else {
Fprintf(stderr, "Error in SPICE file include: No file %s\n", fname);
return; return;
} }
} }

View File

@ -2043,8 +2043,12 @@ void IncludeVerilog(char *fname, int parent, struct cellstack **CellStackPtr,
if (strchr(fname, '.') == NULL) { if (strchr(fname, '.') == NULL) {
SetExtension(name, fname, VERILOG_EXTENSION); SetExtension(name, fname, VERILOG_EXTENSION);
filenum = OpenParseFile(name, parent); filenum = OpenParseFile(name, parent);
}
if (filenum < 0) { if (filenum < 0) {
fprintf(stderr,"Error in Verilog file include: No file %s\n", name);
return;
}
}
else {
fprintf(stderr,"Error in Verilog file include: No file %s\n", fname); fprintf(stderr,"Error in Verilog file include: No file %s\n", fname);
return; return;
} }

View File

@ -2974,6 +2974,10 @@ _netcmp_equate(ClientData clientData,
Fprintf(stdout, "Warning: Equate pins: cell %s " Fprintf(stdout, "Warning: Equate pins: cell %s "
"has no definition, treated as a black box.\n", name2); "has no definition, treated as a black box.\n", name2);
} }
// If a cell in either circuit is marked as a black box, then
// the cells in both circuits should be marked as a black box.
tp1->flags |= CELL_PLACEHOLDER;
tp2->flags |= CELL_PLACEHOLDER;
} }
else { else {
Fprintf(stdout, "Equate pins: cell %s and/or %s " Fprintf(stdout, "Equate pins: cell %s and/or %s "