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.