From 037daf1121e8870007fdf2bf3c8cc60cd32d93b1 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Thu, 5 Mar 2026 18:04:53 -0500 Subject: [PATCH] Found an issue with coupling capacitance where contact types not surrounded by metal are not checked for perimeter coupling parasitic capacitance to other layers. --- extract/ExtCouple.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/extract/ExtCouple.c b/extract/ExtCouple.c index 95edd2c7..96b7b1ed 100644 --- a/extract/ExtCouple.c +++ b/extract/ExtCouple.c @@ -1289,6 +1289,14 @@ extFindOverlap(tp, area, esws) TileType tin = TiGetType(bp->b_inside); TileType tout = TiGetType(bp->b_outside); + /* Get residues + * (Note: Isn't it better to include contacts in the tables?) + */ + if (DBIsContact(tin)) + tin = DBPlaneToResidue(tin, esws->plane_of_boundary); + if (DBIsContact(tout)) + tout = DBPlaneToResidue(tout, esws->plane_of_boundary); + pMask = ExtCurStyle->exts_sideOverlapOtherPlanes[tin][tout]; extOverlapDef = esws->def;