DIRECTORY IO, IP, IPParams, IPChipRose, Rope, SymTab, CoreRouteFlat; IPTypeTab: CEDAR DEFINITIONS IMPORTS IPParams = BEGIN Ref: TYPE = REF Rep; Rep: TYPE = RECORD[tab: SymTab.Ref]; CoType: TYPE = REF CoTypeRep; CoTypeRep: TYPE = IP.CoTypeRep; -- name, instances, pins, shapeInfo Pin: TYPE = REF PinRep; PinRep: TYPE = IP.PinRep; -- name, physicalPins, auxInfo PhysicalPin: TYPE = REF PhysicalPinRep; PhysicalPinRep: TYPE = IP.PhysicalPinRep; EachCoTypeAction: TYPE = PROC[coType: CoType] RETURNS [quit: BOOL _ FALSE]; Create: PROC[chipRose: IPChipRose.Ref] RETURNS [Ref]; CreateFromStructure: PROC[structure: CoreRouteFlat.Structure] RETURNS [Ref]; FetchCoType: PROC[typeTab: Ref, name: Rope.ROPE, raiseError: BOOL _ TRUE] RETURNS [CoType]; CoTypes: PROC[typeTab: Ref, action: EachCoTypeAction]; CheckSelf: PROC[typeTab: Ref]; DescribeSelf: PROC[typeTab: Ref, stream: IO.STREAM, debug: BOOL _ IPParams.DebugSystem]; ReconstructSelf: PROC[stream: IO.STREAM] RETURNS [Ref]; GetPin: PROC [coType: CoType, pinName: Rope.ROPE] RETURNS [Pin]; GetShape: PROC[coType: CoType] RETURNS [REF IP.ShapeRep] = INLINE { RETURN [coType.shapeInfo.shape] }; --GetShape AddInstance: PROC[coType: CoType, instance: REF IP.ComponentRep] = INLINE { coType.instances _ CONS[instance, coType.instances] };--AddInstance RemInstance: PROC[coType: CoType, instance: REF IP.ComponentRep]; MakePhysicalPins: PROC[coType: CoType, pin: Pin, orient: IP.Orientation] RETURNS [LIST OF PhysicalPin]; END. ϊIPTypeTab.mesa Copyright Σ 1986, 1987 by Xerox Corporation. All rights reserved. Last Edited by: CSChow, February 2, 1985 2:16:33 am PST Don Curry December 4, 1987 2:22:14 pm PST Bryan Preas September 9, 1986 2:40:57 pm PDT --! Raise IP.Error[missingRegistration, name] -- IF debug THEN print extra info NOT used to ReconstructSelf --Operation on individual CoType --! Raise IP.Error ! Raise IP.Error[callingError. ""] --make a (deep ) copy of pin.physicalPins in the proper orientation Κα˜code•StartOfExpansion[]™KšœB™BJ™7K™)K™,—K™šΟk ˜ Kšœ˜Kšœ˜K˜ Kšœ ˜ K˜Kšœ˜Kšœ˜—K™šΟn œœ œ˜Kšœ ˜K˜Kšœœœ˜Kšœœœ˜$K˜Kšœœœ ˜Kšœ œœ Οc#˜CK˜Kšœœœ˜Kšœœœ Ÿ˜8K˜Kšœ œœ˜'Kšœœœ˜)K˜Kš œœœœœœ˜KK˜Kšžœœœ˜5K˜Kšžœœ%œ˜LK˜š ž œœœœœœ ˜[Kšœ œ!™-—K˜Kšžœœ)˜6K˜Kšž œœ˜K˜š ž œœœœ œ˜XKšœœœž™=—K˜Kš žœœ œœœ˜7K˜K™ šžœœ œœ˜@Kšœ œ™—K˜š žœœœœœ œ˜CKšœ˜KšœŸ ˜ —K˜š ž œœœœœ˜KKšœœ˜3KšœŸ ˜—K˜šž œœœœ˜AKšœ+™+—K˜š žœœ#œœœœ˜gK™D—K˜Kšœ˜——…—Τ ―