mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-10-06 09:53:00 +02:00
Fixed two issues: (1) Found a backwards-incompatibility with the
fringe capacitance halo where the default halo distance was set to zero instead of one and caused divide-by-zero issues; (2) Found extraction issues where labels picked up from cells flattened during GDS reading cause the flattened/emptied cells to show up in the extraction with extra pins that can mess up LVS. Solved this by removing labels from flattened/emptied cells.
This commit is contained in:
@@ -530,6 +530,9 @@ calmaParseStructure(filename)
|
||||
cifReadCellDef->cd_client = (ClientData) calmaExact();
|
||||
cifReadCellDef->cd_flags |= CDFLATGDS;
|
||||
cifReadCellDef->cd_flags &= ~CDFLATTENED;
|
||||
|
||||
/* Remove any labels in this cell */
|
||||
DBEraseLabel(cifReadCellDef, &TiPlaneRect, &DBAllTypeBits, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+4
-1
@@ -1689,6 +1689,10 @@ CIFReadCellCleanup(filetype)
|
||||
if (def->cd_flags & CDFLATGDS)
|
||||
{
|
||||
/* These cells have been flattened and are no longer needed. */
|
||||
/* Do not remove the actual CellDef, though, because it is */
|
||||
/* still instanced, and that instance tells the GDS write */
|
||||
/* routine that the subcell needs to be included in the */
|
||||
/* output. But all clientdata and labels should be removed. */
|
||||
|
||||
int pNum;
|
||||
Plane **cifplanes = (Plane **)def->cd_client;
|
||||
@@ -1698,7 +1702,6 @@ CIFReadCellCleanup(filetype)
|
||||
/* cifplanes should be valid, but don't crash magic if not */
|
||||
if (cifplanes != (Plane **)0)
|
||||
{
|
||||
|
||||
for (pNum = 0; pNum < MAXCIFRLAYERS; pNum++)
|
||||
{
|
||||
if (cifplanes[pNum] != NULL)
|
||||
|
||||
@@ -722,6 +722,8 @@ extAddCouple(bp, ecs)
|
||||
distFringe = (ExtOptions & EXT_DOFRINGEHALO) ?
|
||||
ExtCurStyle->exts_fringeShieldHalo : 1;
|
||||
|
||||
if (distFringe == 0) distFringe = 1;
|
||||
|
||||
switch (bp->b_direction)
|
||||
{
|
||||
case BD_LEFT: /* Along left */
|
||||
|
||||
Reference in New Issue
Block a user