DIRECTORY CD, CoreCreate, CoreOps, PW, PWCore, CoreRoute; TestCoreRoute: CEDAR PROGRAM IMPORTS CoreCreate, CoreOps, PW, PWCore = BEGIN OPEN CoreRoute; design: CD.Design _ PW.OpenDesign["TestCoreRoute"]; 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. ’TestCoreRoute.mesa Copyright Σ 1985, 1986, 1987 by Xerox Corporation. All rights reversed. Bertrand Serlet April 19, 1987 9:57:17 pm PDT Κw˜– "Cedar" stylešœ™JšœH™HIcode™-—J™JšΟk œœœ˜9J˜šΟn œœ˜Jšœœ ˜*Jšœœ ˜˜šœœ œ˜3J˜—šžœœœ˜-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šœ˜——…— . 7