RoseTest.cm
Copyright © 1985 by Xerox Corporation. All rights reserved.
Barth, January 9, 1986 5:40:16 pm PST
Bertrand Serlet March 14, 1986 4:24:59 pm PST
LoadCore
Run BitHacksImpl
Run -a PortsImpl
Run -a RosemaryImpl
Run -a SSIImpl
← &AndVdd ← 0;
← &AndGnd ← 1;
← &AndInput ← 2;
← &AndOutput ← 3;
← &ct ← SSI.And[2]
← Ports.InitTesterDrive[wire: &ct.public[&AndInput][0], initDrive: force]
← Ports.InitTesterDrive[wire: &ct.public[&AndInput][1], initDrive: force]
← Ports.InitTesterDrive[wire: &ct.public[&AndOutput], initDrive: none]
← Rosemary.SetFixedWire[&ct.public[&AndVdd], H]
← Rosemary.SetFixedWire[&ct.public[&AndGnd], L]
← &tp ← Ports.CreatePort[&ct.public, TRUE]
-- ← CoreOps.PrintCellType[&ct, ProcessProps.GetProp[$CommanderHandle].out]
-- ← &sim ← Rosemary.InstantiateCellType[&ct, &tp]
-- ← &sim ← Rosemary.InstantiateInstances[&ct, &tp, "JustAboveTransistors"]
← &sim ← Rosemary.InstantiateInstances[&ct, &tp]
← &bits ← RosemaryImpl.AllocateLevelSequence[1]
← &tp[&AndInput][0].b ← FALSE
← &tp[&AndInput][1].b ← FALSE
← Rosemary.Settle[&sim, NIL]
← &tp[&AndOutput].b -- FALSE
← Rosemary.GetWireValue[&sim, NIL, &ct.public[&AndOutput], &bits]
← &bits[0] -- L
← &tp[&AndInput][0].b ← TRUE
← &tp[&AndInput][1].b ← TRUE
← Rosemary.Settle[&sim, NIL]
← &tp[&AndOutput].b -- TRUE
← Rosemary.GetWireValue[&sim, NIL, &ct.public[&AndOutput], &bits]
← &bits[0] -- H
← &tp[&AndInput][0].b ← TRUE
← &tp[&AndInput][1].b ← FALSE
← Rosemary.Settle[&sim, NIL]
← &tp[&AndOutput].b -- FALSE
← Rosemary.GetWireValue[&sim, NIL, &ct.public[&AndOutput], &bits]
← &bits[0] -- L
-- ← Rosemary.GetWireValue[&sim, LIST[&ct.data[0]], &ct.data[0].type.data[0].actual[1], &bits]
-- ← &bits[0] -- H
← &tp[&AndInput][0].b ← FALSE
← &tp[&AndInput][1].b ← TRUE
← Rosemary.Settle[&sim, NIL]
← &tp[&AndOutput].b -- FALSE
← Rosemary.GetWireValue[&sim, NIL, &ct.public[&AndOutput], &bits]
← &bits[0] -- L
-- ← Rosemary.GetWireValue[&sim, LIST[&ct.data[0]], &ct.data[0].type.data[0].actual[1], &bits]
-- ← &bits[0] -- L