Added a "flatten -doproperty" command option that allows selective

flattening based on cells which have a property "flatten".  Also:
Modified the DEF read and write to convert DIEAREA into a
FIXED_BBOX property.  This solves issues with placing of components
from DEF, when those components may not have have come from place &
route and may not have P&R bounding boxes.  Also:  Fixed the
documentation for the "dump" command, which was missing the optional
orientation in the description.
This commit is contained in:
Tim Edwards
2022-10-15 11:33:59 -04:00
parent bc5093502c
commit eecdc3c642
8 changed files with 77 additions and 15 deletions
+12
View File
@@ -64,6 +64,8 @@ DBDescendSubcell(use, xMask)
CellUse *use;
unsigned int xMask;
{
bool propfound;
/* Check single bit (window ID) or zero */
if (((xMask - 1) & xMask) == 0)
return ((use->cu_expandMask & xMask) == xMask);
@@ -91,6 +93,16 @@ DBDescendSubcell(use, xMask)
case CU_DESCEND_NO_VENDOR:
return (use->cu_def->cd_flags & CDVENDORGDS) ? FALSE : TRUE;
case CU_DESCEND_PROP_FLAT:
if (use->cu_expandMask == CU_DESCEND_SPECIAL)
return TRUE;
else
{
/* Descend only into cells marked with property "flatten" */
DBPropGet(use->cu_def, "flatten", &propfound);
return (propfound) ? TRUE : FALSE;
}
case CU_DESCEND_NONE:
return FALSE;
}