Corrected an extraction error that prevented the use of the same

device layer type to describe the extraction for both a regular FET
and an extended-drain device.  Note that the current code still
requires that the extended-drain device be declared first, and does
not check for this or attempt to reorder if incorrect.
This commit is contained in:
Tim Edwards 2020-09-10 21:44:02 -04:00
parent 6cf5f65b51
commit ebe12fecfe
2 changed files with 10 additions and 2 deletions

View File

@ -1 +1 @@
8.3.55
8.3.56

View File

@ -1724,7 +1724,14 @@ extOutputDevices(def, transList, outFile)
continue; /* This terminal already found by perimeter search */
tmask = &devptr->exts_deviceSDTypes[termcount];
if (TTMaskIsZero(tmask)) break; /* End of SD terminals */
if (TTMaskIsZero(tmask)) {
if (termcount < nsd) {
/* See if there is another matching device record with */
/* a different number of terminals, and try again. */
devptr = extDevFindMatch(devptr, t);
}
break; /* End of SD terminals */
}
else if (!TTMaskIntersect(tmask, &DBPlaneTypes[reg->treg_pnum]))
{
node = NULL;
@ -2749,6 +2756,7 @@ extTransPerimFunc(bp)
else
{
TxError("Error: Asymmetric device with multiple terminals!\n");
break;
}
/* Add the length to this terminal's perimeter */