-- File: FSMPads - Created by SETAR 24-Jun-86 14:50:04 DIRECTORY Core, CoreClasses, CoreProperties, Rope, SCTestUtil, FSMPadsOps; FSMPads: CEDAR PROGRAM IMPORTS CoreProperties, SCTestUtil, FSMPadsOps EXPORTS SCTestUtil, FSMPadsOps = BEGIN OPEN SCTestUtil; CellInstance: TYPE = CoreClasses.CellInstance; initialized: BOOLEAN ← FALSE; ct: PUBLIC FSMPadsOps.CellTypeArray; InitializeTypes: PROC [] = { c2PD38AWires: Core.Wire ← CreateWire[LIST["I", "EN", "X", "Gnd", "Vdd", "PAD", ]]; c2PD37AWires: Core.Wire ← CreateWire[LIST["I", "EN", "X", "Gnd", "Vdd", "PAD", ]]; c2IV00BWires: Core.Wire ← CreateWire[LIST["I", "X", "Vdd", "Gnd"]]; c2AN02AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c2NO02BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c2NO03BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "IXC", "Vdd", "Gnd"]]; c2NA03AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "IXC", "X", "Vdd", "Gnd"]]; c2OR02AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c2NO04BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "IXC", "IXD", "X", "Vdd", "Gnd"]]; ct[c2PD38A] ← CreateRecordCell["C2PD38A", c2PD38AWires, c2PD38AWires, NIL]; ct[c2PD37A] ← CreateRecordCell["C2PD37A", c2PD37AWires, c2PD37AWires, NIL]; ct[c2IV00B] ← CreateRecordCell["C2IV00B", c2IV00BWires, c2IV00BWires, NIL]; ct[c2AN02A] ← CreateRecordCell["C2AN02A", c2AN02AWires, c2AN02AWires, NIL]; ct[c2NO02B] ← CreateRecordCell["C2NO02B", c2NO02BWires, c2NO02BWires, NIL]; ct[c2NO03B] ← CreateRecordCell["C2NO03B", c2NO03BWires, c2NO03BWires, NIL]; ct[c2NA03A] ← CreateRecordCell["C2NA03A", c2NA03AWires, c2NA03AWires, NIL]; ct[c2OR02A] ← CreateRecordCell["C2OR02A", c2OR02AWires, c2OR02AWires, NIL]; ct[c2NO04B] ← CreateRecordCell["C2NO04B", c2NO04BWires, c2NO04BWires, NIL]; }; CreateCoreForLogic: PUBLIC PROC [] RETURNS [Core.CellType] = BEGIN instList: LIST OF CellInstance ← NIL; FSMTEST: Core.CellType; pubWires: Core.Wire ← CreateWire[FSMPadsOps.MakepubWires1[]]; internWires: Core.Wire ← SCTestUtil.UnionWire[pubWires, CreateWire[FSMPadsOps.MakeinternWires1[]]]; IF NOT initialized THEN {InitializeTypes[]; initialized ← TRUE}; instList ← AppendInstList[instList, FSMPadsOps.MakeInsts2[internWires]]; FSMTEST ← CreateRecordCell["FSMTEST", pubWires, internWires, instList]; ct[fSMTEST] ← FSMTEST; RETURN[FSMTEST]; END; CreateCoreForPadFrame: PUBLIC PROC [] RETURNS [Core.CellType] = BEGIN instList: LIST OF CellInstance ← NIL; FSMPads: Core.CellType; internWires: Core.Wire ← CreateWire[FSMPadsOps.MakeinternWires3[]]; IF NOT initialized THEN {InitializeTypes[]; initialized ← TRUE}; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "Gnd", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst42", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "Vdd", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst41", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w20", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst40", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w19", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst39", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w18", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst38", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w17", "unconnected", "unconnected", "unconnected"], ct[c2PD38A], "c2PD38AInst37", internWires], instList]; instList ← CONS[CreateInstance[LIST["w35", "unconnected", "unconnected", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst16", internWires], instList]; instList ← CONS[CreateInstance[LIST["w33", "unconnected", "unconnected", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst15", internWires], instList]; instList ← CONS[CreateInstance[LIST["w36", "unconnected", "unconnected", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst14", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w27", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst13", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w29", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst9", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w21", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst7", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w32", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst6", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w24", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst5", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w25", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst4", internWires], instList]; instList ← CONS[CreateInstance[LIST["unconnected", "unconnected", "w26", "unconnected", "unconnected", "unconnected"], ct[c2PD37A], "c2PD37AInst3", internWires], instList]; instList ← CONS[CreateInstance[LIST["w33", "w17", "w18", "w19", "w20", "w21", "w32", "w29", "w35", "w36", "w24", "w25", "w26", "w27", "Vdd", "Gnd"], ct[fSMTEST], "fSMTESTInst2", internWires], instList]; FSMPads ← CreateRecordCell["FSMPads", NIL, internWires, instList]; CoreProperties.PutWireProp[internWires[12], $Power]; CoreProperties.PutWireProp[internWires[13], $Power]; RETURN[FSMPads]; END; END.