DIRECTORY CD, CornerStitching; Recognizer: CEDAR DEFINITIONS = BEGIN RegionList: TYPE = LIST OF REF CornerStitching.Region; InstAndForbidLayerRec: TYPE = RECORD [ instance: CD.Instance, forbidLayerList: LIST OF CD.Layer _ NIL --List of layers that cannot overlap the instance ]; InstAndForbidLayerList: TYPE = LIST OF REF InstAndForbidLayerRec; PossibleInstanceProc: TYPE = PROC [active1, active2: CD.Layer, coveredList: RegionList, possibleInstListPtr: REF InstAndForbidLayerList]; --Contains registered procedures that will guess possible instances RecognizeObjects: PROC [design: CD.Design, cellOb: CD.Object]; RegisterPossibleInstanceProc: PROC [technology: CD.Technology, rectCount: INT, instProc: PossibleInstanceProc]; RegisterLayerList: PROC [technology: CD.Technology, active1, active2: CD.Layer, layerList: LIST OF CD.Layer]; END. êRecognizer.mesa Last Edited by: Gbier, July 11, 1985 10:17:42 am PDT Last Edited by: Gbier, July 26, 1985 1:30:18 pm PDT --Recognizes instances inside cellOb only -- layerlist should include 1) all forbidden layers 2) other layers generated by abstract -- diffusion layers ie pwell or nwell 3) layers needed by an object that will be guessed, for -- example: butting contacts are found by overlapping metal and cut and will also need planes -- of metal, poly, diffusion, and well. Êx˜šœ™Jšœ4™4Jšœ3™3—J˜šÏk ˜ Jšœ˜Jšœ˜—J˜JšÏb œœ œ˜Jš˜J˜Jš œ œœœœ˜7J˜šœœœ˜&Jšœ œ ˜Jš œœœœ œÏc1˜ZJ˜—J˜Jš œœœœœ˜AJ˜šœœœœ!˜XJšœœŸC˜v—J˜šÐbnœœ œœ ˜>Jšœ)™)J˜—Jš œœœœ"˜oJ˜š œœœœœœœ˜nJ™ZJ™]J™]J™'J™—Jšœ˜Jšœ˜—…—Z¼