Merge branch 'master' into netgen-1.5

This commit is contained in:
Tim Edwards 2021-10-24 03:00:12 -04:00
commit 610eebb758
3 changed files with 10 additions and 46 deletions

View File

@ -1 +1 @@
1.5.205
1.5.206

View File

@ -259,16 +259,13 @@ int flattenInstancesOf(char *name, int fnum, char *instance)
struct objlist *ChildObjList, *ChildListEnd;
struct objlist *ChildStart, *ChildEnd, *ParentEnd, *ParentNext;
struct nlist *ThisCell;
struct nlist *ChildCell;
struct nlist *ChildCell;
struct objlist *tmp, *ob2, *ob3;
int notdone, rnodenum;
char tmpstr[1024];
int nextnode, oldmax, numflat = 0;
struct objlist *myObject_p, *myPort_p;
struct objlist *myFirstPin_p, *myPin_p;
int myDeleteCount = 0;
int notdone, rnodenum;
char tmpstr[1024];
int nextnode, oldmax, numflat = 0;
#if !OLDPREFIX
int prefixlength;
int prefixlength;
#endif
if (name == NULL) {
@ -602,38 +599,6 @@ int flattenInstancesOf(char *name, int fnum, char *instance)
}
CacheNodeNames(ThisCell);
ThisCell->dumped = 1; /* indicate cell has been flattened */
// Remove disconnected ports.
// Fprintf(stdout, "DEBUG: check pins for %s of %d\n", name, fnum);
myFirstPin_p = NULL;
// Save first pin definition so we don't have to search for each port
for (myObject_p = ThisCell->cell; myObject_p != NULL; myObject_p = myObject_p->next) {
if (myObject_p->type >= FIRSTPIN) {
myFirstPin_p = myObject_p;
break;
}
}
if (myFirstPin_p != NULL) { // Not a black box. Black boxes contain no pins.
// For each port, check for pin connection. If none, mark for deletion.
// Assumes that all ports occur at the beginning of the list
for (myPort_p = ThisCell->cell; myPort_p != NULL && IsPort(myPort_p);
myPort_p = myPort_p->next ) {
for (myPin_p = myFirstPin_p; myPin_p != NULL; myPin_p = myPin_p->next) {
if (myPort_p->node == myPin_p->node) { // only need to find one connection
break;
}
}
if (myPin_p == NULL) { // mark disconnected ports
myDeleteCount++;
myPort_p->node = -2;
}
}
if (myDeleteCount > 0) { // delete disconnected ports
CleanupPins(name, fnum);
}
}
return numflat;
}
@ -1617,8 +1582,7 @@ PrematchLists(char *name1, int file1, char *name2, int file2)
}
}
else {
// Apply recursive flattening when a cell exists in
// one circuit but not the other.
match = 0;
break;
}
}

View File

@ -567,8 +567,7 @@ proc netgen::lvs { name1 name2 {setupfile setup.tcl} {logfile comp.out} args} {
netgen::flatten class "[lindex $endval 1] $fnum2"
} else {
netgen::log put " Continuing with black-boxed subcircuits $endval\n"
lappend matcherr [lindex $endval 0]"(1)"
lappend matcherr [lindex $endval 1]"(2)"
lappend matcherr [lindex $endval 0]
# Match pins
netgen::log echo off
if {$dolist == 1} {
@ -618,7 +617,8 @@ proc netgen::lvs { name1 name2 {setupfile setup.tcl} {logfile comp.out} args} {
} else {
netgen::log put " Continuing with black-boxed subcircuits $endval\n"
lappend matcherr [lindex $endval 0]"(1)"
lappend matcherr [lindex $endval 1]"(2)"
netgen::log put " Continuing with black-boxed subcircuits $endval\n"
lappend matcherr [lindex $endval 0]"(2)"
# Match pins
netgen::log echo off
if {$dolist == 1} {