diff --git a/VERSION b/VERSION index 6e70b3e3..2a2964ec 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.330 +8.3.331 diff --git a/calma/CalmaWrite.c b/calma/CalmaWrite.c index f2d4588a..fe609447 100644 --- a/calma/CalmaWrite.c +++ b/calma/CalmaWrite.c @@ -1221,6 +1221,8 @@ calmaOutFunc(def, f, cliprect) int type; int dbunits; calmaOutputStruct cos; + bool propfound; + char *propvalue; cos.f = f; cos.area = (cliprect == &TiPlaneRect) ? NULL : cliprect; @@ -1277,6 +1279,19 @@ calmaOutFunc(def, f, cliprect) /* Output all the tiles associated with this cell; skip temporary layers */ GEO_EXPAND(&def->cd_bbox, CIFCurStyle->cs_radius, &bigArea); + + /* Include any fixed bounding box as part of the area to process, */ + /* in case the fixed bounding box is larger than the geometry. */ + propvalue = (char *)DBPropGet(def, "FIXED_BBOX", &propfound); + if (propfound) + { + Rect bbox; + + if (sscanf(propvalue, "%d %d %d %d", &bbox.r_xbot, &bbox.r_ybot, + &bbox.r_xtop, &bbox.r_ytop) == 4) + GeoInclude(&bbox, &bigArea); + } + CIFErrorDef = def; CIFGen(def, def, &bigArea, CIFPlanes, &DBAllTypeBits, TRUE, TRUE, FALSE, (ClientData)f); diff --git a/doc/html/lef.html b/doc/html/lef.html index 9de27c4e..52b1f31d 100644 --- a/doc/html/lef.html +++ b/doc/html/lef.html @@ -39,7 +39,7 @@ LEF-format input and output to annotate existing layouts, and ignore all other macros.
write [cell] [-tech] [-hide [distance]] [-toplayer] - [-nomaster] + [-pinonly [distance]] [-nomaster]
Write LEF for the current or indicated cell.
Option -tech writes the technology information (layer mapping and rules) to the same file as the cell macro.
@@ -57,6 +57,12 @@ LEF-format input and output Option -toplayer outputs pin geometry only for the topmost layer belonging to the pin; all connected layers underneath will be output as obstructions.
+ Option -pinonly will mark only areas that are port + labels as pins, while marking the rest of each related net + as an obstruction. Value distance, if given, will + extend any pin beyond the marked port label along the length + of the same net, to the specified distance into the interior + of the cell.
Option -nomaster will prevent the generation of output geometry on layers defined as MASTERSLICE.
writeall [-tech] [-hide [distance]]