From 62df377ba804a5698238d772d19de574b933048f Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Wed, 13 Apr 2022 18:01:18 -0400 Subject: [PATCH] Made a correction to extHierSubstrate, which was checking for substrate shielding types in a subcell inside the interaction area only. Since the interaction area is clipped by the "cookie cutter" extraction areas, it could completely miss the shielding. As revised, any shielding under a subcell will effectively shield the entire subcell. This could be improved by warning if the subcell has substrate connections outside of the shield area (as that is not extractable), but that requires additional processing. --- extract/ExtHier.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extract/ExtHier.c b/extract/ExtHier.c index df5f64ac..2761116b 100644 --- a/extract/ExtHier.c +++ b/extract/ExtHier.c @@ -152,7 +152,11 @@ extHierSubstrate(ha, use, x, y) subArea.r_ur.p_y = subArea.r_ll.p_y + 1; } else - subArea = ha->ha_subArea; + { + /* Check area under all of the subcircuit (not just the part */ + /* in the current interaction area). */ + GeoTransRect(&use->cu_transform, &use->cu_def->cd_bbox, &subArea.r_ll); + } for (pNum = PL_TECHDEPBASE; pNum < DBNumPlanes; pNum++) {