CDMEBESAnalyze.load
last modified by McCreight, August 1, 1985 7:00:23 pm PDT
CDMEBES
← %CDMEBES.stripesPerClump ← 2 -- package default is 10
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESNmPerLambda, val: NEW[INT ← 1000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESNmPerEBESPixel, val: NEW[INT ← 500]]
.. the die size
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESXNmPerDie, val: NEW[INT ← 8130000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESYNmPerDie, val: NEW[INT ← 9145000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESActiveToScribeCenter, val: NEW[INT ← 105000 -- active area 25 um inside metal 2 scribe ring --]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESNmMaxBloat, val: NEW[INT ← 10000]]
.. CMOS masks:
measure dif AND poly
← &xdif ← LIST[$OR, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.ndif]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pdif]]]
← &difPol ← LIST[$MeasureRuns, "Dif AND Poly", LIST[$AND, &xdif, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pol]]], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 4]]
measure dif AND NOT poly
← &allDif ← LIST[$OR, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.ndif]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pdif]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.nwellCont]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pwellCont]]]
← &difNotPol ← LIST[$MeasureRuns, "Dif AND NOT Poly", LIST[$ANDNOT, &allDif, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pol]]], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 4]]
measure dif
← &allDif ← LIST[$OR, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.ndif]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pdif]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.nwellCont]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pwellCont]]]
← &dif ← LIST[$MeasureRuns, "Dif", &allDif, NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 6]]
measure poly
← &pol ← LIST[$MeasureRuns, "Poly", NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pol]], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4]]
measure cut to dif and poly
← &cutDif ← LIST[$MeasureRuns, "Cut AND Dif", LIST[$AND, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.cut]], &allDif], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4]]
← &cutPol ← LIST[$MeasureRuns, "Cut AND Poly", LIST[$AND, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.cut]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pol]]], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 4]]
measure metal
← &met ← LIST[$MeasureRuns, "Metal1", NEW[%CDMEBES.CDLayerRec ← [source: %CMos.met]], NEW[%CDMEBES.MEBESPixels ← 10], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 10], NEW[%CDMEBES.MEBESPixels ← 6]]
measure metal AND poly
← &metpol ← LIST[$MeasureRuns, "Metal1 AND Poly", LIST[$AND, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.met]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.pol]]], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 4], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 4]]
measure via
← &via ← LIST[$MeasureRuns, "Via", NEW[%CDMEBES.CDLayerRec ← [source: %CMos.cut2]], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 6]]
measure metal2
← &met2 ← LIST[$MeasureRuns, "Metal2", NEW[%CDMEBES.CDLayerRec ← [source: %CMos.met2]], NEW[%CDMEBES.MEBESPixels ← 12], NEW[%CDMEBES.MEBESPixels ← 8], NEW[%CDMEBES.MEBESPixels ← 12], NEW[%CDMEBES.MEBESPixels ← 8]]
measure metal1 AND metal2
← &met1met2 ← LIST[$MeasureRuns, "Metal1 AND Metal2", LIST[$AND, NEW[%CDMEBES.CDLayerRec ← [source: %CMos.met]], NEW[%CDMEBES.CDLayerRec ← [source: %CMos.met2]]], NEW[%CDMEBES.MEBESPixels ← 10], NEW[%CDMEBES.MEBESPixels ← 6], NEW[%CDMEBES.MEBESPixels ← 10], NEW[%CDMEBES.MEBESPixels ← 6]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDMEBESMaskSetSpec, val: LIST[&difPol, &difNotPol, &dif, &pol, &cutDif, &cutPol, &met, &metpol, &via, &met2, &met1met2]]
.. the name of the die (will be superseded by any on the design)
← %CDProperties.PutPropOnAtom[$MEBESMask, $CDMEBESMaskSetName, "MPCxxZZ"]