<> <> <> <> DIRECTORY CD, CoreCreate, EUPadFrame; TestEUPadFrame: CEDAR PROGRAM IMPORTS CoreCreate, EUPadFrame = BEGIN OPEN EUPadFrame; CreateWholeChip: PROC [innerCt: CellType] RETURNS [cellType: CellType] = { pads: Pads _ NIL; pads _ AddPad[pads, "PadI-A", $In, 3 , ["toChip", "I-A"]]; pads _ AddPad[pads, "PhA", $Clk, 4, ["Clock", "phA"], ["nClock", "nPhA"]]; pads _ AddPad[pads, "PadI-B", $In, 6, ["toChip", "I-B"]]; pads _ AddPad[pads, "Vdd", $Vdd, 8]; pads _ AddPad[pads, "Gnd", $Gnd, 9]; pads _ AddPad[pads, "PhB", $Clk, 12, ["Clock", "phB"], ["nClock", "nPhB"]]; pads _ AddPad[pads, "PadGnd", $PadGnd, 13]; pads _ AddPad[pads, "PadI-C", $In, 15, ["toChip", "I-C"]]; pads _ AddPad[pads, "PadI-D", $IOTst, 19, ["toChip", "I-D"], ["fromChip", "Gnd"], ["enWA", "Gnd"], ["enWB", "Gnd"]]; pads _ AddPad[pads, NIL, $Logo, 23]; pads _ AddPad[pads, "PadOut", $Out, 24, ["fromChip", "Out"]]; pads _ AddPad[pads, "PadVdd", $PadVdd, 27]; cellType _ CreatePadFrame[ public: CoreCreate.Wires["PadI-A", "PhA", "PadI-B", "PhB", "PadI-C", "PadI-D", "PadOut", "PadVdd", "PadGnd", "Vdd", "Gnd"], onlyInternal: CoreCreate.Wires["nPhA", "nPhB", "phB", "phA", "I-A", "I-B", "I-C", "I-D", "Out"], name: "WholeChip", innerInstance: CoreCreate.Instance[innerCt], pads: pads, params: [nbPadsX: 7, nbPadsY: 7, horizLayer: "metal", vertLayer: "metal2", powerCellWidth: 6]]; }; END.