diff --git a/lef/lefWrite.c b/lef/lefWrite.c index 28edf88c..464ad264 100644 --- a/lef/lefWrite.c +++ b/lef/lefWrite.c @@ -315,10 +315,17 @@ lefEraseGeometry(tile, cdata) lefClient *lefdata = (lefClient *)cdata; CellDef *flatDef = lefdata->lefFlat; Rect area; - TileType ttype; + TileType ttype, otype; TiToRect(tile, &area); + otype = TiGetTypeExact(tile); + if (IsSplit(tile)) + ttype = (otype & TT_SIDE) ? SplitRightType(tile) : + SplitLeftType(tile); + else + ttype = otype; + /* Erase the tile area out of lefFlat */ DBErase(flatDef, &area, ttype);