DIRECTORY Core, CoreOps, CoreClasses, Rope; RTCoreUtil: CEDAR DEFINITIONS = BEGIN GetCoreIntProp: PROC [cellType: Core.CellType, prop: ATOM, default: INT] RETURNS [num: INT]; PutCoreIntProp: PROC [cellType: Core.CellType, prop: ATOM, num: INT]; GetCoreRealProp: PROC [cellType: Core.CellType, prop: ATOM, default: REAL] RETURNS [num: REAL]; PutCoreRealProp: PROC [cellType: Core.CellType, prop: ATOM, num: REAL]; GetCoreAtomProp: PROC [cellType: Core.CellType, prop: ATOM] RETURNS [ATOM]; CopyProps: PROC [sourceProperties: Core.Properties, interestingProperties: RTCoreUtil.PropertyKeys] RETURNS [destProperties: Core.Properties]; EnumerateInstances: PROC [cellType: Core.CellType, eachInstance: EachInstanceProc] RETURNS [quit: BOOL]; EachInstanceProc: TYPE = PROC [cellInstance: CoreClasses.CellInstance] RETURNS [quit: BOOL _ FALSE]; EnumerateFlatWires: PROC [wire: Core.Wire, eachWire: EachWireProc] RETURNS [quit: BOOL]; EachWireProc: TYPE = CoreOps.EachWireProc; EnumFlatInstancePins: PROC [cellInstance: CoreClasses.CellInstance, eachInstancePin: EachInstancePinProc]; EachInstancePinProc: TYPE = CoreOps.EachWirePairProc; Flatten: PROC [root: Core.CellType, flattenCellType: FlattenCellTypeProc, definePublicWire, defineInternalWire: FlatWireProc, defineInstance: FlatInstanceProc, interestingProperties: PropertyKeys _ NIL]; FlatWireProc: TYPE = PROC [wire: Core.Wire, pathName: Rope.ROPE] RETURNS [quit: BOOL _ FALSE]; FlatInstanceProc: TYPE = PROC [cellInstance: CoreClasses.CellInstance, pathName: Rope.ROPE] RETURNS [quit: BOOL _ FALSE]; FlattenCellTypeProc: TYPE = PROC [cellType: Core.CellType] RETURNS [flatten: BOOL]; PropertyKeys: TYPE = REF PropertyKeysRec; PropertyKeysRec: TYPE = RECORD [ p: SEQUENCE size: NAT OF ATOM]; defaultFlatten: RTCoreUtil.FlattenCellTypeProc; END. RTCoreUtil.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. by Bryan Preas August 29, 1985 2:48:22 pm PDT last edited by Bryan Preas September 8, 1986 5:19:39 pm PDT get a integer number property from a cell put a integer number property from a cell get a real number property from a cell put a real number property from a cell get a Atom property from a cell copy the interesting properties May raise StructureError[MissingParameter]. flatten until celltype has a $Layout property Κ«˜Jšœ™˜Jšœ Οmœ7™BJšœ,Οkœ™0Jšœ:ž™=—J˜šž ˜ Jšœ˜J˜Jšœ ˜ Jšœ˜J˜—šΟn œžœž œ˜Jšž˜J˜codeš Ÿœžœ!žœ žœžœžœ˜\Kšœ)™)K˜—šŸœžœ!žœžœ˜EKšœ)™)K˜—š Ÿœžœ!žœ žœžœžœ˜_Kšœ&™&K˜—šŸœžœ!žœžœ˜GKšœ&™&K˜—š Ÿœžœ!žœžœžœ˜KKšœ™K˜—šŸ œžœUžœ#˜ŽKšœ™K˜—šŸœžœ;žœžœ˜hKšœ+™+K˜Kš œžœžœ*žœžœžœ˜d—K˜šŸœžœ+žœžœ˜YJ˜Kšœžœ˜*K˜—šŸœžœQ˜kJ˜Kšœžœ˜5K˜—šŸœžœΉžœ˜ΛK˜Kš œžœžœ"žœžœžœžœ˜^Kš œžœžœ9žœžœžœžœ˜yKš œžœžœžœ žœ˜SKšœžœžœ˜)šœžœžœ˜ Jš œžœžœžœžœ˜——K˜šœ/˜/Kšœ-™-K˜—Jšžœ˜—J˜J˜J˜—…— Ο