-- File: FSMTest - Created by SETAR 13-May-86 14:58:25

DIRECTORY
CD,
CDIO,
Core,
CoreClasses,
CoreProperties,
Rope,
RTTestUtil,
FSMTestOps;

FSMTest: CEDAR PROGRAM

IMPORTS CDIO, RTTestUtil, FSMTestOps
EXPORTS RTTestUtil, FSMTestOps =

BEGIN OPEN RTTestUtil;

CellInstance: TYPE = CoreClasses.CellInstance;

ct: PUBLIC FSMTestOps.CellTypeArray;

InitializeTypes: PROC [libDesign: CD.Design] = {
c1IV00BWires: Core.Wire ← CreateWire[LIST["I", "X", "Vdd", "Gnd"]];
c1AN02AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]];
c1NO02BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]];
c1NO03BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "IXC", "Vdd", "Gnd"]];
c1NA03AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "IXC", "X", "Vdd", "Gnd"]];
c1OR02AWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]];
c1NO04BWires: Core.Wire ← CreateWire[LIST["IXA", "IXB", "IXC", "IXD", "X", "Vdd", "Gnd"]];
ct[c1IV00B] ← CreateRecordCell["C1IV00B", c1IV00BWires, c1IV00BWires, NIL, NIL, libDesign];
ct[c1AN02A] ← CreateRecordCell["C1AN02A", c1AN02AWires, c1AN02AWires, NIL, NIL, libDesign];
ct[c1NO02B] ← CreateRecordCell["C1NO02B", c1NO02BWires, c1NO02BWires, NIL, NIL, libDesign];
ct[c1NO03B] ← CreateRecordCell["C1NO03B", c1NO03BWires, c1NO03BWires, NIL, NIL, libDesign];
ct[c1NA03A] ← CreateRecordCell["C1NA03A", c1NA03AWires, c1NA03AWires, NIL, NIL, libDesign];
ct[c1OR02A] ← CreateRecordCell["C1OR02A", c1OR02AWires, c1OR02AWires, NIL, NIL, libDesign];
ct[c1NO04B] ← CreateRecordCell["C1NO04B", c1NO04BWires, c1NO04BWires, NIL, NIL, libDesign];
};

CreateCore: PUBLIC PROC [libName: Rope.ROPE] RETURNS [Core.CellType] = BEGIN
libDesign: CD.Design ← CDIO.ReadDesign[libName, NIL, CDIO.GetWorkingDirectory[]];
instList: LIST OF CellInstance ← NIL;
FSMTest: Core.CellType;
pubWires: Core.Wire ← CreateWire[FSMTestOps.MakepubWires1[]];
internWires: Core.Wire ← RTTestUtil.UnionWire[pubWires, CreateWire[FSMTestOps.MakeinternWires1[]]];
InitializeTypes[libDesign];
instList ← AppendInstList[instList, FSMTestOps.MakeInsts2[internWires]];
FSMTest ← CreateRecordCell["FSMTest", pubWires, internWires, instList];
RETURN[FSMTest];
END;

END.