DIRECTORY CD, CoreCreate, PW, PWCore, PWCoreRoute; PWCoreRouteTest: CEDAR PROGRAM IMPORTS CoreCreate, PW, PWCore = BEGIN OPEN PWCoreRoute; TestX: PROC RETURNS [channelCT: CellType] = { design: CD.Design _ PW.OpenDesign["PWCoreRouteTest"]; 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", "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[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 [public[0], public[1], public[2], public[3]], topOrRightWires: LIST[public[0], public[1], public[2], public[3]], trunkLayer: "metal", branchLayer: "metal2" ]]]; }; TestY: PROC RETURNS [channelCT: CellType] = { design: CD.Design _ PW.OpenDesign["PWCoreRouteTest"]; 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. ΪPWCoreRouteTest.mesa Copyright c 1985, 1986 by Xerox Corporation. All rights reversed. Bertrand Serlet April 16, 1986 11:13:23 pm PST maxSizeY: INT _ MAX [CD.InterestSize[left].y, CD.InterestSize[right].y]; extendedLeftCT: CellType _ CoreClasses.CreateIdentity[leftCT]; extendedLeft: CD.Object; PWCore.SetLayout[extendedLeftCT, $Stretch, $StretchData, NEW [StretchDataRec _ [inX: FALSE, size: maxSizeY, layer: "met"]]]; extendedLeft _ PWCore.Layout[extendedLeftCT]; ΚΓ˜– "Cedar" stylešœ™Jšœ Οmœ7™BIcode™.—J™JšΟk œžœ žœ˜2J˜šœžœžœ˜"Jšžœ žœ ˜!Jšžœžœ ˜˜Jš œ žœžœžœžœ™HJšœ>™>Jšœžœ™Jšœ9žœžœ"™|Jšœ-™-J˜šΟnœžœžœ˜-Jšœžœ žœ˜5Jšœžœ žœ˜.Jšœžœ žœ˜0Jšœ8˜8Jšœ:˜:Jšœ[˜[JšœP˜Pšœ˜Jšœ˜Jšœ˜šœ ž˜JšœJ˜JJšœJ˜JJšœ˜J˜—Jšœ˜—šœ4žœ˜KJšœžœ˜ Jšœžœ˜ Jšœžœ/˜FJšœžœ-˜BJšœ˜Jšœ˜Jšœ˜—J˜—J˜šŸœžœžœ˜-Jšœžœ žœ˜5Jšœžœ žœ˜/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šœ˜——…—ΰ }