Working to get some MatchPins improvements from Mitch Bailey from
a long time ago into the code. The improvements collided with intervening changes to the same routines and would not merge cleanly, which is why they were never merged. Step 1: Show the net name of a matching net that is missing a pin. Remove output of missing pins that is redundant (pin names being output twice).
This commit is contained in:
parent
5c21000a8b
commit
d14bf70f1c
|
|
@ -7629,7 +7629,7 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist)
|
||||||
if (ob2->model.port == -1)
|
if (ob2->model.port == -1)
|
||||||
snprintf(ostr + left_col_end + 1, left_col_end, "%s **Mismatch**", ob2->name);
|
snprintf(ostr + left_col_end + 1, left_col_end, "%s **Mismatch**", ob2->name);
|
||||||
else
|
else
|
||||||
snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)");
|
snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)", ob2->name);
|
||||||
}
|
}
|
||||||
nomatch = TRUE;
|
nomatch = TRUE;
|
||||||
/* Pins with different names are on different nets,
|
/* Pins with different names are on different nets,
|
||||||
|
|
@ -7684,7 +7684,7 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist)
|
||||||
for (m = 0; m < left_col_end; m++) *(ostr + m) = ' ';
|
for (m = 0; m < left_col_end; m++) *(ostr + m) = ' ';
|
||||||
for (m = left_col_end + 1; m < right_col_end; m++) *(ostr + m) = ' ';
|
for (m = left_col_end + 1; m < right_col_end; m++) *(ostr + m) = ' ';
|
||||||
snprintf(ostr, 32, "%s", obn->name);
|
snprintf(ostr, 32, "%s", obn->name);
|
||||||
snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)");
|
snprintf(ostr + left_col_end + 1, left_col_end, "(no pin, node is %s)", obp->name);
|
||||||
for (m = 0; m < right_col_end + 1; m++)
|
for (m = 0; m < right_col_end + 1; m++)
|
||||||
if (*(ostr + m) == '\0') *(ostr + m) = ' ';
|
if (*(ostr + m) == '\0') *(ostr + m) = ' ';
|
||||||
Fprintf(stdout, ostr);
|
Fprintf(stdout, ostr);
|
||||||
|
|
@ -8132,23 +8132,6 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist)
|
||||||
obn->instance.name = NULL;
|
obn->instance.name = NULL;
|
||||||
obn->node = -1;
|
obn->node = -1;
|
||||||
|
|
||||||
/* Note: Has this pin already been accounted for? */
|
|
||||||
if (Debug == 0) {
|
|
||||||
if (strcmp(ob1->name, "(no pins)")) {
|
|
||||||
for (m = 0; m < left_col_end; m++) *(ostr + m) = ' ';
|
|
||||||
for (m = left_col_end + 1; m < right_col_end; m++) *(ostr + m) = ' ';
|
|
||||||
snprintf(ostr, left_col_end, "%s", ob1->name);
|
|
||||||
snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)");
|
|
||||||
for (m = 0; m < right_col_end + 1; m++)
|
|
||||||
if (*(ostr + m) == '\0') *(ostr + m) = ' ';
|
|
||||||
Fprintf(stdout, ostr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Fprintf(stderr, "No netlist match for cell %s pin %s\n",
|
|
||||||
tc1->name, ob1->name);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ob2 == tc2->cell) {
|
if (ob2 == tc2->cell) {
|
||||||
obn->next = ob2;
|
obn->next = ob2;
|
||||||
tc2->cell = obn;
|
tc2->cell = obn;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue