Corrected an error with the bloat-all CIF operator in which
bloat-all would fail to operate from the top layer of a contact type due to the use of DBplane(type) instead of counting all planes of the contact.
This commit is contained in:
parent
5ebbed4c12
commit
89b6f4f92b
|
|
@ -1326,10 +1326,18 @@ cifBloatAllFunc(tile, bls)
|
|||
area.r_ytop /= locScale;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (DBIsContact(type))
|
||||
{
|
||||
pmask = (bloats->bl_plane < 0) ? 0 :
|
||||
CoincidentPlanes(connect, DBLayerPlanes(type));
|
||||
}
|
||||
else
|
||||
{
|
||||
int pNum = DBPlane(type);
|
||||
pmask = (bloats->bl_plane < 0) ? 0 :
|
||||
CoincidentPlanes(connect, PlaneNumToMaskBit(pNum));
|
||||
}
|
||||
if (pmask == 0) TiToRect(tile, &area);
|
||||
if (bloats->bl_plane < 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -895,6 +895,24 @@ DBIsContact(type)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
*
|
||||
* DBLayerPlanes --
|
||||
*
|
||||
* Like LayerPlaneMask(), except as a subroutine, not a macro. For export
|
||||
* to other routines.
|
||||
*
|
||||
* ----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
PlaneMask
|
||||
DBLayerPlanes(type)
|
||||
TileType type;
|
||||
{
|
||||
return LayerPlaneMask(type);
|
||||
}
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------------
|
||||
*
|
||||
|
|
|
|||
|
|
@ -829,7 +829,6 @@ extern void DBTechInitContact();
|
|||
extern void DBTechFinalContact();
|
||||
extern void DBTechFinalConnect();
|
||||
extern void DBTechInitConnect();
|
||||
extern bool DBIsContact();
|
||||
|
||||
/* Cell symbol table */
|
||||
extern void DBCellInit();
|
||||
|
|
@ -899,6 +898,8 @@ extern Plane *DBCellGenerateSimpleSubstrate();
|
|||
extern TileType DBPlaneToResidue();
|
||||
extern TileType DBTechFindStacking();
|
||||
extern bool DBIsContact();
|
||||
extern PlaneMask DBLayerPlanes();
|
||||
|
||||
extern TileTypeBitMask *DBResidueMask();
|
||||
extern void DBFullResidueMask();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue