DIRECTORY CD, CoreCreate, CoreOps, PW, PWCore, PWCoreRoute; TestPWCoreRoute: CEDAR PROGRAM IMPORTS CoreCreate, CoreOps, PW, PWCore = BEGIN OPEN PWCoreRoute; design: CD.Design _ PW.OpenDesign["TestPWCoreRoute"]; TestX: PROC RETURNS [channelCT: CellType] = { left: CD.Object _ PW.Get[design, "left.mask"]; right: CD.Object _ PW.Get[design, "right.mask"]; leftCT: CellType _ PWCore.FromLayoutWithoutPublic[left]; rightCT: CellType _ PWCore.FromLayoutWithoutPublic[right]; public: Wire _ CoreCreate.Wires["middlea", "through", "bar", "left", "higha", "highb"]; onlyInternal: Wire _ CoreCreate.Wires["middleb", "green", "red", "ring", "foo"]; channelCT _ CoreCreate.Cell[ public: public, onlyInternal: onlyInternal, instances: LIST [ CoreCreate.Instance[leftCT, ["righta", "middlea"], ["rightb", "middleb"]], CoreCreate.Instance[rightCT, ["righta", "middlea"], ["rightb", "middleb"]] ], name: "ChannelInX" ]; PWCore.SetLayout[channelCT, $Channel, $ChannelData, NEW [ChannelDataRec _ [ inX: TRUE, extend: TRUE, bottomOrLeftWires: LIST [CoreOps.FindWire[public, "middlea"], CoreOps.FindWire[public, "through"], CoreOps.FindWire[public, "highb"]], topOrRightWires: LIST[CoreOps.FindWire[public, "middlea"], CoreOps.FindWire[public, "through"], CoreOps.FindWire[public, "highb"]], trunkLayer: "metal", branchLayer: "metal2" ]]]; }; TestY: PROC RETURNS [channelCT: CellType] = { left: CD.Object _ PW.Get[design, "rleft.mask"]; right: CD.Object _ PW.Get[design, "rright.mask"]; leftCT: CellType _ PWCore.FromLayoutWithoutPublic[left]; rightCT: CellType _ PWCore.FromLayoutWithoutPublic[right]; public: Wire _ CoreCreate.Wires["middlea", "x", "y", "z", "bar", "left", "higha", "highb"]; onlyInternal: Wire _ CoreCreate.Wires["middleb", "green", "red", "ring", "foo"]; channelCT _ CoreCreate.Cell[ public: public, onlyInternal: onlyInternal, instances: LIST [ CoreCreate.Instance[rightCT, ["righta", "middlea"], ["rightb", "middleb"]], CoreCreate.Instance[leftCT, ["righta", "middlea"], ["rightb", "middleb"]] ], name: "ChannelInY" ]; PWCore.SetLayout[channelCT, $Channel, $ChannelData, NEW [ChannelDataRec _ [ inX: FALSE, extend: TRUE, extendTopOrRight: FALSE, bottomOrLeftWires: LIST [public[0], public[1], public[2], public[3]], topOrRightWires: LIST[public[0], public[1], public[2], public[3]], trunkLayer: "metal", branchLayer: "metal2" ]]]; }; END. ’TestPWCoreRoute.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reversed. Bertrand Serlet February 19, 1987 11:46:44 pm PST Κ|˜– "Cedar" stylešœ™Jšœ Οmœ7™BIcode™1—J™JšΟk œžœžœ˜;J˜šΟnœžœž˜Jšžœžœ ˜*Jšžœžœ ˜˜šœžœ žœ˜5J˜—šŸœžœžœ˜-Jšœžœ žœ˜.Jšœžœ žœ˜0Jšœ8˜8Jšœ:˜:JšœW˜WJšœP˜Pšœ˜Jšœ˜Jšœ˜šœ žœ˜JšœJ˜JJšœJ˜JJšœ˜J˜—Jšœ˜—šœ4žœ˜KJšœžœ˜ Jšœžœ˜ Jšœžœp˜‡Jšœžœn˜ƒJšœ˜Jšœ˜Jšœ˜—J˜—J˜šŸœžœžœ˜-Jšœžœ žœ˜/Jšœžœ žœ˜1Jšœ8˜8Jšœ:˜:Jšœ[˜[JšœP˜Pšœ˜Jšœ˜Jšœ˜šœ žœ˜JšœK˜KJšœI˜IJšœ˜J˜—Jšœ˜—šœ4žœ˜KJšœžœ˜ Jšœžœ˜ Jšœžœ˜Jšœžœ/˜FJšœžœ-˜BJšœ˜Jšœ˜Jšœ˜—J˜——J˜Jšžœ˜Jšœ˜——…— 6 D