<> <> <> <> <<>> DIRECTORY CD, Core, CoreBlock, CoreFrame, CoreName, IFUCoreDrive, PLAOps; IFUCoreCtl: CEDAR DEFINITIONS = BEGIN CellProc: PROC [section: Section, desc: PLADescription] RETURNS [cellType: Core.CellType]; -- ctlCellClass MakePLA: PROC [desc: PLADescription]; MakePLA1: PROC [desc: PLADescription]; MakePLA2: PROC [desc: PLADescription]; ctlCellClass: Core.CellClass; PLASection: TYPE = REF PLASectionRec; PLASectionRec: TYPE = RECORD [ desc: PLADescription _ NIL, section: Section _ complete ]; PLADescription: TYPE = REF PLADescriptionRec; PLADescriptionRec: TYPE = RECORD [ name: ROPE _ NIL, plaType: PLAType _ hot, plaPhs: PLAPhs _ ALL[unk], plaPhExt: ROPE _ NIL, ttt: PLAOps.PLA _ NIL, capSides: CoreBlock.Sides _ none, inSh: ROPE _ NIL, outSh: ROPE _ NIL, fire: ROPE _ NIL, fireV: ROPE _ NIL, nPreChg: ROPE _ NIL, xlatePublic: XlatePubSeq _ NIL, includeIns: BOOL _ TRUE, inDrs: Drives _ NIL, outDrs: Drives _ NIL, inDrCT: Core.CellType _ NIL, outDrCT: Core.CellType _ NIL, inSBCT: Core.CellType _ NIL, outBodyCT: Core.CellType _ NIL, plaInNames: LIST OF ROPE _ NIL, plaOutNames: LIST OF ROPE _ NIL, drSignalOrder: LIST OF ROPE _ NIL, termsPerHeader: INT _ 1000, smlToBigOut: XsFormSeq _ NIL, connSeq: REF ConnSeq _ NIL, nofAndCols: CARDINAL _ 0, nofOrCols: CARDINAL _ 0, nofTermCols: CARDINAL _ 1, fullWidthTerms: BOOL _ FALSE, valid: BOOL _ FALSE, data: REF _ NIL ]; Section: TYPE = {complete, outSec, outBody,outDr, inSec, inSB,inDr}; ROPE: TYPE = Core.ROPE; Ph: TYPE = CoreName.Ph; Dir: TYPE = IFUCoreDrive.Dir; RowType: TYPE = IFUCoreDrive.RowType; PLAType: TYPE = IFUCoreDrive.PLAType; Drives: TYPE = IFUCoreDrive.Drives; PLAPh: TYPE = {drIn, drInClk, plaIn, drOutClk, drOut}; PLAPhs: TYPE = ARRAY PLAPh OF Ph _ ALL[unk]; XsFormSeq: TYPE = REF XsFormSeqRec; XlatePubSeq: TYPE = REF XlatePubSeqRec; XsFormSeqRec: TYPE = RECORD[SEQUENCE size: CARDINAL OF INT]; XlatePubSeqRec: TYPE = RECORD[SEQUENCE size: CARDINAL OF REF PublicRefRec]; ConnSeq: TYPE = RECORD[SEQUENCE size: CARDINAL OF Connection]; PublicRefRec: TYPE = RECORD[dir: Dir, inverted: BOOL _ FALSE, index: INT _ -1]; Connection: TYPE = RECORD[ dr: REF IFUCoreDrive.DriveRec, index: INT, isOutput: BOOL, isLeftSide: BOOL ]; MakeHotPLA: PROC[desc: PLADescription]; MakePreChargedPLA: PROC[desc: PLADescription]; <> END.