DIRECTORY GC, GCPrivate, GCCIG, Rope, RouteDiGraph, RTStructure; GCGlobalRouteImpl: CEDAR PROGRAM IMPORTS GCCIG, GCPrivate, Rope, RouteDiGraph, RTStructure EXPORTS GCPrivate = { DoInitialGlobalRoute: PUBLIC PROC [context: GC.Context] = { EachNet: RTStructure.EachNetAction ~ { connectionStrength: GCCIG.ConnectionStrength _ IF Rope.Equal[net.name, "Vdd"] OR Rope.Equal[net.name, "Gnd"] THEN power ELSE goodInternal; nodeSetList: GCCIG.NodeSetList _ GCCIG.InsertNet[cig, net, connectionStrength]; IF GCCIG.Length[nodeSetList] > 1 THEN GCCIG.ShortestPath[cig, nodeSetList, net]; GCCIG.RemoveNodes[cig, nodeSetList]; }; cig: GCCIG.Graph; GCPrivate.DestroyChannels[context]; GCPrivate.CreateChannels[context]; GCPrivate.AssignCoordinates[context]; IF context.topologicalOrder # NIL THEN RouteDiGraph.DestroyGraph[NARROW[context.topologicalOrder]]; context.topologicalOrder _ GCPrivate.FindTopologicalOrder[NARROW[context.topology]]; cig _ GCCIG.Create[context]; [] _ RTStructure.EnumerateNets[context.structure, EachNet]; GCPrivate.AssignCoordinates[context]; }; }. ΦGCGlobalRouteImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Bryan Preas, January 15, 1987 3:12:04 pm PST Determine strategic paths for the wiring among the cells. GCCIG.Destroy[cig]; Κ˜šœ™Jšœ Οmœ1™