<> <> <> <> DIRECTORY CD, CoreCreate, PadFrame, PWCore; TestPadFrame: CEDAR PROGRAM IMPORTS CoreCreate, PadFrame, PWCore = BEGIN OPEN CoreCreate; CreateWholeChip: PROC [innerCt: CellType] RETURNS [cellType: CellType] = { iL: CellInstances _ LIST [Instance[innerCt]]; iL _ PadFrame.AddPad[iL, "PadI-A", $In, 3 , ["toChip", "I-A"]]; iL _ PadFrame.AddPad[iL, "PhA", $Clk, 4, ["Clock", "phA"], ["nClock", "nPhA"]]; iL _ PadFrame.AddPad[iL, "PadI-B", $In, 6, ["toChip", "I-B"]]; iL _ PadFrame.AddPad[iL, "Vdd", $Vdd, 8]; iL _ PadFrame.AddPad[iL, "Gnd", $Gnd, 9]; iL _ PadFrame.AddPad[iL, "PhB", $Clk, 12, ["Clock", "phB"], ["nClock", "nPhB"]]; iL _ PadFrame.AddPad[iL, "PadGnd", $PadGnd, 13]; iL _ PadFrame.AddPad[iL, "PadI-C", $In, 15, ["toChip", "I-C"]]; iL _ PadFrame.AddPad[iL, "PadI-D", $IOTst, 19, ["toChip", "I-D"], ["fromChip", "Gnd"], ["enWA", "Gnd"], ["enWB", "Gnd"]]; iL _ PadFrame.AddPad[iL, NIL, $Logo, 23]; iL _ PadFrame.AddPad[iL, "PadOut", $Out, 24, ["fromChip", "Out"]]; iL _ PadFrame.AddPad[iL, "PadVdd", $PadVdd, 27]; cellType _ Cell[name: "WholeChip", public: Wires["PadI-A", "PhA", "PadI-B", "PhB", "PadI-C", "PadI-D", "PadOut", "PadVdd", "PadGnd", "Vdd", "Gnd"], onlyInternal: Wires["nPhA", "nPhB", "phB", "phA", "I-A", "I-B", "I-C", "I-D", "Out"], instances: iL]; PWCore.SetLayout[cellType, $PadFrame, PadFrame.padFrameParamsProp, NEW[PadFrame.PadFrameParametersRec _ [nbPadsX: 7, nbPadsY: 7, horizLayer: "met", vertLayer: "met2"]]]; }; END.