DIRECTORY CD, Core, CoreFrame, HashTable, PWC, PWRoute; CoreGlue: CEDAR DEFINITIONS = BEGIN RouteCheckPointWritten: SIGNAL[name: ROPE]; ROPE: TYPE = Core.ROPE; CellType: TYPE = Core.CellType; Glue: TYPE = REF GlueSpec; GlueSpec: TYPE = RECORD[ subClass: ROPE, tDir: PWRoute.HorV, params: PWRoute.RouterParams _ NIL, class: GlueClass _ fill, type: ARRAY CoreFrame.Side OF GlueSideType, cell: ARRAY CoreFrame.Side OF CellType _ ALL[NIL], data: REF _ NIL]; GlueSideType: TYPE = {cap, conn, pwr, ext, chan, sum, diff}; GlueClass: TYPE = {fill, ext, xlt, chan, pwr, sb, bad}; glueCellClass: Core.CellClass; CellProc: PROC[ subClass: ROPE _ NIL, name: ROPE _ NIL, l,r,b,t: GlueSideType _ cap, -- cap conn ext chan sum diff bCell,rCell,tCell,lCell: CellType _ NIL, tDir: PWRoute.HorV _ vertical, -- vertical horizontal tLayer: ROPE _ NIL, -- metal metal2 poly bLayer: ROPE _ NIL, xlate: BOOL _ FALSE, data: REF _ NIL ] -- metal2 poly metal RETURNS [new: CellType]; CellRouter: TYPE = PROC[frameCT: CellType] RETURNS[success: BOOL_TRUE]; FrameRouter: TYPE = PROC[frameCT: CellType] RETURNS[status: Status]; RouteSoft: FrameRouter; RouteHard: FrameRouter; Status: TYPE = {rejustify, progress, delayed, complete1, complete2}; MergePwrPins: PROC [ vgTemplate: CellType, pinTemplate: CellType, pinTemplateSide: CoreFrame.Side, routingLayerDes: ROPE _ NIL, minWidth: INT _ 0] RETURNS [cell: CellType _ NIL]; XferPins: PROC [ template: CellType, objSide: CoreFrame.Side, routingLayerDes: ROPE, minWidth: INT] RETURNS [cell: CellType _ NIL]; Node: TYPE = REF NodeRec; NodeRec: TYPE = RECORD[ name: ROPE, minX: INT, maxX: INT, type: CD.Layer, row: INT _ -1, -- non assigned clouds: LIST OF Node _ NIL, rocks: LIST OF Node _ NIL, top: LIST OF INT_NIL, bot: LIST OF INT_NIL ]; ThreeLevelRoute: PROC -- [ nodeTable: HashTable.Table, range, left, right, cellWidth, channels: INT ] RETURNS[cell: CellType]; ChanSideCell: PROC [side: CoreFrame.Side, list: LIST OF ROPE, layer: CD.Layer] RETURNS[cell: CellType]; SideObject: PROC [side: CoreFrame.Side, list: LIST OF PWC.NWMML, layer: CD.Layer, length: INT _ 0, sameLayerOnly: BOOL _ FALSE] RETURNS[cell: CD.Object]; -- nwmml.max => size END. ŠCoreGlue.mesa Copyright c 1985 by Xerox Corporation. All rights resersed. Last Edited by: Curry, August 14, 1986 0:19:40 am PDT Êü˜šœ ™ Jšœ<™