Corrected an apparently long-standing error that is responsible for
some errors failing to list in the output while also being responsible for a number of non-errors showing up in the output. This fix may substantially clean up netgen output. Also: Added text to the output noting that pin matching may be incorrect with respect to symmetries if the nets have failed to match.
This commit is contained in:
parent
e821381900
commit
05872ca918
|
|
@ -2706,7 +2706,9 @@ CheckLegalElementPartition(struct ElementClass *head)
|
||||||
found = 0;
|
found = 0;
|
||||||
for (scan = head; scan != NULL; scan = scan->next) {
|
for (scan = head; scan != NULL; scan = scan->next) {
|
||||||
|
|
||||||
if (scan->count == 2) continue;
|
/* Quick check for matching 1:1 case */
|
||||||
|
if ((scan->count == 2) && (scan->elements->graph != scan->elements->next->graph))
|
||||||
|
continue;
|
||||||
C1 = C2 = 0;
|
C1 = C2 = 0;
|
||||||
for (E = scan->elements; E != NULL; E = E->next) {
|
for (E = scan->elements; E != NULL; E = E->next) {
|
||||||
if (E->graph == Circuit1->file) C1++;
|
if (E->graph == Circuit1->file) C1++;
|
||||||
|
|
@ -2828,7 +2830,9 @@ CheckLegalNodePartition(struct NodeClass *head)
|
||||||
found = 0;
|
found = 0;
|
||||||
for (scan = head; scan != NULL; scan = scan->next) {
|
for (scan = head; scan != NULL; scan = scan->next) {
|
||||||
|
|
||||||
if (scan->count == 2) continue;
|
/* Quick check for matching 1:1 case */
|
||||||
|
if ((scan->count == 2) && (scan->nodes->graph != scan->nodes->next->graph))
|
||||||
|
continue;
|
||||||
C1 = C2 = 0;
|
C1 = C2 = 0;
|
||||||
for (N = scan->nodes; N != NULL; N = N->next) {
|
for (N = scan->nodes; N != NULL; N = N->next) {
|
||||||
if (N->graph == Circuit1->file) C1++;
|
if (N->graph == Circuit1->file) C1++;
|
||||||
|
|
|
||||||
|
|
@ -2651,8 +2651,10 @@ _netcmp_verify(ClientData clientData,
|
||||||
disable_interrupt();
|
disable_interrupt();
|
||||||
if (index == EQUIV_IDX || index == UNIQUE_IDX)
|
if (index == EQUIV_IDX || index == UNIQUE_IDX)
|
||||||
Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0));
|
Tcl_SetObjResult(interp, Tcl_NewBooleanObj(0));
|
||||||
else
|
else {
|
||||||
Fprintf(stdout, "Netlists do not match.\n");
|
Fprintf(stdout, "Netlists do not match.\n");
|
||||||
|
Fprintf(stdout, "Port matching may fail to disambiguate symmetries.\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (automorphisms == -2) {
|
else if (automorphisms == -2) {
|
||||||
if (index == EQUIV_IDX)
|
if (index == EQUIV_IDX)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue