[fa.info-vlsi] Magic Bug Report #2

info-vlsi@ucbvax.ARPA (06/08/85)

From: ouster@ucbkim (John Ousterhout)

Magic Bug Report
May 21, 1985

Symptoms:
    Problems in generating hierarchical CIF are not being reported.
    There may also be problems in actually generating the CIF, for
    some technology files.  Doesn't appear to be a problem with the
    current nMOS or CMOS technologies (?).

Fix:
    Go to the file src/cif/CIFhier.c and find the procedure
    CIFGenSubcells, about line 565.  Add the line:

	    CIFErrorDef = def;

    before the line:

	    cifCheckAndErase(CIFCurStyle);
    
    to get:

	    CIFErrorDef = def;
	    cifCheckAndErase(CIFCurStyle);
    
    Also, go to the file src/cif/CIFtech.c, at about line 800.  Replace
    the code fragment:
			    if (op->co_bloats[j] != op->co_bloats[TT_SPACE])
				TTMaskSetType(&ourYank, j);

    with:
			    if (op->co_bloats[j] != op->co_bloats[TT_SPACE])
			    {
				/* Careful!  For contact images, must yank
				 * the MASTER image.
				 */
				
				if (j < DBNumUserLayers)
				    TTMaskSetType(&ourYank, j);
				else
				{
				    int k;
				    for (k = TT_TECHDEPBASE;
					k < DBNumUserLayers; k += 1)
				    {
					if (TTMaskHasType(
					    &DBLayerTypeMaskTbl[k], j))
					    TTMaskSetType(&ourYank, k);
				    }
				}
			    }