-- 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.