<> <> <> <> <> DIRECTORY Globals, Rope; Model: CEDAR DEFINITIONS = BEGIN OPEN Globals; ModelCmd: CmdProc; <> ParmCmd: CmdProc; <> TransistorCmd: CmdProc; < pairs to set the individual fields for that transistor type. If the transistor type isn't currently in the table, a new type is created.>> NameToIndex: PROC[name: Rope.ROPE] RETURNS [index: INT]; <> Delay: DelayProc; <> DelayProc: TYPE = PROC[stage: Stage, globalVars: GlobalVars]; <> maxFetTypes: INTEGER = 32; <> diffCPerArea, polyCPerArea, metalCPerArea: REF REAL; diffCPerPerim: REF REAL; diffR, polyR, metalR: REF REAL; <> vdd, vinv: REF REAL; <> maxSlopePoints: INTEGER = 10; -- Size of slope tables. ParmArray: TYPE = ARRAY[0..maxSlopePoints) OF REAL; TType: TYPE = REF TTypeRec; TTypeRec: TYPE = RECORD [ name: Rope.ROPE, <> strengthHi, strengthLo: INT, cPerArea, cPerWidth: REAL, <> rUp, rDown: REAL, <> <<>> <> <> <> on0, on1, onAlways: BOOLEAN, <> upESRatio, upREff, upOutES: REF ParmArray, downESRatio, downREff, downOutES: REF ParmArray ]; <> fetNEnh: INTEGER = 0; fetNEnhP: INTEGER = 1; fetNDep: INTEGER = 2; fetNLoad: INTEGER = 3; fetNSuper: INTEGER = 4; fetNChan: INTEGER = 5; fetPChan: INTEGER = 6; TypeTable: ARRAY[0..maxFetTypes) OF TType; <> rUpFactor, rDownFactor: REF REAL; END.