Working through various issues with parasitic capacitance extraction
using the newer methods for nearest-edge searching and fringe area of effect. Removed a same-net check in a routine that removes capacitances that are redundant due to hierarchical overlaps; these redundancies must be checked on shapes within the same net. Corrected (again) an out-of-clip-bounds check.
This commit is contained in:
parent
3d4b3ad914
commit
bcf35db713
|
|
@ -4016,11 +4016,11 @@ extNodeAreaFunc(tile, arg)
|
|||
if (extNodeClipArea)
|
||||
{
|
||||
TITORECT(tile, &r);
|
||||
GEOCLIP(&r, extNodeClipArea);
|
||||
|
||||
/* Check if the tile is outside the clip area */
|
||||
if ((r.r_xtop <= r.r_xbot) || (r.r_ytop < r.r_ybot)) continue;
|
||||
if (!GEO_OVERLAP(&r, extNodeClipArea)) continue;
|
||||
|
||||
GEOCLIP(&r, extNodeClipArea);
|
||||
area = (dlong)(r.r_xtop - r.r_xbot) * (dlong)(r.r_ytop - r.r_ybot);
|
||||
}
|
||||
else area = (dlong)(TOP(tile) - BOTTOM(tile)) * (dlong)(RIGHT(tile) - LEFT(tile));
|
||||
|
|
|
|||
|
|
@ -706,11 +706,10 @@ extAddCouple(bp, ecs)
|
|||
bpCopy = *bp;
|
||||
bp = &bpCopy;
|
||||
|
||||
GEOCLIP(&bp->b_segment, extCoupleSearchArea);
|
||||
|
||||
if ((bp->b_segment.r_ytop <= bp->b_segment.r_ybot) ||
|
||||
(bp->b_segment.r_xtop <= bp->b_segment.r_xbot))
|
||||
if (!GEO_OVERLAP(&bp->b_segment, extCoupleSearchArea))
|
||||
return 0;
|
||||
|
||||
GEOCLIP(&bp->b_segment, extCoupleSearchArea);
|
||||
}
|
||||
r = ovr = bp->b_segment;
|
||||
|
||||
|
|
@ -894,9 +893,6 @@ extSideOverlap(tp, esws)
|
|||
tb = TiGetType(tp);
|
||||
if (tb == TT_SPACE) return (0);
|
||||
|
||||
/* If shapes belong to the same node then there is no coupling. */
|
||||
if (rtp == rbp) return (0);
|
||||
|
||||
if (bp->b_segment.r_xtop == bp->b_segment.r_xbot)
|
||||
{
|
||||
length = MIN(bp->b_segment.r_ytop, TOP(tp))
|
||||
|
|
|
|||
Loading…
Reference in New Issue