<> <> <> <<>> DIRECTORY DABasics, Rope, SunRPC, SunRPCAuth; SoftHdwSim: CEDAR DEFINITIONS = BEGIN <> ArrayPosition: TYPE = REF ArrayPositionRec; ArrayPositionRec: TYPE = RECORD [ type: NodeType, orientation: Orientation, chip: Position, minorArray: Position, grain: Position]; <<>> NodeType: TYPE = {Interchip, Long, OToP, RDToP, LUToP, LToP, PToI, PToRD, PToLU, PToL, Input, Output, LeftUp, RightDown, ORDToI, LUToLU, OLUToI, ORDToL, RDToRD, ORDToLU, LUToI, OLUToRD, LToI, RDToI, InverterEnabled, FlipFlopEnabled, Master, InputEnabled}; Orientation: TYPE = {Vertical, Horizontal}; Position: TYPE = DABasics.Position; <> << >> <> <> <> <> <> <> <> <> <> <> <> <> <> ArrayBase: TYPE = REF ArrayBaseRec; CreateBase: PROC [sizes: ArrayPosition] RETURNS [array: ArrayBase]; <> <> Fetch: PROC [array: ArrayBase, bit: ArrayPosition] RETURNS [value: BOOL]; Store: PROC [array: ArrayBase, bit: ArrayPosition, value: BOOL]; MasterToSlave: PROC [array: ArrayBase]; Relax: PROC [array: ArrayBase]; <> ArrayBaseRec: TYPE = RECORD [ id: CARD, h: SunRPC.Handle, c: SunRPCAuth.Conversation]; END.