Merge branch 'master' into bplane

Conflicts:
	lef/lefWrite.c

Merged change to "lef write -hide" method from the master branch.
This commit is contained in:
Tim Edwards 2020-04-01 10:46:06 -04:00
commit 706e342171
1 changed files with 8 additions and 34 deletions

View File

@ -1104,46 +1104,20 @@ lefWriteMacro(def, f, scale, hide)
for (thislll = lll; thislll; thislll = thislll->lll_next)
{
int lspacex, lspacey, lwidth, mspace;
int mspace;
lab = thislll->lll_label;
mspace = DRCGetDefaultWideLayerSpacing(lab->lab_type, 0);
/* Look for wide spacing rules. If there are no wide spacing */
/* rules, then fall back on the default spacing rule. */
mspace = DRCGetDefaultWideLayerSpacing(lab->lab_type, 1E6);
if (mspace == 0)
mspace = DRCGetDefaultLayerSpacing(lab->lab_type, lab->lab_type);
/* Look for wide spacing rules. If there are no wide spacing */
/* rules, then fall back on the default spacing rule. */
lwidth = thislll->lll_area.r_xtop - thislll->lll_area.r_xbot;
lspacex = DRCGetDefaultWideLayerSpacing(lab->lab_type, lwidth);
if (lspacex == 0)
lspacex = DRCGetDefaultLayerSpacing(lab->lab_type, lab->lab_type);
lwidth = thislll->lll_area.r_ytop - thislll->lll_area.r_ybot;
lspacey = DRCGetDefaultWideLayerSpacing(lab->lab_type, lwidth);
if (lspacey == 0)
lspacey = DRCGetDefaultLayerSpacing(lab->lab_type, lab->lab_type);
/* Is the label touching the boundary? If so, then use the */
/* maximum space from the inside edge. */
if (thislll->lll_area.r_xtop >= boundary.r_xtop)
thislll->lll_area.r_xbot -= mspace;
else
thislll->lll_area.r_xbot -= lspacex;
if (thislll->lll_area.r_ytop >= boundary.r_ytop)
thislll->lll_area.r_ybot -= mspace;
else
thislll->lll_area.r_ybot -= lspacey;
if (thislll->lll_area.r_xbot <= boundary.r_xbot)
thislll->lll_area.r_xtop += mspace;
else
thislll->lll_area.r_xtop += lspacex;
if (thislll->lll_area.r_ybot <= boundary.r_ybot)
thislll->lll_area.r_ytop += mspace;
else
thislll->lll_area.r_ytop += lspacey;
thislll->lll_area.r_xbot -= mspace;
thislll->lll_area.r_ybot -= mspace;
thislll->lll_area.r_xtop += mspace;
thislll->lll_area.r_ytop += mspace;
DBErase(lc.lefYank, &thislll->lll_area, lab->lab_type);
freeMagic(thislll);