DIRECTORY CD, CDIO, Core, CoreClasses, CoreDirectory, CoreOps, CoreProperties, GC, PWCore, Rope, RTTestUtil; GCTestTinyCore: CEDAR PROGRAM IMPORTS CDIO, CoreDirectory, CoreOps, CoreProperties, GC, PWCore, RTTestUtil EXPORTS RTTestUtil = BEGIN debug: BOOLEAN _ FALSE; CreateCore: PUBLIC PROC [libName: Rope.ROPE] RETURNS [Core.CellType] = BEGIN coreLibrary: CoreDirectory.Library _ CoreDirectory.CreateLibrary[]; libDesign: CD.Design _ CDIO.ReadDesign[libName, NIL, CDIO.GetWorkingDirectory[]]; nandWires: Core.Wire _ RTTestUtil.CreateWire[LIST["I-A", "I-B", "X", "Vdd", "Gnd"]]; nand: Core.CellType _ RTTestUtil.CreateRecordCell["C2NA02A", nandWires, nandWires, NIL]; invWires: Core.Wire _ RTTestUtil.CreateWire[LIST["I", "X", "Vdd", "Gnd"]]; inverter: Core.CellType _ RTTestUtil.CreateRecordCell["C2IV00A", invWires, invWires, NIL]; pubWires: Core.Wire _ RTTestUtil.CreateWire[LIST["InA", "InB", "Out", "Vdd", "Gnd"]]; privateWires: Core.Wire _ RTTestUtil.CreateWire[LIST["NOut"]]; internWires: Core.Wire _ RTTestUtil.UnionWire[pubWires, privateWires]; nandInst: CoreClasses.CellInstance _ RTTestUtil.CreateInstance[LIST["InA", "InB", "NOut", "Vdd", "Gnd"], nand, "nandInst", internWires]; invInst: CoreClasses.CellInstance _ RTTestUtil.CreateInstance[LIST["NOut", "Out", "Vdd", "Gnd"], inverter, "invInst", internWires]; GCTest: Core.CellType _ RTTestUtil.CreateRecordCell["GCTest", pubWires, internWires, LIST[nandInst, invInst]]; CoreProperties.PutWireProp[CoreOps.FindWire[internWires, "InA"], GC.sideProp, GC.bottomSideValue]; CoreProperties.PutWireProp[CoreOps.FindWire[internWires, "InB"], GC.sideProp, GC.topSideValue]; CoreProperties.PutWireProp[CoreOps.FindWire[internWires, "Out"], GC.sideProp, GC.leftSideValue]; [] _ CoreDirectory.RegisterLibrary[coreLibrary, libName]; [] _ CoreDirectory.Insert[coreLibrary, "C2NA02A", nand, TRUE]; [] _ CoreDirectory.Insert[coreLibrary, "C2IV00A", inverter, TRUE]; PWCore.SetGet[nand, libDesign]; PWCore.SetGet[inverter, libDesign]; RETURN [GCTest]; END; END. œGCTestTinyCore.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Bryan Preas September 8, 1986 5:25:02 pm PDT Create a Core design Κλ˜Jšœ™šœ Οmœ1™JšœF˜FJšœ?žœE˜ˆJšœ>žœA˜ƒJšŸœOžœ˜nJšœAžœ žœ˜bJšœAžœ žœ˜_JšœAžœ žœ˜`Jšœ:˜:Jšœ8žœ˜>Jšœ<žœ˜BJšœ˜Jšœ#˜#Jšžœ ˜Jšžœ˜J˜—Jšžœ˜J˜——…—δ k