Modified area accumulation routines to avoid double-counting contacts
during "lef write".
This commit is contained in:
parent
77d17a4fa7
commit
89c9335727
|
|
@ -1102,6 +1102,9 @@ lefWriteMacro(def, f, scale, hide)
|
||||||
DBSrPaintArea((Tile *)NULL, SelectDef->cd_planes[pNum],
|
DBSrPaintArea((Tile *)NULL, SelectDef->cd_planes[pNum],
|
||||||
&TiPlaneRect, &gatetypemask,
|
&TiPlaneRect, &gatetypemask,
|
||||||
lefAccumulateArea, (ClientData) &antgatearea);
|
lefAccumulateArea, (ClientData) &antgatearea);
|
||||||
|
// Stop after first plane with geometry to avoid double-counting
|
||||||
|
// contacts.
|
||||||
|
if (antgatearea > 0) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
antdiffarea = 0;
|
antdiffarea = 0;
|
||||||
|
|
@ -1110,6 +1113,9 @@ lefWriteMacro(def, f, scale, hide)
|
||||||
DBSrPaintArea((Tile *)NULL, SelectDef->cd_planes[pNum],
|
DBSrPaintArea((Tile *)NULL, SelectDef->cd_planes[pNum],
|
||||||
&TiPlaneRect, &difftypemask,
|
&TiPlaneRect, &difftypemask,
|
||||||
lefAccumulateArea, (ClientData) &antdiffarea);
|
lefAccumulateArea, (ClientData) &antdiffarea);
|
||||||
|
// Stop after first plane with geometry to avoid double-counting
|
||||||
|
// contacts.
|
||||||
|
if (antdiffarea > 0) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// For all geometry in the selection, write LEF records,
|
// For all geometry in the selection, write LEF records,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue