<> <> <> <> DIRECTORY CD, Core, CoreCompose, Rope USING [ROPE]; SEX: CEDAR DEFINITIONS = BEGIN <> <> <> CellType: TYPE = Core.CellType; Wire: TYPE = Core.Wire; Object: TYPE = CD.Object; Instance: TYPE = CD.Instance; ROPE: TYPE = Rope.ROPE; Context: TYPE = CoreCompose.Context; <> layoutProp: ATOM; -- CD.Object on CellType -- same atom as PWCore.layoutProp coreProp: ATOM; <<-- CellType on a CD.Object: real source of the layout>> <<-- same atom as PWCore.coreProp >> extractedCoreProp: ATOM; -- CellType on CD.Object to specify the corresponding CellType. pinsProp: ATOM; -- pins(LIST OF CD.Instance) on each publicWire wireGeometryProp: ATOM; -- LIST OF CD.Instance on every internal Core.Wire instanceProp: ATOM; -- CD.Instance on CoreRecord.Instance errorsProp: ATOM; -- LIST OF ROPE on the CellType to specify the list of errors found during check. <> iconNameProp: ATOM; -- name of CD.Object or StructureProc forContextProp: ATOM; -- list of props for context cacheNameProp: ATOM; -- entry in cellType cache satellitesProp: ATOM; -- list of instances (text) or props (pairs) isSatelliteOfProp: ATOM; -- CD.Instance (master) sexKey: ATOM; -- used for avoiding double reg. error extractObjProcProp: ATOM; <> <> ExtractInstProc: TYPE = PROC [inst: Instance, context: Context] RETURNS [cellType: CellType _ NIL, ok: BOOL _ TRUE]; <> ExtractObjProc: TYPE = PROC [obj: Object, context: Context] RETURNS [cellType: CellType _ NIL, ok: BOOL _ TRUE]; <> ExtractInst: ExtractInstProc; DefaultExtractObj: ExtractObjProc; <> AtomicExtractObj: ExtractObjProc; <> <> GetPinPropFromWire: PROC [wire: Wire] RETURNS [pins: LIST OF CD.Instance]; PutPinPropOnWire: PUBLIC PROC [wire: Wire, pins: LIST OF CD.Instance]; AddPinPropOnWire: PROC [wire: Core.Wire, pin: CD.Instance]; AppendPinPropOnWire: PUBLIC PROC [wire: Wire, pins: LIST OF CD.Instance]; GetWireGeometryPropFromWire: PROC [wire: Wire] RETURNS [geometry: LIST OF CD.Instance]; PutWireGeometryPropOnWire: PROC [wire: Wire, geometry: LIST OF CD.Instance]; AddWireGeometryPropOnWire: PROC [wire: Wire, cdInstance: CD.Instance]; AppendWireGeometryPropOnWire: PROC [wire: Wire, geometry: LIST OF CD.Instance]; <<>> <> <> <> <> <<>> <> <> <<>> <> <<>> <> <> <> <> <<>> <> <<>> <> <<>> <> <<>> <> END.