DIRECTORY CD, CDCells, CDDirectory, CDIO, CDOps, Rope, Route, RouteUtil, TerminalIO; RouteTest: CEDAR PROGRAM IMPORTS CD, CDCells, CDDirectory, CDIO, CDOps, Rope, Route, RouteUtil, TerminalIO SHARES Route = BEGIN c1, c2, c3, d1, d2, d3: Route.Pin; c1cd, c2cd, c3cd, d1cd, d2cd, d3cd: CD.Instance; result: Route.RoutingResult; design: CD.Design; object: CD.Object; technology: CD.Technology _ CD.FetchTechnology[$cmos]; metal: Route.Layer _ CD.FetchLayer[technology, $met]; metal2: Route.Layer _ CD.FetchLayer[technology, $met2]; rules: Route.DesignRules _ Route.CreateDesignRules[$cmos, metal, metal2, horizontal]; routingArea: Route.RoutingArea _ Route.CreateRoutingArea["RouteTestA", rules]; Route.IncludeRoutingAreaSide[routingArea, bottom, [0, 0]]; Route.IncludeRoutingAreaSide[routingArea, top, [0, 0]]; c1cd _ RouteUtil.CreateCDPin["c1", [98, 0, 102, -4], metal2]; c1 _ Route.CreatePin[c1cd, bottom]; c2cd _ RouteUtil.CreateCDPin["c2", [134, 0, 138, 4], metal2]; c2 _ Route.CreatePin[c2cd, top]; c3cd _ RouteUtil.CreateCDPin["c3", [180, 0, 184, 4], metal2]; c3 _ Route.CreatePin[c3cd, bottom]; Route.IncludeNet[routingArea, "c", LIST[c1, c2, c3]]; d1cd _ RouteUtil.CreateCDPin["d1", [136, 0, 140, -4], metal2]; d1 _ Route.CreatePin[d1cd, bottom]; d2cd _ RouteUtil.CreateCDPin["d2", [100, 0, 104, 4], metal2]; d2 _ Route.CreatePin[d2cd, top]; d3cd _ RouteUtil.CreateCDPin["d3", [180, 0, 184, 4], metal2]; d3 _ Route.CreatePin[d3cd, top]; Route.IncludeNet[routingArea, "d", LIST[d1, d2, d3]]; result _ Route.ChannelRoute[routingArea, [[0, 0], [200, 0], [0, 30], [0,0]], [0, 0, 200, 30], full]; design _ CDOps.CreateDesign[technology]; object _ Route.RetrieveRouting[result, result.routingArea.name, NIL, NIL].object; [ ] _ CDCells.IncludeOb[design: design, ob: object]; IF CDIO.WriteDesign[design, result.routingArea.name] THEN BEGIN newCellName: Rope.ROPE _ CDDirectory.Name[object]; IF ~Rope.Equal[result.routingArea.name, newCellName] THEN TerminalIO.PutRope[Rope.Cat["cell name changed to: ", newCellName, "\n"]]; END ELSE TerminalIO.PutRope["Error: design not written\n"]; END. ΎRouteTestA.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reserved. Last Edited by: Preas, August 20, 1985 4:18:31 pm PDT Bryan Preas December 18, 1986 3:08:35 pm PST Κέ˜Jšœ™Jšœ Οmœ7™B™5Icode™,—J™šΟk œ˜ Jšžœžœ,˜J—J˜šœ žœž˜J˜Jšžœžœžœ+˜QJšžœ˜—˜Jšž˜Jšœ"˜"Jšœ0˜0Jšœ˜Jšœžœ˜Jšœžœ˜J˜Jšœ žœžœ˜6Jšœ5˜5Jšœ7˜7JšœU˜UJšœN˜NJšœ:˜:Jšœ7˜7Jšœ=˜=Jšœ#˜#Jšœ=˜=Jšœ ˜ Jšœ=˜=Jšœ#˜#Jšœ#žœ˜5Jšœ>˜>Jšœ#˜#Jšœ=˜=Jšœ ˜ Jšœ=˜=Jšœ ˜ Jšœ#žœ˜5Jšœd˜dJšœ(˜(Jšœ@žœžœ ˜QJšœ4˜4J˜šžœžœ/ž˜:Jšž˜Jšœžœ˜2šžœ3ž˜9JšœJ˜J—Jšž˜—šž˜J˜2J˜—Jšžœ˜—J˜J˜—…—2 Ν