diff --git a/VERSION b/VERSION index 73c2e376..d63d5488 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.316 +8.3.317 diff --git a/extflat/EFantenna.c b/extflat/EFantenna.c index 14824026..a92a32f6 100644 --- a/extflat/EFantenna.c +++ b/extflat/EFantenna.c @@ -801,22 +801,26 @@ antennaAccumFunc(tile, aaptr) typeareas[ttype] += (dlong)((float)perimeter * thick); } - if (type >= DBNumUserLayers) + /* NOTE: The "partial" model ignores the contribution of vias. */ + if (!(ExtCurStyle->exts_antennaModel & ANTENNAMODE_PARTIAL)) { - DBResidueMask(type, &sMask); - for (ttype = TT_TECHDEPBASE; ttype < DBNumTypes; ttype++) - if (TTMaskHasType(&sMask, ttype)) - if (DBTypeOnPlane(ttype, plane)) - { - thick = ExtCurStyle->exts_thick[ttype]; - typeareas[ttype] += (dlong)((float)perimeter * thick); - break; - } - } - else - { - thick = ExtCurStyle->exts_thick[type]; - typeareas[type] += (dlong)((float)perimeter * thick); + if (type >= DBNumUserLayers) + { + DBResidueMask(type, &sMask); + for (ttype = TT_TECHDEPBASE; ttype < DBNumTypes; ttype++) + if (TTMaskHasType(&sMask, ttype)) + if (DBTypeOnPlane(ttype, plane)) + { + thick = ExtCurStyle->exts_thick[ttype]; + typeareas[ttype] += (dlong)((float)perimeter * thick); + break; + } + } + else + { + thick = ExtCurStyle->exts_thick[type]; + typeareas[type] += (dlong)((float)perimeter * thick); + } } } else