DIRECTORY CD, GC, CoreRouteFlat, Graphs0, Graphs0Path; GCCIG: CEDAR DEFINITIONS = BEGIN Graph: TYPE = REF GraphRec; GraphRec: TYPE = RECORD [ context: GC.Context _ NIL, graph: Graphs0.Graph _ NIL]; Node: TYPE = Graphs0.Node; NodeList: TYPE = Graphs0.NodeList; NodeSetList: TYPE = Graphs0Path.NodeSetList; Create: PROC[context: GC.Context] RETURNS[cig: Graph]; Destroy: PROC[cig: Graph]; UpdateCIGWeights: PROC [cig: GCCIG.Graph] ; ConnectionStrength: TYPE = {goodInternal, power, highImpedance, none}; InsertNet: PROC[ cig: Graph, net: CoreRouteFlat.Net, connectionStrength: ConnectionStrength _ goodInternal] RETURNS [nodeSetList: NodeSetList]; RemoveNodes: PROC[cig: Graph, nodeSetList: NodeSetList]; ShortestPath: PUBLIC PROC[cig: Graph, nodeSetList: NodeSetList, net: CoreRouteFlat.Net]; Check: PROC[cig: Graph]; Audit: PROC[cig: Graph]; Length: PROC[nodeSetList: NodeSetList] RETURNS [n: INT]; PaintShortestPath: PROC[cig: Graph, nodeSetList: NodeSetList] RETURNS [object: CD.Object]; PaintGraph: PROC[cig: Graph] RETURNS [object: CD.Object]; END. œGCCIG.mesa Copyright Σ 1986, 1987 by Xerox Corporation. All rights reserved. Last Edited by: Preas, January 15, 1987 3:48:05 pm PST Massoud Pedram May 6, 1988 6:50:24 pm PDT Don Curry December 3, 1987 1:41:52 pm PST Provides abstraction for channel intersection graphs Invalidates cig and removes circular references Updates CIG Arc Weights. Add the net to cig. connectionStrength indicates that connections through a cell may be used as part of the signal path. 1) highImpedance indicates that physical pins on a cell are connected internally bur these internal connections must not be used for carring net current; 2) power indicates that each physical pin should be connected by the net wiring; 3) goodInternal indicates that the internal connections may be used for carrying net current and that not all pins must be connected by net wiring. For example, you might set connectionStrength = power for power supply nets and connectionStrength = goodInternal for all aothers. Remove all additions from cig. Inverse of InsertNet Find shortest path among pins of nodeSetList Verify cig Verify that cig has no arcs with cost = 0 and ch = NIL count members of nodeList Κk˜šΟkœ™ JšœB™BJšœ3™6Icode™)Jšœ&™)—™Jšœ4™4—J˜š ˜ Jšœœ&˜,—J˜šœœ œ˜ J˜Jšœœœ ˜šœ œœ˜Jšœ œ œ˜Jšœœ˜—J˜J– "Cedar" stylešœœ˜J– "Cedar" stylešœ œ˜#J– "Cedar" stylešœ œ˜,J– "Cedar" style˜JšΟnœœ œ œ ˜6J˜šžœœ˜Jšœ/™/—J˜šžœœœ ˜+J™J™—Jšœœ.˜Fšž œœ˜Jšœ˜Jšœ˜šœ6˜6Jšœ˜$—Jšœό™ό—J˜šž œœ(˜9Jšœ3™3J™—šž œœœ?˜XJšœ,™,J™—šžœœ˜Jšœ ™ —J˜šžœœ ˜šœ6™6J™——šžœœœœ˜9J™J˜—šžœœ'œ œ ˜ZJ˜—šž œœ œ œ ˜9J˜—Jšœ˜——…—> E