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
Jacobi, March 19, 1986 6:40:16 pm PST
DIRECTORY
CD,
CStitching;
Recognizer: CEDAR DEFINITIONS =
BEGIN
RegionList: TYPE = LIST OF REF CStitching.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];
--Recognizes instances inside cellOb only
RegisterPossibleInstanceProc: PROC [technology: CD.Technology, rectCount: INT, instProc: PossibleInstanceProc];
RegisterLayerList: PROC [technology: CD.Technology, active1, active2: CD.Layer, layerList: LIST OF CD.Layer];
-- 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.
END.