-- File: ECCLogic - Created by SETAR 21-May-86 10:58:40 DIRECTORY Core, CoreClasses, CoreProperties, Rope, SCTestUtil, ECCLogicOps; ECCLogic: CEDAR PROGRAM IMPORTS CoreProperties, SCTestUtil, ECCLogicOps EXPORTS SCTestUtil, ECCLogicOps = BEGIN OPEN SCTestUtil; CellInstance: TYPE = CoreClasses.CellInstance; ct: PUBLIC ECCLogicOps.CellTypeArray; InitializeTypes: PROC [] = { c1IV00BWires: Core.Wire _ CreateWire[LIST["I", "X", "Vdd", "Gnd"]]; c1LT01AWires: Core.Wire _ CreateWire[LIST["Q", "NQ", "D", "NCK", "Vdd", "Gnd"]]; c1XR01BWires: Core.Wire _ CreateWire[LIST["X", "I1XA", "I2XB", "Vdd", "Gnd"]]; c1IV00AWires: Core.Wire _ CreateWire[LIST["I", "X", "Vdd", "Gnd"]]; c1AN04AWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "IXC", "IXD", "Vdd", "Gnd"]]; c1NA02BWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c1NO02AWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c1NA04AWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "IXC", "IXD", "X", "Vdd", "Gnd"]]; c1AN02AWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c1NA02AWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; c1AN02BWires: Core.Wire _ CreateWire[LIST["IXA", "IXB", "X", "Vdd", "Gnd"]]; ct[c1IV00B] _ CreateRecordCell["C1IV00B", c1IV00BWires, c1IV00BWires, NIL]; ct[c1LT01A] _ CreateRecordCell["C1LT01A", c1LT01AWires, c1LT01AWires, NIL]; ct[c1XR01B] _ CreateRecordCell["C1XR01B", c1XR01BWires, c1XR01BWires, NIL]; ct[c1IV00A] _ CreateRecordCell["C1IV00A", c1IV00AWires, c1IV00AWires, NIL]; ct[c1AN04A] _ CreateRecordCell["C1AN04A", c1AN04AWires, c1AN04AWires, NIL]; ct[c1NA02B] _ CreateRecordCell["C1NA02B", c1NA02BWires, c1NA02BWires, NIL]; ct[c1NO02A] _ CreateRecordCell["C1NO02A", c1NO02AWires, c1NO02AWires, NIL]; ct[c1NA04A] _ CreateRecordCell["C1NA04A", c1NA04AWires, c1NA04AWires, NIL]; ct[c1AN02A] _ CreateRecordCell["C1AN02A", c1AN02AWires, c1AN02AWires, NIL]; ct[c1NA02A] _ CreateRecordCell["C1NA02A", c1NA02AWires, c1NA02AWires, NIL]; ct[c1AN02B] _ CreateRecordCell["C1AN02B", c1AN02BWires, c1AN02BWires, NIL]; }; CreateCore: PUBLIC PROC [] RETURNS [Core.CellType] = BEGIN instList: LIST OF CellInstance _ NIL; ECCLogic: Core.CellType; pubWires: Core.Wire _ CreateWire[ECCLogicOps.MakepubWires1[]]; internWires: Core.Wire _ SCTestUtil.UnionWire[pubWires, CreateWire[ECCLogicOps.MakeinternWires1[]]]; InitializeTypes[]; instList _ AppendInstList[instList, ECCLogicOps.MakeInsts2[internWires]]; instList _ AppendInstList[instList, ECCLogicOps.MakeInsts3[internWires]]; instList _ AppendInstList[instList, ECCLogicOps.MakeInsts4[internWires]]; instList _ AppendInstList[instList, ECCLogicOps.MakeInsts5[internWires]]; ECCLogic _ CreateRecordCell["ECCLogic", pubWires, internWires, instList]; CoreProperties.PutWireProp[internWires[762], $Power]; CoreProperties.PutWireProp[internWires[763], $Power]; RETURN[ECCLogic]; END; END.