One minor change to the previous commit: The check for shorting

devices between two ports is ignored for top-level cells, because
the scrambled ports won't affect anything in that case, and the
error will be reported as a port error, as it should.
This commit is contained in:
Tim Edwards 2023-09-04 14:47:23 -04:00
parent 619409556c
commit ce097d5d76
1 changed files with 5 additions and 1 deletions

View File

@ -1954,8 +1954,12 @@ PrematchLists(char *name1, int file1, char *name2, int file2)
/* port lists get screwed up. It is */
/* better in that case to force the */
/* cells to be declared mismatched. */
/* This is ignored for a top-level cell */
/* because it will just show up as a */
/* port mismatch error as it should. */
if (ecomp->cell1->class != CLASS_ISOURCE) {
if (!(tc1->flags & CELL_TOP) &&
(ecomp->cell1->class != CLASS_ISOURCE)) {
int found1 = FALSE;
int found2 = FALSE;
for (ob2 = tc1->cell; ob2; ob2 = ob2->next) {